LINUX.ORG.RU
ФорумAdmin

Централизация конфигурации portage

 


1

2

Есть 10-15 гентовых серверов. У них есть некая (достаточно большая) доля общих настроек и пакетов. Сейчас эти общие вещи настраиваются через /etc/portage/sets/*, /etc/portage/package.* и так далее. Например, сет @base, в который входят нужные штуки в духе tcpdump и nfs-utils. Или опции в /etc/portage/make.conf, позволяющие нодам брать бинарные пакеты из примонтированного посредством NFS дерева Portage.

Но это плохо и некошерно, потому что надо делать на каждом отдельно взятом сервере. Навскидку приходят три идеи: использовать какой-нибудь saltstack, раздавать /etc/portage/profile через NFS, или все-же сделать отдельный профиль, основанный на каком-нибудь стандартном и прописать всё это туда.

Первый и второй варианты мне не нравятся тем, что /etc/portage/package.* и /etc/portage/profile всё-таки site-local, и хотелось бы их такими и оставить. Вариант с собственным профилем выглядит более разумно, но тут встает другой вопрос: по сути, я добавлю свои пакеты в @system. Не может ли это повлечь за собой что-нибудь неприятное?

Pinkbyte, ты у нас вроде имеешь большое количество гентовых серверов в одном месте. Поделись опытом.

Ответ на: комментарий от Chaser_Andrey

Он как раз и будет модифицировать /etc/portage/package.*, если я правильно понял описание. Учитывая, что Portage умеет централизованную конфигурацию сам, я хочу попробовать сохранить парадигму.

kirk_johnson ★☆ ()

Я таким никогда не занимался, но скажите, почему не сделать репозиторий (например, git-овый) прямо в /etc/portage ? Можно делать ветки, можно делать откат изменений конфигов и много чего ещё.

yura_ts ★★ ()
Последнее исправление: yura_ts (всего исправлений: 1)
Ответ на: комментарий от yura_ts

Потому что /etc/portage это site-local. Для глобальной существуют профили.

kirk_johnson ★☆ ()

Предположим, что на все сервера ты можешь подключить один и тот же оверлей, который будет обновляться: либо с Интернета, если сервера могут туда ходить, либо, в случае закрытой сети - из местного DVCS-репозитария(git, hg, whatever).

Далее. Общую конфигурацию - выносишь в профиль, который кладешь в этот оверлей. Остается локальная конфигурация в /etc/portage. Ей можешь управлять через любой оркерстратор(puppet, chef, ansible). Я предпочитаю ansible из-за того, что не надо ставить агента(а на серваках у меня настроена авторизация через LDAP, так что пользователь ansible из под которого всё шуршит там уже есть), но в твоей структуре он может быть не оптимальным - смотри сам.

Как-то так.

Pinkbyte ★★★★★ ()
5 июня 2015 г.

Для истории: Portage позволяет в профиле указать желаемый сет: @system или @profile.

kirk_johnson ★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.