В настоящее время у нас есть множество систем (Linux, Solarix, * BSD, HP-UX ...), на которых нам не разрешено ничего устанавливать в / (но у меня есть root-доступ. Это странно, я знаю). Но мы бы хотели запустить Puppet на всех из них. Итак, очевидная идея - установить Puppet со всеми предустановленными зависимостями в какое-то изолированное дерево, что-то вроде «тюрьмы», что позволит использовать зависимости от некоторого префикса и получить доступ к хост-системе. Большими преимуществами будут единообразное развертывание и обновления.
Одно из решений, которое пришло мне в голову, - развернуть Префикс Gentooи установите туда Puppet с помощью диспетчера пакетов. Однако для этого требуется много дополнительного места и ручная установка исправлений для каждой системы.
Может быть, есть более изящные и простые решения?
Значит, вы не можете ничего устанавливать, но можете использовать Puppet для изменения настроек конфигурации системы? Это кажется довольно произвольным правилом.
Вы действительно не найдете одного кроссплатформенного способа сделать это, это будет разные настройки в каждой системе.
Puppet Enterprise устанавливает все свои библиотеки в каталог / opt / puppet, чтобы избежать проблем с системным Ruby. Он добавит кеш и журналы в части / var, а файлы конфигурации агента - в / etc, но вы можете настроить все это в puppet.conf.