На работе у нас есть несколько рабочих станций Ubuntu Linux. Ищу хороший / надежный / быстрый способ установить набор пакетов сразу на все боксы. Что я собираюсь сделать прямо сейчас:
Кто-нибудь еще делал что-то подобное? Как вы к этому подошли?
Я уже использую NFS / NIS, поэтому не потеряю никаких пользовательских данных.
думаю кукольный могу вам в этом помочь. По сути, вы управляете группой рабочие станции вместо того серверы, но он должен работать точно так же. Таким образом вы можете создавать разные группы в зависимости от различий в оборудовании и т. Д.
Я бы предложил создать Репозиторий APT. Вы можете добавлять свои собственные пакеты в репозиторий и использовать cronjob для обновления пакетов с помощью apt-get один раз в неделю. Задание apt-get можно сделать автоматическим, и, поскольку репозиторий является вашим собственным, вы можете обновлять его или нет по своему желанию.
Все, что вам нужно сделать, это настроить репозиторий и настроить APT на всех машинах для его использования. Я бы рекомендовал cfengine настроить все системы; таким образом, вам не нужно посещать каждый из них, чтобы обновить APT на каждом из них.
Вы даже можете создать пакет со встроенной конфигурацией репозитория; Я бы рекомендовал это на самом деле. Затем, когда вы создаете новую среду, ваша локальная конфигурация APT просто ускользает.
Другой вариант, который вы могли бы рассмотреть, - это использование существующих процессов, таких как «yum update», для извлечения пакетов из репозитория, который вы запускаете, и принудительного обновления всех этих рабочих станций в определенное время. Все, что вам нужно сделать, это обновить главную рабочую станцию, отметить пакеты, которые необходимо распространить, и поместить их во внутренний репозиторий.
Вы можете передать это им всем, но большинство дистрибутивов Linux включают метод сценария процесса установки. Преимущество он спросит вас если возникает проблема, тогда как простое наведение на нее - нет.
В Fedora (среди прочего) вы можете создать сценарий так, чтобы все рабочие станции входили в систему с центральным источником управления / предупреждений, чтобы они проводили установку пакета автономно, но спрашивали, когда возникают различия и проблемы.
В качестве альтернативы, если у вас смешанные типы машин, сгруппируйте их MAC-адреса в группы настройки оборудования и используйте live CD для rsync и установите grub, в зависимости от настройки MAC / оборудования.
Тонны подходов действительно. Учебники по безголовые установки предоставит отличные идеи с экранами или без них.
Мне трудно поверить, что никто не упомянул Redhat Spacewalk.
Это бесплатный эквивалент спутниковой системы Redhat Network с открытым исходным кодом. Он позволяет вам управлять всей инфраструктурой установок CentOS, Fedora или Scientific Linux. По сути, он предназначен для того, чем вы хотите заниматься.
Конечно, вы используете Ubuntu, а не дистрибутивы, производные от Redhat. К счастью, в мире Ubuntu есть то, что вы ищете. Пейзаж. Он поставляется бесплатно с контрактом на поддержку или стоит 150 долларов за узел. Дорого, но это компромисс.
Если вы не выберете Landscape (или перейдете в RH для выхода в открытый космос), то Puppet / CFengine может быть вашим лучшим выбором.
ssh в каждый ящик и запустите «apt-get install any».
подумайте о том, чтобы все клиенты доверяли вашему общедоступному ключу ssh от вашего хоста администрирования, поэтому вам не нужно для этого указывать пароль.
Если вы используете дистрибутив на основе Debian, такой как Ubuntu, обратите внимание на предварительную загрузку:
Предварительная версия DebianInstaller
Это позволяет вам указать практически все, что вы настраиваете во время установки, например, сеть, apt, пакеты и т. Д. При загрузке установочного компакт-диска добавьте:
preseed/url=http://blah/preseed.cfg
в меню загрузки ядра, и он будет использовать вашу предварительную конфигурацию для выполнения установки.
Раньше я был администратором в своей компьютерной лаборатории «Электротехника», насчитывающей около 20 компьютеров, все с Ubuntu. Мне нравилось всегда использовать последнюю версию Ubuntu, как только она была выпущена, поэтому я много обновлялся.
Компьютерная лаборатория была устроена так, что у меня был один мастер-блок Debian (редко обновлялся / обновлялся), который я использовал для размещения веб-страницы студенческой ветви, управления учетными записями пользователей (с LDAP, позволяя каждому пользователю сидеть в любом компьютер и войдите в систему с доступной его / ее домашней папкой), запустив сценарии обслуживания и т. д.
Метод, который я использовал для обновления (который, на мой взгляд, несколько грубый), заключался в записи компакт-диска с последней версией, когда она была выпущена, и вручную помещением их в приводы, перезагрузкой и прохождением обычной процедуры установки. Когда установка была завершена, я скопировал открытый ключ RSA, который я сгенерировал (один раз), на хост (в папку /root/.ssh/), тем самым предоставив блоку Debian контроль над блоком хоста. Итак, в главном ящике у меня был скрипт python (это, конечно, может быть любой язык сценариев), который доводил хост-компьютер до нужной скорости с моей желаемой конфигурацией, копируя файлы конфигурации в поле хоста (например, файлы конфигурации LDAP, предварительно созданные файлы конфигурации gnome и т. д.), apt-get необходимые пакеты (длительный процесс), их настройка (путем копирования их файлов конфигурации и файлов пунктов меню в нужные места) и иная установка окна хоста.
Этот процесс, хотя и грубый и бесхитростный, требовал моего присутствия только для фактической загрузки окна «подлежащее обновлению» с установочного компакт-диска ubuntu и прохождения нескольких экранов настройки для ubuntu, настройки файла / etc / network / interfaces для доступ к сети, а затем запуск сценария в главном блоке, тогда я мог бы заняться чем-нибудь еще.
Если вам нужна дополнительная информация, опубликуйте более конкретно, что вы хотите автоматизировать, будь то фактический процесс настройки новой версии текущего запущенного дистрибутива Linux или настройка программ, требующих сборки исходных файлов или чего-то подобного (потому что я также использовался для создания моих собственных пакетов для таких программ, как Eclipse (который плохо работает с Ubuntu прямо из диспетчера пакетов), XCircuit (который в лучшем случае «глючит» из репозитория пакетов, Matlab (который требует перфорации компакт-диска -ключ и другое) ...
Надеюсь, это поможет! знак равно