Рекламное объявление

Современные операционные системы предоставляют вам простые способы настройки новых приложений. К ним относятся пакеты автоматической установки, а также команды, которые устанавливают много программных компонентов одновременно. Но что на самом деле происходит, когда вы запускаете этот установщик или запускаете эту команду?

Давайте посмотрим, как программное обеспечение устанавливается на трех основных настольных платформах: Windows, macOS и Linux.

Методы установки программного обеспечения

Есть несколько разных способов запуска новых приложений на вашем компьютере. В порядке возрастания сложности они включают в себя:

  • Компиляция программного обеспечения - Сборка приложения из его исходного кода. Только для самых технических пользователей.
  • Архивы программного обеспечения - Распаковка архивов, таких как ZIP-файлы, и запуск программы из любого места, где вы ее распаковали. Это может потребовать дополнительной настройки.
  • Установочные пакеты - Поиск установочного файла и (двойной) щелчок, чтобы начать установку.
  • instagram viewer
  • Менеджеры / Магазины программного обеспечения - Выбрав приложение из приятного интерфейса и нажав большую кнопку «Установить». Это магия!

В этой статье мы рассмотрим пакеты установщика, так как большинство менеджеров / магазинов программного обеспечения в конечном итоге имеют дело с этими типами пакетов за кулисами. Для сегодняшних основных настольных платформ - Windows, macOS и Linux - мы рассмотрим, из чего состоит один из этих пакетов и что происходит при их установке.

Майкрософт Виндоус

Пакеты установщика, которые вы можете встретить для Windows, входят в один из двух основных вариантов. Исполняемые файлы (EXE) могут настроить вашу программу, выполнив тяжелую работу по размещению файлов в нужном месте и выполнению обновлений реестра Windows. Пакеты установщика Windows (MSI) дополняют это, предоставляя стандартизированные службы, такие как деинсталляции.

Вы можете проверить содержимое EXE-файлов или MSI открытие архива с 7-Zip 7Zip: бесплатная программа для распаковки необычных форматов архивов Подробнее . Если вы используете его для просмотра собственного установщика EXE 7-Zip, вы найдете несколько различных файлов в:

пакет программного обеспечения анатомии 7zip содержание

Хотя эти файлы не содержат папки, содержащейся в установщике, разработчик будет указывать каждый из них на целевой каталог. Большинство из них находятся в «месте установки по умолчанию» - то же самое предложение, которое вы обычно видите для папки типа «C: \ Program Files \ [имя программы]» или «C: \ Program Files (x86) \ [ваше новое приложение». ] «.

При использовании такого сложного инструмента, как InstallShield, для создания пакетов установки, разработчики приложений могут настроить установку. Например, они могут указать, какие версии Windows он будет устанавливать, настроить ярлыки быть созданным в меню «Пуск» и / или на рабочем столе, или собирать информацию о пользователе, такую ​​как имя, адрес, и т.п. Пример проекта InstallShield на изображении ниже показывает экран для настройки того, должны ли ключи реестра Windows создаваться или обновляться.

анатомия программного пакета installshield реестра

С InstallShield файлы приложения и другие настройки упаковываются в setup.exe файл. Открытие его с помощью 7-Zip покажет, что внутри находится пакет MSI, который при запуске выглядит точно так же, как и все, к чему мы все привыкли. Давайте рассмотрим, что происходит во время этого процесса.

пакет программного обеспечения анатомии

Процесс установки Windows

Установщик предпримет следующие шаги, чтобы настроить ваше приложение для использования (точный порядок может варьироваться в зависимости от настроек разработчика):

  1. Установщик может содержать другие архивы, такие как MSI или форматы, подобные CAB. В качестве первого шага установщик извлечет их во временную папку.
  2. Затем он проверит, что все установленные зависимости доступны. Если чего-то не хватает, он загрузит его, если это возможно, или выйдет из установщика с ошибкой, если нет.
  3. Если какие-либо зависимости требуются, они будут установлены в первую очередь с использованием любого установщика (когда-нибудь прерывалась установка для .NET Framework? Microsoft .NET Framework: зачем он нужен и как его установить в WindowsВам нужно либо установить, либо обновить его. Но знаете ли вы, что такое .NET Framework? Мы покажем вам, зачем вам это нужно и как вы можете получить последнюю версию. Подробнее ).
  4. Затем установщик начнет копировать файлы приложения и помещать их в правильное расположение.
  5. Если разработчик настроил какие-либо ярлыки, установщик создаст и укажет им фактический путь установки (помните, Вы можете изменить это Как создать ярлыки на рабочем столе Windows простым способомУмные ярлыки на рабочем столе помогут вам бездумно просеивать меню и папки. Мы показываем вам быстрые и простые способы их создания. Подробнее когда установщик запущен).
  6. Изменения в реестре Windows 3 инструмента для мониторинга и изучения реестра WindowsРеестр Windows - одна из самых плохо изученных частей операционной системы Windows. Мы покажем вам инструменты, которые могут упростить реестр и помочь вам выявить проблемы. Подробнее , если таковые имеются, будут выполнены.
  7. Наконец, установщик может предложить пользователю ввести такую ​​информацию, как имя или адрес веб-сайта.

