18. Управление клиентскими машинами

Введение

Одной из основных задач дистрибутивов Calculate Linux - упростить задачи администрирования большого количества систем. В настоящем руководстве речь пойдет о клиентских машинах - Calculate Linux Desktop, введенных в домен CDS.

Сетевой диск «remote»

Основные ресурсы системы вынесены в директорию /var/calculate/remote. Здесь можно увидеть директории:
  • assemble - дополнительные ресурсы для сборки системы
  • distfiles - исходники программ
  • linux - дистрибутивы
  • packages - бинарные пакеты программ
  • snapshots - архивы портежей
  • stages - stage3 образы для компиляции системы
  • templates - пользовательские шаблоны

При вводе Calculate Linux Desktop в домен Calculate Directory Server, директория /var/calculate/remote монтируется при помощи сетевой файловой системы cifs с сервера. Обратите внимание, директория монтируется пользователем "client".

Шаблоны установки

Все дистрибутивы Calculate Linux для настройки системы используют шаблоны. Это достаточно простой и эффективный прием для изменения настроек системы под свои нужды. Пользовательские шаблоны расположены в директории /var/calculate/remote/templates. Используя общий ресурс, вы можете менять настройки на всех машинах, либо выборочно, применяя в названии шаблона например сетевое имя машины, либо для всех машин.

Выполнение команд на стороне клиента

Может возникнуть ситуация, когда вам понадобится выполнить определенные действия на всех машинах локальной сети. Например вы можете захотеть узнать кто работает за системой, как долго работает каждая машина без перезагрузки (uptime), сколько пользователей одновременно зашли в сеанс, не было ли ошибок при инициализации графической сессии и т.д. Для этого вы можете использовать открытый ключ, сгенерированный на сервере и размещенный на клиентских машинах в директории /root. В этом случае вы получаете полный доступ из скрипта на машины клиентов.

Создание открытого ключа описано в статье Резервное копирование. Не забывайте о шаблонах, при помощи которых можно записывать открытый ключ на компьютеры пользователей.

Вы можете написать скрипт сканирования сети, выявляющий работающие Linux клиенты. Попробуйте использовать следующую команду для поиска:

LANG=C nmap -p111 -n -PS111 192.168.0.0/24

Выполнить удаленно команду на клиенте можно при помощи следующей команды:

ssh -o 'StrictHostKeyChecking=no' root@HOST EXEC

Где HOST - сетевое имя либо IP адрес машины, EXEC - команда.

Обновления из бинарных пакетов

У менеджера пакетов emerge есть замечательная возможность создавать бинарные архивы собираемых программ и устанавливать из них пакеты. Что радует, для установки бинарных программ вовсе не обязательно иметь определенную версию портежей. Фактически вы можете обновлять портежи только на одном клиенте, предоставив ему доступ к записи в директорию /var/calculate/remote/packages.

Для разделения пакетов собираемых в разных системах с разными архитектурами, Calculate Linux модифицирует переменную PKGDIR в профиле дистрибутива.

Для сборки бинарного пакета выполните:

emerge --buildpkg PACKAGE

где PACKAGE имя пакета.

Установить пакет, можно указав его полное имя с версией, используя флаг "--usepkgonly". Обновлять портежи на каждой клиентской машине при этом вовсе не обязательно.

Удобно использовать оба параметра в одной команде:

emerge -bk PACKAGE

В этом случае пакет будет скомпилирован только при отсутствии бинарного пакета.

Спасибо!