Step-by-step: подготовка инсталляционных пакетов Mac OS. Часть первая

Аналитики Gartner говорят, что доля Mac платформы в корпоративном секторе растет год от года. Поэтому вопрос централизованного управления Mac пакетами в корпоративных средах становится все более актуальным. Каковы преимущества использования централизованного управления ПО? Среди них: возможность устанавливать приложения на большое количество клиентов с едиными настройками; минимизация количества проблем и инцидентов с ПО за счет применения единых стандартов подготовки установочных пакетов; установка инсталляционных пакетов не требует действий от пользователя и каких-либо дополнительных привилегий. Тема управления ПО достаточна обширна. Выше приведены лишь наиболее яркие и бытовые примеры. Поэтому в нашей компании подготовка инсталляционных пакетов Mac OS предоставляется в качестве отдельного сервиса.План первой части статьи:

Форматы, типы пакетов. В данном разделе рассмотрим разновидности пакетов и их структуру. Краткий обзор наиболее популярных инструментов для подготовки инсталляционных пакетов. (под катом много фото)1. Форматы, типы пакетов

Рассмотрим один из самых известных типов payload package:

image

Archive.bom — бинарный файл, который содержит список файлов для всего проекта. Для просмотра данных можно использовать Isbom в terminal.

Archive.pax.gz — отображается как pax архив и сжат с gzip tool.

Info.plist — xml файл содержащий настройки по умолчанию для всего пакета. Для просмотра содержимого используется Property list Editor tool, также можно просмотреть файл c текстовым редактором.

PkgInfo — простой текстовый файл, содержащий файл и тип создания всего пакета.

Resources — папка языкового пакета, содержащая простые строки локализации.

Meta-packageСодержит несколько payload пакетов в одном инсталляционном пакете (Contents/Packages). Meta package не устанавливает файлы сами по себе. Вместо этого он содержит в себе компоненты в виде пакетов. В Meta package можно установить отдельный package, который необходим. Meta package удобен для больших программных продуктов, когда имеется большое количество файлов, которое необходимо распространять.

image

Flat-packageFlat-пакет использует структуру отличную от предыдущих. Во-первых, Contents не содержит info.plist и PkgInfo. Во-вторых, сохраняет свои payload и resource на корневом уровне. И distribution.dist файл это просто Distribution.

Flat-пакет также использует более компактный формат для payload. Каждый payload имеет 3 файла. Bom файл занимает место Archive.bom. Payload файл заменяет Archive.pax.gz, а PackageInfo заменяет XML, PkgInfo. Flat-package хранит скрипты установки иначе. Pre-install, post-install action-ы стали payload action-ом. Payload состоит из главного имени пакета и тип action.

image

Bom — содержит список путей и файлов для всего проекта.

Payload — файлы запакованные в архив cpio.tgz.

PackageInfo — содержит информацию о пакете.

Distribution — описывает какие компоненты будут установлены на системе.

Resources — папка языкового пакета, содержащая простые строки локализации.

2. Краткий обзор инструментов для packaging

На сегодняшний день существует множество инструментов для создания package под Mac OS. Мы рассмотрим несколько наиболее известных:

IcebergБесплатный инструмент разработанный Stéphan Sudre. Очень популярен среди Mac OS X администраторов. Можно создавать package и metapackage, не поддерживает создание flat-пакетов. Имеет дружелюбный интерфейс и прост в использовании, имеется подробная документация применения инструмента на сайте. Также есть поддержка создания пакетов из файловой системы через snapshot. На сегодняшний день доступная версия 1.2.9 (не обновлялась с 2010 года) может быть загружена.

Package MakerPackage Maker также может быть загружен с официального сайта Apple и считается одним из самых надежных и часто используемых из всех существующих инструментов. Microsoft, в том числе, отдает предпочтение этому инструменту и свои решения показывает в среде Package Maker. Инструмент входит в набор developer tool (XCode). Package Maker позволяет создавать Single Package, Metapackage и Distribution package. Особенностью данного инструмента является создание снимков (snapshot) файловой системы в определенный момент, что полезно, так как позволяет найти разницу в файлах. На Mac OS Package Maker находится в /Developer/Applications/Utilities.

Composer от JAMF SoftwareУдобный инструмент, который позволяет делать package следующих форматов: .pkg, .mpkg, .dmg. Также с его помощью можно делать снимки файловой системы для дальнейшего сравнения разницы. Он имеет хорошую документацию на английском. В свою очередь JAMF Software проводит тренинги и сертификацию для своих продуктов, и что немаловажно, существует форум, где можно найти множество советов по созданию пакетов в среде Composer. Данный инструмент является платным и на сегодняшний день стоит $99.95 (Commercial version) и $79.95 (Education version). Также можно скачать пробную версию заполнив форму request trial.

Во второй части статьи продемонстрируем, как создать пакет в среде Package Maker.

Автор: Eduard123

© Habrahabr.ru