Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Кроме того, просмотр и изменение вручную созданного пакета затруднительны. Если ваш коллега захочет исправить одну строчку настроек или просто разобраться в том, что же именно делает ваш пакет – ему придётся потратить куда больше времени, чем на чтение двух скриптов и просмотр каталога с файлами.
Безусловно, slack не может конкурировать с профессиональными пакетами наподобие IBM Tivoli Automation, но его простоту наверняка оценят администраторы ферм веб-серверов и Linux-кластеров, которым нужна максимально простая и надёжная автоматизация.
Название slack происходит от «Sysadmins' Lazy Auto-Configuration Kit» и не имеет отношения к дистрибутиву Linux Slackware.
Установка
Выберите сервер, который будет хранить файлы конфигураций – в терминологии slack он называется slack-мастер. Удобно завести для него псевдоним slack-master в DNS.
На slack-мастер установите rsync. Выделите отдельный каталог, например /var/slack, в котором будут храниться настройки каждого сервиса. Эти настройки slack называет ролями. К примеру, в начале статьи я установил на сервер три роли: ldapslave, kdcslave и ircserver. Подумайте, каким образом вы хотели бы получать файлы из этого каталога: по ssh, rsh или непосредственно по протоколу rsync. Если вы предпочитаете последний вариант, настройте модуль slack в /etc/rsyncd.conf.
[slack]
path = /var/slack
comment = my slack repo
На клиентах нужно установить slack. Почти во всех дистрибутивах есть соответствующий пакет, но и собрать из исходных кодов его совсем несложно. Архив с исходными кодами можно скачать на страничке проекта [1].
В файле конфигурации /etc/slack.conf достаточно отредактировать только переменную SOURCE, которая указывает, где находится репозиторий slack. Она заполняется согласно стандартному синтаксису rsync [2].
Например, если вы настроили модуль slack в rsyncd.conf, как описано выше, то правильная строка может выглядеть так:
SOURCE=slack-master::slack
или так:
SOURCE=slack-master:/var/slack
Остальные переменные можно оставить со значениями по умолчанию.
Slack-роль
В качестве примера сделаем slack-роль, которая будет устанавливать IRC-клиент irssi, добавлять пользователя ircbot и копировать стандартный файл конфигурации клиента irssi в домашний каталог этого пользователя. Роль безыскусно назовём ircbot.
Шаг 1. Строим иерархию файлов на сервере. Наш сервер называется slack-master, файлы находятся в /var/slack. Внутри /var/slack есть каталог roles, в нём каталог роли ircbot. Иными словами, на сервере у нас все файлы роли ircbot хранятся в папке /var/slack/roles/ircbot (см. рис. 1).