Debian и Ubuntu: семейство утилит dpkg

На фоне своих блистательных сородичей -- семейства apt-get и программы aptitude, - утилиты dpkg, предназначенные для работы с единичными deb-пакетами, выглядят весьма скромно. Однако они

  • были исторически первым средством автоматического развертывания пакетов, учитывающим их зависимости,
  • лежат в фундаменте все надстраивающих их систем (apt, aptitude, synaptic, adept),
  • в ряде случаев являются наиболее простым средством для установки или удаления пакета, а
  • также получения информации о нем, и, наконец,
  • оказываются незаменимыми при реконфигурировании пакетов установленных.

Вообще, возможности утилит семейства (см. man (1) dpkg) очень широки, и потому заслуживают рассмотрения, хотя бы в минимально необходимом для пользователя объеме.

Это семейство включает в себя множество команд -- полный их список можно получить с помощью командной конструкции

$ ls /usr/bin/dpkg* && ls /usr/sbin/dpkg*

и выглядит он следующим образом:

/usr/bin/dpkg                 /usr/bin/dpkg-gencontrol
/usr/bin/dpkg-architecture    /usr/bin/dpkg-name
/usr/bin/dpkg-buildpackage    /usr/bin/dpkg-parsechangelog
/usr/bin/dpkg-checkbuilddeps  /usr/bin/dpkg-query
/usr/bin/dpkg-deb             /usr/bin/dpkg-scanpackages
/usr/bin/dpkg-depcheck        /usr/bin/dpkg-scansources
/usr/bin/dpkg-distaddfile     /usr/bin/dpkg-shlibdeps
/usr/bin/dpkg-genbuilddeps    /usr/bin/dpkg-source
/usr/bin/dpkg-genchanges      /usr/bin/dpkg-split
/usr/sbin/dpkg-divert         /usr/sbin/dpkg-reconfigure
/usr/sbin/dpkg-preconfigure   /usr/sbin/dpkg-statoverride

Они входят в состав пакетов dpkg и dpkg-dev; первый, предназначенный для основных действий с бинарными пакетами, устанавливается по умолчанию в ходе первичной инсталляции и присутствует в любой (насколько мне известно) Debian-based системе; второй же, включающий утилиты для манипуляции с пакетами исходников, должен быть установлен дополнительно (или устанавливается как зависимость, например, при инсталляции пакета apt-build, о котором речь пойдет на одной из грядущих страниц).

Наиболее употребимые утилиты семейства - следующие:

  • собственно dpkg - средство для установки и удаления программ;
  • dpkg-query - инструмент создания запросов к базе данных deb-пакетов;
  • dpkg-reconfigure - программа для настройки установленных пакетов.

Они-то и будут предметом рассмотрения на ближайших страницах.


Теги: , , ,