Введение

Система управления пакетами

dpkg – это программное обеспечение, лежащее в основе системы управления пакетами в свободной операционной системе Debian и её многочисленных производных. dpkg используется для установки, удаления и получения информации о пакетах deb. Сам по себе dpkg (Debian Package) является инструментом низкого уровня. APT (Advanced Package Tool), инструмент более высокого уровня, используется чаще, чем dpkg, поскольку он может загружать пакеты из удалённых репозиториев и обрабатывать сложные взаимосвязи между пакетами, такие как разрешение зависимостей. Графические интерфейсы для APT, такие как aptitude (ncurses) и synaptic (GTK), используются благодаря своим более удобным интерфейсам. Пакет Debian "dpkg" предоставляет программу dpkg, а также несколько других программ, необходимых для функционирования системы управления пакетами, включая dpkg-deb, dpkg-split, dpkg-query, dpkg-statoverride, dpkg-divert и dpkg-trigger. Он также включает в себя такие программы, как update-alternatives и start-stop-daemon. Программа install-info ранее также входила в состав пакета, но впоследствии была удалена, так как теперь разрабатывается и распространяется отдельно. Пакет Debian "dpkg-dev" включает в себя многочисленные инструменты для сборки, описанные ниже.

История

Первой попыткой системы управления пакетами, возможно, была разработка StopAlop Грегом Уэттштейном в онкологическом центре Роджера Мариса в Фарго, штат Северная Дакота. Она послужила вдохновением для создания dpkg. dpkg был первоначально создан Иэном Мёрдоком в январе 1994 года в виде скрипта Shell. Мэтт Уэлш, Карл Стритер и Иан Мёрдок затем переписали его на Perl, а позднее основная часть была переписана на C Иэном Джексоном в 1994 году. Название dpkg первоначально было сокращением от "Debian package", но значение этой фразы значительно изменилось, поскольку программное обеспечение dpkg ортогонально как формату пакетов deb, так и Руководству по политике Debian, определяющему поведение пакетов Debian в системе Debian.

Пример использования

Для установки deb-пакета: dpkg включает в себя инструменты для работы с исходными пакетами и распаковки исходных файлов пакета Debian. dpkg gencontrol считывает информацию из распакованного дерева исходников Debian и генерирует контрольный пакет для двоичного пакета, создавая соответствующую запись в Debian/files. dpkg shlibdeps вычисляет зависимости исполняемых файлов от библиотек. dpkg genchanges считывает информацию из распакованного дерева исходников Debian и создает файл управления (.changes) после сборки. dpkg buildpackage — это управляющий скрипт, который можно использовать для автоматического создания пакета. dpkg distaddfile добавляет файл в список файлов, включенных в debian/files. dpkg parsechangelog читает файл изменений (changelog) распакованного дерева исходников Debian и формирует удобный для чтения вывод с информацией об этих изменениях.

База данных

База данных dpkg находится в /var/lib/dpkg; файл "status" содержит список установленного программного обеспечения в текущей системе. Эта база данных не содержит информации о репозиториях.