Установка программного обеспечения средствами групповой политики. Часть 1
Установка программного обеспечения средствами групповой политики. Часть 1
В каждой организации, перед пользователями разных отделов встает необходимость в использовании различного программного обеспечения, как от корпорации Microsoft (например, продукты Microsoft Office), так и от сторонних производителей программного обеспечения. Некоторые системные администраторы предпочитают ходить по рабочим местам своих пользователей и устанавливать программные продукты вручную. Этот метод нельзя считать удачным, так как в таком случае системному администратору понадобиться потратить не один день, чтобы установить программные продукты всем пользователям в организации, которая насчитывает даже 50 человек, не говоря уже об организациях, где работают сотни, а то и тысячи пользователей. В ИТ-среде, для развертывания автоматизации программного обеспечения в Windows-системах существует несколько решений. Такие решения можно найти как у сторонних производителей программного обеспечения, так и у корпорации Microsoft. К продуктам, предназначенным для развертывания программного обеспечения, созданным компанией Microsoft можно отнести такие продукты как System Center Configuration Manager (MS SCCM), ранее известный как Microsoft Systems Management Server (SMS), его бюджетный вариант System Center Essentials, а также System Center Updates Publisher. Если же вы не планируете затратить дополнительные расходы на приобретение комплексных решений, предназначенных для развертывания и инвентаризации операционных систем и программного обеспечения, вы можете воспользоваться функционалом групповой политики. Если в сети вашей организации все пользователи и компьютеры входят в домен Active Directory, у вас уже не осталось рабочих мест, работающих под операционными системами Windows 9х или Windows NT, то это решение, скорее всего, вам подойдет. Функционал групповой политики предоставляет администраторам простой и удобный пользовательский интерфейс, предназначенный для установки, обновления и удаления программного обеспечения. Не так давно, в одной из статей цикла по структуре групповой политики, рассматривался процесс публикации программного обеспечения, реализуемый средствами расширения клиентской стороны «Установка программ». В этой статье вы узнаете о том, как работать с этим расширением CSE.
Первое знакомство с узлом «Установка программ»
Перед тем как начать распространять установочные пакеты программного обеспечения на клиентские компьютеры, следует немного разобраться с узлом оснастки «Редактор управления групповой политикой», предоставляющим такую возможность. Чтобы перейти к расширению CSE «Установка программ», на контроллере домена, в оснастке «Управление групповой политикой» создайте новый объект GPO, перейдите к оснастке «Редактор управления групповой политикой», выбрав команду «Изменить» контекстного меню, созданного вами объекта групповой политики и в дереве консоли отобразившейся оснастки, разверните узел «Конфигурация программ». В данном узле вы найдете только одно расширение клиентской стороны «Установка программ», для которого в панели сведений по умолчанию нет ни одного параметра политики. Для этого расширения клиентской стороны вы можете задавать настройки, которые будут считаться предпочтительными при создании новых инсталляционных пакетов программного обеспечения. Выделите узел «Установка программ», нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Свойства». В отобразившемся диалоговом окне свойств узла установки программ, вы можете задавать настройки параметров установки программного обеспечения по умолчанию на следующих четырех вкладках:
- Общие. Расширение клиентской стороны «Установка программ» предоставляет возможность развертывания программного обеспечения для пользователей или компьютеров путем публикации или назначения. Так как не на каждом пользовательском компьютере можно найти инсталляционные пакеты программного обеспечения, перед развертыванием приложений необходимо скопировать инсталляционный пакет в общедоступное сетевое размещение, причем, доступ к этому ресурсу должен быть предоставлен не только пользователям, но и компьютерам, для которых будут устанавливаться приложения. Соответственно, если программное обеспечение будет устанавливаться для всех пользователей на конкретном компьютере, то вам следует предоставить доступ для чтения для учетной записи компьютера, а если приложения будут распространяться на пользователей, то для общего ресурса следует указать доступ для чтения пользователям. Если вы хотите, чтобы при создании новых инсталляционных пакетов у вас всегда было установлено определенное расположение, на вкладке «Общие» диалогового окна свойств узла «Установка программ», укажите путь к сетевому ресурсу в текстовом поле «Расположение пакетов по умолчанию». Помимо установки расположения по умолчанию, вы можете указать при помощи параметров пользовательского интерфейса способ добавления новых пакетов программного обеспечения. Вы можете принудительно указать публикацию или назначение программного обеспечения, выбрать особый метод установки, позволяющий указать публикацию или назначение с доступной настройкой дополнительных свойств инсталляционного пакета или выбрать опцию «Открывать диалоговое окно «Развертывание программ»», предназначенную для выбора метода добавления новых программных пакетов в ручном режиме. Еще на текущей вкладке вы можете указать пользовательский интерфейс, который будет доступен при установке программного обеспечения пользователям. На этом этапе установим расположение инсталляционных пакетов, а остальные опции оставим без изменений. Данная вкладка диалогового окна свойств расширения CSE «Установка программ» отображена ниже:
Рис. 1. Вкладка «Общие» диалогового окна свойств узла «Установка программ»
Рис. 2. Вкладка «Дополнительно» диалогового окна свойств узла «Установка программ»
Рис. 3. Вкладка «Расширения файлов» диалогового окна свойств узла «Установка программ»
Рис. 4. Вкладка «Категории» диалогового окна свойств узла «Установка программ»
Публиковать или назначать?
Как вы знаете, функционал политик расширения клиентской стороны групповой политики «Установка программ» предусматривает два варианта развертывания программного обеспечения для пользователей и компьютеров. При создании инсталляционных пакетов, развертываемых при помощи расширения клиентской стороны «Установка программ» групповой политики вопрос, связанный с тем, нужно ли назначать или публиковать приложение возникает чаще всего. Руководствоваться выбором опции развертывания программного обеспечения следует, исходя из следующих соображений:
- будет ли программой пользоваться один пользователь, независимо от компьютера, на котором он выполняет вход или будут ею пользоваться несколько сотрудников на одной рабочей станции;
- должно ли приложение установиться автоматически или дать возможность пользователю установить эту программу при необходимости;
- должны ли пользователи иметь возможность удалять развернутое приложение;
- есть ли необходимость в создании установочного файла низкоуровневого пакета приложения.
Прежде всего, перед тем как создавать политики распространения программного обеспечения вам нужно определить, будет ли приложение устанавливаться для компьютера или для пользователя, который может выполнить вход в домен с любого компьютера в организации. Например, если определенной программе нужен доступ к системному реестру без повышения пользовательских полномочий, ее целесообразно устанавливать в папку %USERPROFILE%, другими словами, устанавливать для пользователя. Некоторые программы, такие как Microsoft Office устанавливаются для всех пользователей на компьютере, соответственно, такой программный продукт нужно устанавливать для компьютера. На этом этапе можно уже отчасти определиться, какую опцию развертывания программного обеспечение следует выбрать, так как публиковать программы можно только для пользователя, а назначать программы можно как для компьютера, так и для пользователя. Другими словами, опубликованные приложения пользователи могут установить по своему желанию, а назначенные программные продукты считаются обязательными и устанавливаются самостоятельно.
Назначенные программы для компьютера устанавливаются при следующем запуске компьютера, а приложения, назначаемые для пользователей, будут доступны для установки в виде ярлыка на рабочем столе и в меню «Пуск» при следующем выполнении входа пользователя в систему. То есть, при назначении приложения обновляются параметры системного реестра на пользовательском компьютере, а также создаются ярлыки на рабочем столе и в меню «Пуск». К основному преимуществу назначения программного обеспечения для компьютера также можно отнести тот факт, что от пользователя не требуется никаких действий, то есть, пользователь выполнил вход в систему, программа уже установлена и ее можно запустить, воспользовавшись ярлыком на рабочем столе. В случае с публикацией приложения, приложение автоматически не устанавливается и ярлык для данного приложения невозможно будет найти на рабочем столе или в меню «Пуск». Его установку можно настроить при открытии пользователем программы из окна «Программы и компоненты», а также можно указать настройки для установки программного обеспечения при попытке открытия файла с расширением, сопоставленным с устанавливаемой программой.
Также стоит обратить внимание на то, что если вам нужно предоставить возможность пользователю удалить программу из своего компьютера, вам следует или опубликовать такое приложение или назначить его для пользователя. Причем, в случае с опубликованным приложением, пользователь его сможет установить повторно из панели управления, а в случае с назначением, программа, доступная для установки будет отображена на рабочем столе в виде ярлыка, а также в меню «Пуск». Последний момент, который следует учесть перед выбором опции развертывания приложений – это поддержка форматов установочных файлов. Назначенные приложения поддерживают только формат установщика Windows Installer, то есть, если перед вами встанет необходимость автоматизации установки низкоуровневых пакетов приложений zap, такое программное обеспечение вам придется только опубликовывать.
Тихая установка приложений (silent install)
Тихая установка — это такой процес, при котором вы тихо-мирно сидите и смотрите на экран, где без вашего участия происходит процесс установки ПО, при условии, что его вообще видно. При этом установщик не беспокоит вас вопросами типа Вы согласны с лицензионным соглашением? . Параметры для установки используются по-умолчанию. т.е. те, которые предлагает установщик при установке ПО обычным способом.
К минусам тихой установки можно отнести всякие панели в обозревателях и ярыки типа E-Bay на рабочем столе, поскольку чаще всего подобные бонусы включены в установку по-умолчанию. Но это скорее исключение, хотя и не редкое. Подробно о тихой установке читайте в этой статье.
На самом деле тихая установка — это очень удобная процедура, которая экономит время и упрощает жизнь системного администратора. Я, например, использую режим silent install после чистой установки ОС.
Режим тихой установки включается при помощи параметров или (как их ещё называют) ключей. Если вы не знаете, что это такое, можете восполнить пробел в знаниях при помощи этой статьи: BAT файлы. Запуск процедуры можно осуществить несколькими способами:
- Из командной строки, используя параметры.
- Аналогично через bat-файл (com-файл).
- Через SFX-архив с файлом конфигурации.
Ключей достаточно много. Какой именно ключ нужно использовать зависит от установщика. Т.е. любая программа, говоря простым языком, это папка с файлами, а запаковывает всё это добро в один файл установки специальный сборщик (система создания установщиков ПО). И вот от того, какой сборщик использовался, зависит — какой ключ будет вызывать режим тихой установки. Наиболее известные системы создания установщиков:
- Install Shield
- WISE Installer
- NSIS
- Inno Setup
Подробнее о ССИ и их ключах можно посмотреть тут. Также можно попробовать найти нужный ключ с помощью специального ПО — Universal Silent Switch Finder или почитать документацию на сайте разработчиков той программы, ключи к которой вы ищите.
Во время экспериментов с тихой установкой мне встречались следующие параметры запуска режима тихой установки:
Ключи для отмены перезагрузки:
Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (Home) версии по заявлениям разработчиков тихой установки нет. Однако, если вы в курсе как работает инсталятор InstallShield , вы поймете, что это утверждение не соответствует действительности, поскольку этот инсталятор сам по себе поддерживает ключ тихой установки /S . А значит все продукты, выполненные на его базе — тоже. И Avast Home не исключение.
Для запуска тихой установки архиватора 7Zip (сборщик NSIS) нужно запустить установщик с ключом /S . Положите установщик 7Zip (7z.exe) в корень диска С. Затем откройте меню Пуск › Выполнить (или + R ) и введите в форму следующую команду:
Архиватор установится без диалоговых окон и признаков внешней активности.
Однако случается что установщик собран нестандартно и ключей для запуска тихой установки у него просто нет. К таким исключениям относится Avira Antivir. По-тихому можно только распаковать содержимое установщика во временную директорию (минус одно окно), а дальше всё. В этом случае приходится создавать специальные самораспаковывающиеся архивы с файлами инструкций внутри. Тут дело обстоит немного сложнее.
Тихая установка с помощью sfx-архивов
Выше я упомянул о случаях, когда вариант с ключами может не работать. Режим тихой установки может быть просто не предусмотрен разработчиком. В этом случае достаточно часто можно выйти из положения, используя sfx-архивы. Sfx-архив – это само-распаковывающийся архив.
Одно из его достоинств в том, что для его распаковки не нужен архиватор. К тому же с помощью него можно существенно расширить возможности тихой установки, да и возможности установки ПО вообще.
Например, сразу после распаковки sfx-архив позволяет запустить один или несколько распакованных файлов, удалить файлы после выполнения операций и много чего ещё. В этих операциях принимают участие конфигурационные файлы, содержащие команды (например, BAT файлы).
При помощи команд можно имитировать процесс тихой установки. Многие установщики, в том числе и упомянутый в прошлой статье Avira, могут работать с файлами инструкций (подхватывать их), при условии, что инструкция находится в том же каталоге, что и установщик. Подробнее об инструкциях (командах, указывающихся в конфигах) можно узнать на сайте разработчика программы или на соответствующих форумах.
Чтобы в общих чертах представить конфигурационный файл (для тех, кто не в курсе) ниже приведён пример такого файла для программы Firefox Portable
Стоит отметить, что возможности и режимы работы программ со временем могут меняться. Firefox Portable может перестать поддерживать ini-файлы, а будущие версии инсталятора Avira – понимать и подхватывать файлы инструкций. Поэтому при экспериментах стоит ознакомиться с актуальной информацией о возможностях программ, которые вы планируете использовать.
Как sfx-архив может помочь процессу тихой установки, я думаю, мы разобрались. Теперь настало время перейти к практической части. Для создания sfx-архивов я пользуюсь доработанным модулем архиватора 7Zip. Весь процесс создания sfx-архива и запуска при помощи него режима тихой установки описан в статье Олега Щербакова (разработчика модуля). Я же очень кратко перескажу написанное в ней, пояснив пару моментов.
Сразу отмечу, что цель примера — запаковать установщик программы в sfx-архив таким образом, чтобы он после распаковки автоматически начинал устанавливаться по-тихому. В данной статье в качестве подопытного будет выступать установщик архиватора 7Zip (7z465.exe), хотя можно использовать любой другой, главное знать ключ тихой установки. У установщика 7Zip это ключ /S . Итак, для исполнения задуманного нам понадобится:
- Модуль sfх Олега Щербакова.
- Архиватор 7Zip . Им мы будем запаковывать установщик программы в архив формата «.7z». Архиватор, понятное дело, надо установить в систему.
- Установщик программы (как я отметил выше, в примере я использую 7z465.exe).
- Архив .7z , который мы получим, запаковав установщик программы архиватором 7Zip.
- Конфигурационный файл config.txt, в котором будут содержаться иструкции «поведения» sfx-архива при распаковке, т.е. в данном примере в нём будет содержаться команда на запуск тихой установки.
Заклинание для создания sfx-архива (вводится в консоли).
Для удобства я положил все ингредиенты в один архив, который вы можете скачать по этой ссылке. Также, если скачать вот эту программу, можно поменять иконку архива (как это сделать читайте тут).
Обратите внимание, кодировка файла конфигурации config.txt должна быть UTF-8.
Итак, получаем после скачивания и распаковки папку со всем этим добром, далее по списку:
- Устанавливаем архиватор 7zip (лежит в папке).
- Запаковываем подопытного 7z465.exe (лежит в папке) в 7z-архив. Получаем на выходе файл 7z465.7z.
- Открываем консоль (Пуск › Выполнить — cmd) и переходим в папку с файлами: cd C:files (пример для папки «files» на диске «С»).
- Запускаем в консоли заклинание:
- COPY /b 7zsd.sfx + config.txt + 7z465.7z 7Zip.exe
- 7zsd.sfx — имя модуля sfx.
- config.txt — имя файла конфигурации.
- 7z465.7z — имя запакованного установщика 7z465.exe.
- 7Zip.exe — имя sfx-архива на выходе.
В результате получаем sfx-архив 7Zip.exe, который представляет собой исполняемый файл или самораспаковывающийся архив, внутри которого содержится инструкция config.txt. Содержание инструкции следующее:
- ;!@Install@!UTF-8!
;!@InstallEnd@! – строки начала и конца файла инструкции. Это комментарии, их можно удалить. А вот остальные две нужны обязательно. - GUIMode=»2″ – режим распаковки архива без оповещений (по-тихому).
- RunProgram=»7z465.exe /S» – строка инструкции, в которую необходимо вносить изменения в зависимости от того, какой установщик вы используете. В строке прописывается имя установщика, который запаковывается в 7z-архив и который требуется установить по-тихому + ключ тихой установки.
На этом всё. Ознакомившись со статьями Олега (ссылки выше), можно создать различные архивы, выполняющие абсолютно разные задачи. Удачных экспериментов!
Установка программ Ubuntu/Debian с помощью пакетного менеджера
Одна из самых сложных задач, возникающих в процессе установки Unix-программ — отслеживание зависимостей.
Любая более-менее сложная программа в своей работе использует возможности, предоставляемые другими модулями, системными библиотеками и т.д. Таким образом, появляется зависимость — если мы хотим установить программу «А», которая при работе использует библиотеки программы «Б», сначала необходимо установить программу «Б» (у которой, в свою очередь, могут быть свои зависимости). Таким образом, чем больше программ и зависимостей появляется на сервере, тем сложнее их отслеживать и управлять ими. Хорошая новость в том, что это можно делать с помощью пакетного менеджера APT (Advanced Packaging Tool).
Установка с помощью пакетного менеджера
Эволюция методов установки и управления программными пакетами со временем дошла до использования пакетных менеджеров, плотно интегрированных с репозиториями. В репозиториях содержатся упакованные файлы программ с данными об их зависимостях. После установки к операционной системе уже подключены системные репозитории: с их помощью можно обновлять ОС и устанавливать программные пакеты, которые были адаптированы и оптимизированы для работы с этой версией операционной системы.
Перед началом установки пакетов рекомендуется обновить данные о версиях и зависимостях в репозитории следующей командой:
sudo apt-get update
Скриншот №1. Обновление данных о версиях и зависимостях в репозитории
Если необходимо уточнить название пакета, который требуется установить — ищем в локальном кэше менеджер по ключевым словам, например, web server:
sudo apt-cache search web server
В результате получим большой перечень пакетов, где данное ключевое слово присутствует в описании:
Скриншот №2. Поиск по ключевым словам
Выбираем нужный нам пакет — в данном случае это apache2, и устанавливаем его:
sudo apt-get install apache2
Пакетный менеджер проверяет зависимости, версии, сравнивает их с уже установленными через apt-get пакетами, после чего выдает список необходимых для установки компонентов и запрашивает разрешение на продолжение операции:
Скриншот №3. Установка пакета
Нажимаем y и дожидаемся окончания установки.
Часто используемые команды пакетного менеджера:
- apt-get update — обновление информации о пакетах и зависимостях в подключенных репозиториях;
- apt-get upgrade — обновление всех установленных пакетов до актуальной версии, имеющейся в репозитории;
- apt-get install имя_пакета — установка пакета;
- apt-get remove имя_пакета — удаление пакета;
- apt-get download имя_пакета — скачать deb-пакет в локальную папку;
- apt-cache search ключевые слова — поиск пакета по ключевым словам;
- apt-cache show имя_пакета — показать информацию о пакете;
- apt-cache depends имя_пакета — показать от каких компонентов зависит данный пакет;
- apt-cache rdepends имя_пакета — показать какие компоненты зависят от пакета;
- apt-mark hold имя_пакета — зафиксировать текущую версию пакета, прекратить обновление пакета;
- apt-mark unhold имя_пакета — разрешить обновление пакета.
Установка через Debian package
Программные пакеты могут распространяться и не через репозитории. Например, они могут быть доступны на сайтах разработчиков. В таком случае, пакет можно скачать и воспользоваться утилитой dpkg (debian package) для установки. При использовании dpkg не происходит автоматическое отслеживание зависимостей и скачивание дополнительных пакетов. В случае нехватки каких-либо программ или библиотек установка завершится ошибкой с указанием списка отсутствующих пакетов. Их придется установить отдельно, например, через apt-get, если они присутствуют в подключенных репозиториях, либо скачивать с сайтов разработчиков и устанавливать в нужном порядке через dpkg.
Для примера скачаем из системного репозитория установочный пакет веб-сервера Nginx командой:
sudo apt-get download nginx
и попробуем установить через dpkg –i имя_файла.deb:
sudo dpkg –i ./nginx_1.14.0-0ubuntu1.6_all.deb
В результате система выдает ошибку с перечнем отсутствующих пакетов:
Скриншот №4. Ошибка с перечнем отсутствующих пакетов
Тихая установка программы: теория и практика
Некоторые пользователи наверняка сталкивались с понятием «тихая установка программы». Что означает этот термин и как это работает, я рассмотрю подробно в статье.
Что такое тихая установка?
Тихая установка — это автоматическая установка программы. Говоря иначе, при такой установке не нужно вводить ключи активации, использовать патчи и многократно нажимать «Далее». При автоматизированном процессе используются параметры инсталляции по умолчанию.
Такая функция полезна системным администраторам, так как позволяет сэкономить время при установке большого пакета утилит на несколько машин.
Но есть вторая сторона медали. Так как большинство установочных файлов по умолчанию включают в себя распаковывание второстепенного софта (бадлинг), то после тихой установки на компьютере может оказаться не нужное ПО.
Как тихая установка работает?
Запуск тихой установки осуществляется с помощью параметров (еще называют ключами). Запустить процедуру можно несколькими способами:
- из строки «Выполнить»;
- через самораспаковывающийся архив с файлом конфигурации;
- с помощью скриптов в .bat-файле.
Какой ключ использовать, будет зависеть от разновидности установщика. Чтобы было понятно — любая программа состоит из файлов и папок. Эти файлы и папки пакуются в один инсталляционный файл с помощью специальных программ упаковщиков. Таких программ несколько. Популярными являются:
Каждая из этих систем-упаковщиков имеет собственный ключ активации тихой установки. О ключах тихой установки может быть написано на официальных сайтах этих программ. Также выяснить, какой ключ активации тихой установки подходит для конкретного инсталлятора приложения поможет Universal Silent Switch Finder. Просто откройте им файл-установщик нужной вам программы.
Параметры (ключи)
Рассмотрим пример. Для программы FoxitReader использовался упаковщик Inno Setup (эту информацию я определил с помощью Universal Silent Switch Finder). Для тихой установки в этом упаковщике используются ключи:
- /SILENT — этот ключ не отображает фоновое Install-окно, но отображается установочный процесс;
- /VERYSILENT — этот ключ не отображает даже установочный процесс.
- /DIR =«путь установки» — идет после /SILENT или /VERYSILENT и указывает в какую папку распаковать файлы программы. Пример:
- /LANG=language — указывает язык установщика. Например:
- /NOICONS — запрещает создание папки с ярлыками в меню «Пуск». Пример:
- /SP- Подавляет такие окна как «вы хотите продолжить установку этой программы». Пример:
- /TASKS=«выбрать задачи» — назначение дополнительных компонентов/ярлыков при установке. Пример:
- desktopicon — создание ярлыка на рабочем столе;
- quicklaunchicon — создание ярлыка на панели быстрого запуска;
- startmenuicon — создание группы в меню «Пуск».
Пример
Для установки Foxit Reader с помощью тихой установки использую такие ключи:
В начале статьи я упомянул о возможности запуска тихой установки с помощью .bat-файла. К сожалению в BASH-скриптах я не силен, но в качестве примера предлагаю ссылку на статью habrahabr.ru. В статье написан скрипт для .bat-файла, позволяющий запустить тихую инициализацию с необходимыми параметрами.
С помощью самораспаковывающегося архива (sfx-архив) вы можете: запустить распакованные файлы, удалить их после инсталляции и т.д. Например sfx-архив может запустить .bat-файл с заранее прописанными командами тихой установки программы.