14

Похоже, apt-get install загрузит пакет Debian и попытается запустить скрипт установки для:

  • Создать правильный каталог
  • Создать надлежащий аккаунт
  • Копировать двоичные файлы
  • Копировать файлы данных
  • Копировать файлы Conf
  • Скопируйте скрипт init.d
  • Запустить сервис
  • и т.п.

Я действительно заинтересован в этом и хочу выяснить, что происходит, шаг за шагом. Есть ли способ это увидеть? Как команды печати оболочки в режиме «пробного запуска»?

1 ответ1

25

Вкратце: apt-get install делает все, что нужно, чтобы ваша система могла успешно выполнить новое установленное программное приложение.

Более длинная версия:

Отборочные:

Из справочной страницы:

Все пакеты, требуемые пакетами, указанными для установки, также будут извлечены и установлены.

Эти пакеты хранятся в хранилище в сети (интернет). Таким образом, apt-get загружает все необходимые пакеты во временный каталог (/var/cache/apt/archives/). Они будут загружены с веб- или ftp-сервера. Они указаны в так называемых sources.list ; список репозиториев для менеджера пакетов apt. С тех пор они устанавливаются один за другим процедурно.

Первыми устанавливаются те, которые не имеют дальнейших зависимостей; поэтому для правильной работы не нужно устанавливать никаких других пакетов. Благодаря этому другие пакеты (которые ранее имели зависимости) больше не имеют зависимостей. Система продолжает делать этот процесс снова и снова, пока не будут установлены указанные пакеты.

Каждый пакет проходит процедуру установки.

Процедура установки пакета:

В дистрибутивах Linux на основе Debian, таких как Ubuntu или Mint, эти пакеты представлены в указанном стандартизированном формате: deb -> Формат двоичного пакета Debian.

Такой пакет содержит файлы, которые будут установлены в системе. Также они содержат контрольный файл. Этот файл содержит сценарии, которые система упаковки должна выполнить в конкретной ситуации; так называемые сценарии сопровождающего. Эти сценарии разделены на:

  • preinst: перед установкой файлов в файловую иерархию системы
  • postinst: после установки
  • prerm: до удаления
  • postrm: после удаления

Эти сценарии - это место, где создаются конкретные пользователи или некоторые службы, которые необходимо перезапустить, или другие предварительные условия, необходимые для работы пакета.

Помимо этих сценариев система пакетов имеет триггеры , предназначенные для определенных событий. Например, регенерация initrds при установке новой версии ядра или ldconfig или man-db. Они активируются одним или несколькими пакетами и запускаются в конце всего процесса установки.

Есть интересная картинка, демонстрирующая процедуру установки нового пакета:

монтаж

Также есть больше control-файлов, наиболее важными из которых являются следующие:

Если вы заинтересованы, вы можете распаковать пакет deb (после загрузки) вручную и посмотреть, что внутри:

# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb

Теперь вы видите файл с именем data.tar.gz содержащий файлы, и файл с именем control.tar.gz содержащий четыре сценария сопровождающего и вышеупомянутые контрольные файлы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .