Аналитики Gartner говорят, что доля Mac платформы в корпоративном секторе растет год от года. Поэтому вопрос централизованного управления Mac пакетами в корпоративных средах становится все более актуальным. Каковы преимущества использования централизованного управления ПО? Среди них:
Тема управления ПО достаточна обширна. Выше приведены лишь наиболее яркие и бытовые примеры. Поэтому в нашей компании подготовка инсталляционных пакетов Mac OS предоставляется в качестве отдельного сервиса.
План первой части статьи:
(под катом много фото)
1. Форматы, типы пакетов
Рассмотрим один из самых известных типов payload package:
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 удобен для больших программных продуктов, когда имеется большое количество файлов, которое необходимо распространять.
Flat-package
Flat-пакет использует структуру отличную от предыдущих. Во-первых, 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.
Bom – содержит список путей и файлов для всего проекта.
Payload – файлы запакованные в архив cpio.tgz.
PackageInfo – содержит информацию о пакете.
Distribution – описывает какие компоненты будут установлены на системе.
Resources – папка языкового пакета, содержащая простые строки локализации.
2. Краткий обзор инструментов для packaging
На сегодняшний день существует множество инструментов для создания package под Mac OS. Мы рассмотрим несколько наиболее известных:
Iceberg
Бесплатный инструмент разработанный Stephan Sudre. Очень популярен среди Mac OS X администраторов. Можно создавать package и metapackage, не поддерживает создание flat-пакетов. Имеет дружелюбный интерфейс и прост в использовании, имеется подробная документация применения инструмента на сайте. Также есть поддержка создания пакетов из файловой системы через snapshot. На сегодняшний день доступная версия 1.2.9 (не обновлялась с 2010 года) может быть загружена.
Package Maker
Package 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
- возможность устанавливать приложения на большое количество клиентов с едиными настройками;
- минимизация количества проблем и инцидентов с ПО за счет применения единых стандартов подготовки установочных пакетов;
- установка инсталляционных пакетов не требует действий от пользователя и каких-либо дополнительных привилегий.
Тема управления ПО достаточна обширна. Выше приведены лишь наиболее яркие и бытовые примеры. Поэтому в нашей компании подготовка инсталляционных пакетов Mac OS предоставляется в качестве отдельного сервиса.
План первой части статьи:
- Форматы, типы пакетов. В данном разделе рассмотрим разновидности пакетов и их структуру.
- Краткий обзор наиболее популярных инструментов для подготовки инсталляционных пакетов.
(под катом много фото)
1. Форматы, типы пакетов
Рассмотрим один из самых известных типов payload package:
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 удобен для больших программных продуктов, когда имеется большое количество файлов, которое необходимо распространять.
Flat-package
Flat-пакет использует структуру отличную от предыдущих. Во-первых, 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.
Bom – содержит список путей и файлов для всего проекта.
Payload – файлы запакованные в архив cpio.tgz.
PackageInfo – содержит информацию о пакете.
Distribution – описывает какие компоненты будут установлены на системе.
Resources – папка языкового пакета, содержащая простые строки локализации.
2. Краткий обзор инструментов для packaging
На сегодняшний день существует множество инструментов для создания package под Mac OS. Мы рассмотрим несколько наиболее известных:
Iceberg
Бесплатный инструмент разработанный Stephan Sudre. Очень популярен среди Mac OS X администраторов. Можно создавать package и metapackage, не поддерживает создание flat-пакетов. Имеет дружелюбный интерфейс и прост в использовании, имеется подробная документация применения инструмента на сайте. Также есть поддержка создания пакетов из файловой системы через snapshot. На сегодняшний день доступная версия 1.2.9 (не обновлялась с 2010 года) может быть загружена.
Package Maker
Package 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
Комментарии (10)
Kentzo
30.04.2015 09:04+2Iceberg — морально устарел, насколько я помню не умеет ряд фич появившихся в свежих версия Mac OS X
Package Maker — мертв
Composer — никогда не использовал…
Сейчас Apple рекомендует 3 инструмента для создания пакетов: pkgbuild, pkgutil и productbuild.
vaniaPooh
Мы Debian пакеты собирали и ставили на Винду и Мак. Дешево и сердито.
Ruslan123
Интересный подход… А на Винде и Мак использовали Wine? Какие тулы использовали для подготовки пакетов (настроек)?
vaniaPooh
Пакеты собираются обычными средствами сборки Debian пакетов, а вот бинарное содержимое пакетов должно быть собрано под каждую платформу по отдельности. Мы правда собирали Java код, поэтому нам все равно.
Draug
Каким образом затем пакет устанавливаете в систему?
Ruslan123
присоединяюсь к вопросу, интересно узнать о вашем опыте развертывания…
Draug
Для Linux окружения есть интересная штука AppImageKit. (ссылка)
По сути можно собрать бинарник/образ с приложением, чем-то похоже на пакеты в macosx.
jhekasoft
Расскажите подробнее про процедуру. Каким образом deb-пакет устанавливается на Windows, OS X?