В предыдущей статье мы установили и настроили клиент ConfigMgr 2012 R2 на сервере Linux. Теперь посмотрим, как с помощью SCCM установить на сервере с ОС Linux пакет с произвольной программой или обновлением безопасности.
Клиентами System Center Configuration Manager на Linux/Unix платформах поддерживается следующий функционал:
- Установка и обновление программного обеспечения
- Установка патчей и обновлений безопасности ОС
- Выполнение нативных команд Linux/ UNIX, запуск локальных скриптов
- Отслеживание возвращаемого кода ответа
- Возможность установки патчей / ПО в определенное окно обслуживания (maintenance windows)
Попробуем установить на наш подопытный сервер библиотеку Parma Polyhedra Library (ppl). Скачайте и разместите пакет с необходимым RPM пакетом в каталог-источник (это может быть сетевой или локальный каталог на сервере SCCM). В нашем примере rpm файл будет называться ppl-0.10.2-11.el6.x86_64.rpm.
Перед созданием пакета отметим несколько важных моментов:
- При подключении к точке распространения (Distribution Point) клиент ConfigMgr использует учетную запись Network Access Account (учетная запись должна быть настроена предварительно). Пакет скачивается локально в кэш сервера Linux
- В настройках пакета нужно обязательно указать, что его содержимое должно быть скачано с DP и запущено локально (Download content from Distribution Point and run locally)
- Также в настройках пакета нужно указать Required (пакеты в режиме Available в среде Linux не поддерживаются).
- Права доступа на RPM файле в каталоге-источнике править не нужно.
- Нельзя назначить выполнение установки на пользователя (только на систему).
В консоли управления SCCM создаем обычный пакет (Create Package)
Нужно указать имя пакета и каталог, в котором хранится rpm-файл.
Тип пакета — Standard Program.
Укажем имя пакета и команду установки. В нашем примере команда для установки RPM пакета будет выглядеть так:
rpm -i ppl-0.10.2-11.el6.x86_64.rpm
Остальные настройки пакета оставляем по-умолчанию.
Не забудьте распространить пакет на нужные точки распространения (distribution points).После чего назначим выполнение этого пакета на коллекцию, содержащую наши сервера Linux.
Совет. Коллекцию SCCM, которая содержит все Linux сервера можно сформировать с помощью такого запроса:
Select SMS_R_System.ClientEdition from SMS_R_System where SMS_R_System.ClientEdition = [Device ID]
Для Unix and Linux Device ID – 11
Для Mac – 5
Или такого запроса, когда нужно собрать все системы с версией ОС Linux от определенного вендора:
select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Manufacturer = “Red Hat, Inc.”
Далее обязательно (!) нужно указать Required.
Укажем, что содержимое пакета должно быть скачано с DP и запущено локально (Download content from Distribution Point and run locally).
Большинство остальных опций, которые не относятся к среде Linux, будет игнорироваться.
Прежде, чем запустить установку пакета на Linux, проверим, что устанавливаемый rpm-пакет в целевой системе отсутствует. Проще всего эту проверку выполнить так:
rpm -qa | grep ppl-0.10.2-11.el6.x86_64
Обновим политики SCCM на клиенте:
/opt/microsoft/configmgr/bin/ccmexec -rs policy
И через некоторое время еще раз проверим, установлен ли пакет ppl.
rpm -qa | grep ppl-0.10.2-11.el6.x86_64
Как мы видим, пакет установился.
Проверяем в консоли отчетов об установке (Deployment Status), что установка пакета на Linux завершена успешно.
Аналогичным образом с помощью SCCM на системе с ОС Linux/UNIX можно установить обновления ОС или централизованно выполнить определённую команду и/или скрипт.
Ошибка в тексте
Для Unix and Linux Device ID – 11
Правильное значение 13
Странно… На момент написания статьи ClientEdition был 11. Сейчас в документации на самом деле пишут:
Android — 11
Серверы UNIX и Linux — 13
Полный список тут _https://technet.microsoft.com/ru-ru/library/gg712323.aspx