Этот процесс может показаться сложным по сравнению со следующей операционной системой в списке. Давайте посмотрим на установку программного обеспечения на MacOS.

Apple MacOS

Установщики Windows много чего делают под капотом. Но если вы использовали Mac, вы знаете, что установить приложение часто так же просто, как загрузить копию приложения, открыть образ диска (DMG) и следуя некоторым простым подсказкам Как установить и удалить программное обеспечение Mac: 5 простых методовПерешли на Mac и разбираетесь с основами? Хотите знать, как установить программное обеспечение из командной строки? У вас есть старые приложения Windows, которые вы просто должны запустить на своем компьютере Apple? Подробнее . Иногда загрузка даже дает вам «Перетащите сюда!» икона.

Давайте погрузимся в комплект приложения, а также его аналог установщика PKG.

Структура пакета macOS

APP файл на поверхности является на самом деле проще, чем Windows, по двум основным причинам. Во-первых, это стандартная папка. Разница лишь в том, что он заканчивается суффиксом «.APP». Если вы загрузите один из них в Windows, вы увидите, что он отображается так же, как и любая другая папка в Проводнике. Во-вторых, файлы APP требуют, чтобы было включено абсолютно все, что требуется программе. Нет проблем с отсутствующими зависимостями в этих типах установщиков.

Эти пакеты должны содержать три вещи в папке «Contents»: 1) файл «Info.plist», который содержит метаданные приложения, такие как имя, язык, номер версии и т. Д.; 2) каталог «MacOS», содержащий основной исполняемый файл; и 3) каталог «Ресурсы», в котором содержатся ресурсы, необходимые для работы приложения (например, значок приложения). Существуют и другие дополнительные папки, такие как «Frameworks» (наборы функций, которые не являются специфическими для приложения), «Плагины» (функциональность для приложения, которое не требуется для его запуска) и «SharedSupport» (посторонние данные, такие как шаблоны).

папки приложений Mac

Напротив, формат PKG представляет собой комбинацию Windows-подобного установщик с Unix-подобной структурой 3 UNIX-подобные операционные системы, которые не являются LinuxНедавно люди начали путать «UNIX» с «Linux». Linux находился под влиянием UNIX, но системы UNIX не имеют отношения к Linux. Вот некоторые важные системы на основе UNIX, о которых стоит знать. Подробнее . Приложение 7-Zip также откроет файл PKG, который сжимается в XAR формат. Внутри один или несколько полезная нагрузка файлы, который также является архивом. Чтобы извлечь его содержимое, используйте следующую цепочку команд (CPIO это формат архива, а также программа для управления ими) в Mac или Linux Terminal:

Cat Полезная нагрузка | gunzip -dc | cpio -i

После этого вы увидите знакомое Unix-подобное дерево каталогов.

В приведенном ниже примере я использовал конвертер документов, Pandoc. Это включает в себя двоичный файл в /usr/local/bin и некоторая документация в /usr/local/share/man. Как эти вещи на самом деле становятся на место? Мы рассмотрим, как каждый из них на самом деле устанавливается на ваш Mac.

структура mac pkg

Для иллюстрации я использовал версию 7-Zip для Windows, а не версию для командной строки только для Linux.

Процесс установки приложения MacOS

Когда вы помещаете этот файл APP в папку «Приложения», это не сильно меняет все. Помните, все необходимое для запуска программы является автономным. Единственное отличие от стандартного перетаскивания заключается в том, что файл «Info.plist» регистрируется в системе.

копия приложения Mac

Это позволит настроить такие вещи, как, какой исполняемый файл вызывается при запуске приложения, какой значок отображается, типы файлов, которые он поддерживает, и многое другое. Но в противном случае ваше приложение (например, пакет APP для редактора Atom, показанного ниже) теперь готово к использованию.

Mac приложение установлено

Процесс установки macOS PKG

Открытие файла PKG, с другой стороны, запускает установщик в стиле мастера. Для простых программ это обычно установщик компонентов, который обычно проходит следующие шаги:

  1. Запустить Preinstall скрипт.
  2. Распакуйте содержимое «полезной нагрузки» на машину.
  3. Запустить постустановочных скрипт.
Mac PKG установить

