мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| glossary:gnu_linux:deb_pkg [2026/03/03 13:27] – radi0dev | glossary:gnu_linux:deb_pkg [2026/03/03 14:07] (текущий) – radi0dev | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== deb пакет ====== | ====== deb пакет ====== | ||
| + | |||
| + | deb пакеты делятся на бинарные (.deb) и исходные (.tar.gz). | ||
| Deb-пакет это обычный архив файлов, | Deb-пакет это обычный архив файлов, | ||
| Строка 33: | Строка 35: | ||
| * Архитектуру для которой данный пакет собран; | * Архитектуру для которой данный пакет собран; | ||
| * Некоторые другие параметры. | * Некоторые другие параметры. | ||
| + | |||
| + | [[https:// | ||
| ==== Опциональное содержимое ==== | ==== Опциональное содержимое ==== | ||
| + | === md5sums === | ||
| + | |||
| + | '' | ||
| + | |||
| + | === Скрипты для установки/ | ||
| + | |||
| + | Пакет может содержать несколько скриптов (или программ), | ||
| + | |||
| + | |||
| + | Виды скриптов: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | В разных ситуациях эти скрипты вызываются с разными опциями. В общем виде пакет может: | ||
| + | * Устанавливаться в систему (первичная установка); | ||
| + | * Устанавливаться новая версия пакета (upgrade); | ||
| + | * Устанавливаться старая версия пакета (downgrade); | ||
| + | * Удаляться из системы. | ||
| + | |||
| + | Соответственно порядок вызова скриптов и опции их вызова может быть разный. Скрипты могут вызываться со следующими параметрами (полный перечень можно найти в [[https:// | ||
| + | ++++параметры| | ||
| + | ^ Параметр ^ Доп. параметры ^ Описание ^ | ||
| + | | **preinst** ||| | ||
| + | | install | Номер версии* | Вызывается перед распаковкой пакета. Номер версии указывает на пакет, который стоял ранее, но был удален без ключа --purge, то есть конфигурационные файлы сохранены. С данным параметром скрипт вызывается если в системе пакет не установлен. | | ||
| + | | upgrade | Номер версии | Вызывается перед распаковкой пакета. Номер версии указывает на пакет, который стоял ранее. Выполняется upgrade или downgrade для пакета. Зная текущую версию пакета и сравнив её с передаваемым здесь значением мы можем определить что происходит upgrade или downgrade | | ||
| + | | abort-upgrade | Номер версии | Вызывается если preinst upgrade вызванное для нового пакета завершилось неудачей. Номер версии соответствует номеру версии нового пакета, | ||
| + | | **postinst** ||| | ||
| + | | configure | Номер версии* | Вызывается после распаковки пакета. Номер версии содержит версию пакета корректно сконфигурированного ранее. То есть того для которого данный вызов завершился без ошибки. По номеру версии скрипт конфигурации может принять решение о том каким образом необходимо производить апгрейд конфигурационных файлов программы. | | ||
| + | | reconfigure | Номер версии | Вызывается системой Debconf после переконфигурации пакета. Выполняет все необходимые действия по переконфигурации. | | ||
| + | | abort-upgrade | Номер версии | Вызывается если preinstall upgrade нового пакета завершился неудачей. Новый пакет не устанавливается, | ||
| + | | **prerm** ||| | ||
| + | | remove | | Вызывается перед удалением пакета. | | ||
| + | | upgrade | Номер версии | Вызывается перед удалением пакета при его апгрейде. Номер версии указывает на версию устанавливаемого пакета. | | ||
| + | | failed-upgrade | Номер версии | Вызывается для устанавливаемого пакета, | ||
| + | | **postrm** ||| | ||
| + | | remove | | Вызывается после удаления пакета | | ||
| + | | purge | | Вызывается после удаления пакета. Если вызван dpkg --purge | | ||
| + | | upgrade | Номер версии | Вызывается после удаления пакета при его апгрейде. Номер версии указывает на новый пакет. | | ||
| + | | failed-upgrade | Номер версии | Вызывается после удаления пакета при его апгрейде. Вызывается в случае если postrm upgrade вернул код ошибки. Номер версии указывает на удаляемый пакет. Вызов скрипта происходит во вновь устанавливаемом пакете. | | ||
| + | | abort-install | Номер версии* | Вызывается если preinst install вернул код ошибки. Номер версии соответствует номеру версии передаваемому preinst install | | ||
| + | | **config** ||| | ||
| + | | configure | Номер версии | Вызывается во время предварительной настройки пакета из dpkg-preconfigure. Этот вызов проходит во время установки/ | ||
| + | | reconfigure | Номер версии | Вызывается при повторной настройке пакета. Номер версии - номер установленной версии пакета. Инициировать вызов можно дав команду dpkg-reconfigure package из командной строки. После этого вызова системой Debconf будет вызван сценарий postinst reconfigure | | ||
| + | ++++ | ||
| + | |||
| + | === templates === | ||
| + | |||
| + | Если используется возможность конфигурации/ | ||
| + | |||
| + | === conffiles === | ||
| + | |||
| + | Содержит перечень файлов пакета, | ||
| + | |||
| + | ==== Утилиты для работы/ | ||
| + | |||
| + | === dpkg-gencontrol === | ||
| + | |||
| + | Осуществляет генерацию файла control на базе шаблона этого файла, составляемого майнтенером, | ||
| + | |||
| + | === dpkg-shlibdeps === | ||
| + | |||
| + | |||
| + | Вычисляет зависимости для исполняемых файлов и библиотек. Майнтенер обычно указывает Build-зависимости (зависимости сборки), | ||
| + | |||
| + | === dpkg-parsechangelog === | ||
| + | |||
| + | Позволяет извлекать из changelog-файла некоторые параметры, | ||
| + | |||
| + | === dpkg-architecture === | ||
| + | |||
| + | Позволяет извлекать информацию (манипулировать ей) об архитектуре системы для которой собирается пакет или на которой собирается пакет. Выходные данные так же могут использоваться для использования в других утилитах. Например при генерации файла control утилитой dpkg-gencontrol. | ||
| + | |||
| + | ==== Проверка соответствия пакета современным требованиям Debian ==== | ||
| + | |||
| + | После того как пакет создан, | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | После этих двух проверок (все файлы на месте, информация в финальном control корректна), | ||
| + | Такие проверки осуществляются при помощи программы lintian. Проверяются такие параметры, | ||
| + | * '' | ||