Затем разработчики могут объединить несколько компонентов в один архив продукции установить. Это добавляет такие параметры, как отображение пользовательского соглашения, которое пользователь принимает, сбор информации от пользователя и выбор компонентов для установки. Между тем, установщик Apple позаботится обо всех деталях установки необходимых компонентов в фоновом режиме.

Говоря об установщиках на основе Unix, мы перейдем к двум ведущим форматам пакетов Linux в следующем разделе.

Ubuntu и Fedora Linux

Ах, DEB против RPM Как установить программное обеспечение в Linux: объяснение форматов пакетовВы перешли на Linux и хотите установить программное обеспечение. Но менеджеры пакетов различаются в зависимости от вашего дистрибутива. Итак, какие приложения вы можете скачать и установить? Это все в акронимах. Подробнее . Одна из великих огненных войн, побежденная только такими VI против Emacs или KDE против GNOME. Все же эти форматы больше похожи, чем они отличаются. Давайте взглянем.

Файловая структура пакета Linux

Чтобы взглянуть внутрь файла DEB, вы можете попробовать менеджер архива с графическим интерфейсом. В противном случае используйте Арканзас команда. Следующая команда введена в терминал 40+ наиболее используемых команд терминала LinuxНезависимо от того, начинаете ли вы или просто интересуетесь терминалом Linux, вот наиболее распространенные команды, которые проведут вас через весь ваш период работы с Linux. Подробнее извлечет содержимое пакета Debian:

ar -x name-of-your-package.deb

Из этого получится три файла:

  • control.tar.gz - Это, в свою очередь, содержит один основной файл, контроль, который содержит метаданные о пакете, такие как его официальное имя, версия и зависимости. Он также может содержать другие файлы, такие как сценарии для запуска в процессе установки или файлы конфигурации по умолчанию.
  • data.tar.gz - Файлы, из которых состоит само приложение, находятся в этом архиве TAR.GZ. Здесь есть все, включая двоичные файлы, документацию и стандартные конфигурации. В примере пакета kde-service-menu-encfs_0.5.2_all.deb он содержит файлы и каталоги, как показано на рисунке ниже.
  • Debian-бинарный - Это файл, который определяет, какую версию формата пакета Debian использует файл. Для современных дистрибутивов это будет просто содержать «2.0» в одной строке.
главный контроль деба

В Fedora вы можете использовать rpm2cpio и CPIO Команды для извлечения пакета RPM и просмотра их файлов:

rpm2cpio name-of-your-package.rpm | cpio -idvm

Для пакета kde-cli-tools-5.9.4-2.fc26.x86_64.rpm вы увидите дерево файлов, похожее на пакет DEB. Но он не предоставляет метаданные, по крайней мере, не в двоичный пакет. Вам нужно будет загрузить исходный RPM (.SRC.RPM), соответствующий вашей двоичной версии, а затем использовать ту же команду, указанную выше для этого файла. В него будет включен файл SPEC, который содержит множество элементов контроль файл в пакете Debian.

Теперь, когда у нас есть понимание структуры пакетов Linux, давайте исследовать, что происходит, когда вы на самом деле их устанавливаете Как установить программное обеспечение в Linux: объяснение форматов пакетовВы перешли на Linux и хотите установить программное обеспечение. Но менеджеры пакетов различаются в зависимости от вашего дистрибутива. Итак, какие приложения вы можете скачать и установить? Это все в акронимах. Подробнее .

Установка пакета Linux

Когда вы устанавливаете пакеты любого формата, независимо от внешнего интерфейса, происходит аналогичный набор шагов:

  1. Система пакетов проверяет содержимое пакета, чтобы определить, отсутствуют ли зависимости. В зависимости от инструмента, он либо предупредит вас, либо установит их загрузку.
  2. Если пакеты содержат предустановочные сценарии или команды, они запускаются следующим.
  3. Затем система пакетов фактически извлекает файлы пакета.
  4. После установки файлов запускаются сценарии после установки.
  5. Наконец, пакет регистрируется во внутренней базе данных с использованием его метаданных, поэтому его можно удалить позже.

Знать, как устанавливается программное обеспечение - это хорошо

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

Сколько из указанных выше методов установки программного обеспечения вы сделали? Вы предпочитаете DEB или RPM? Или пакеты Mac для приложений представляют собой вершину простоты использования? Когда-нибудь случалось устанавливать кошмар? Дайте нам знать в комментариях ниже!

В течение пятнадцати лет Аарон работал в области технологий как бизнес-аналитик и менеджер проектов, и почти столько же лет является лояльным пользователем Ubuntu (со времен Breezy Badger). Его интересы включают в себя открытый исходный код, приложения для малого бизнеса, интеграцию Linux и Android, а также вычисления в текстовом режиме.