В чём разница между dpkg и APT

APTdpkgМануалыСравнения

Если вы используете какой-либо дистрибутив Linux на основе Debian, вы, «несомненно», читали инструкции по установке, в которых вам предлагается использовать команду APT, в то время, как другие говорили вам использовать dpkg.

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


APT и dpkg: два важных установщика пакетов


APT и dpkg — это интерфейсы управления пакетами командной строки, которые вы можете использовать в терминале любого дистрибутива основанного на Debian. Они могут, среди прочего, устанавливать файлы DEB и перечислять установленные пакеты.

Думаю вам интересно, похожи ли они, зачем вам и APT и зачем dpkg?

Фактически, они работают вместе. APT действует как полноценный инструмент управления пакетами за счет использования dpkg.

Давайте разберем основные отличия.

Статьи по теме


APT использует dpkg для установки пакетов

Когда APT (или его старший брат, apt-get) устанавливает пакет, он фактически использует для этого dpkg на сервере. Таким образом, dpkg действует скорее как скрытый инструмент для более удобного интерфейса APT.


APT может загружать пакеты

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



С помощью dpkg вы можете устанавливать только локальные файлы, которые вы уже скачали сами. Он не может выполнять поиск в удаленных репозиториях или извлекать из них пакеты.


Dpkg не устанавливает зависимости

Когда вы устанавливаете пакет с помощью dpkg, это все, что происходит: система просто установит пакет. Однако некоторым пакетам для работы требуется дополнительное программное обеспечение, называемое зависимостями. В этом случае dpkg может предупредить вас об ошибке.



APT же будет автоматически проверять и получать соответствующие зависимости, чтобы убедиться, что все, что вы пытаетесь установить, работало правильно. Вот почему мы рекомендуем после установки пакета с dpkg всё же запускать команды APT, для восстановления зависимостей.

sudo apt install -f

Dpkg индексирует только локальные пакеты

Если вы пытаетесь узнать о пакетах, установленных в вашей системе, функция —list в dpkg может помочь вам лучше, чем APT. Это потому, что так же, как она не может найти и загрузить удаленные пакеты, dpkg также не может перечислить пакеты, не являющиеся локальными для устройства.

dpkg --list

Команда APT list выведет список всех известных ей пакетов, локальных или иных.

apt list

Чтобы увидеть только установленные пакеты, вы должны передать параметр —installed или -i.

apt list --installed

Dpkg против Apt: что лучше?


Если вы хотите установить локальные пакеты с помощью dpkg, вы можете сделать это без каких-либо проблем. Однако вам лучше использовать APT или Apt-get, если вы регулярно ищите пакеты в удаленных репозиториях программного обеспечения.

APT выполнит работу по поиску и загрузке нужного пакета и обеспечит соблюдение всех необходимых зависимостей. Вы по-прежнему можете использовать dpkg, но APT будет выполнять ту же функцию, обеспечивая работу вашего программного обеспечения так, как вам нужно. Кроме того, APT идеально подходит для правильного удаления пакетов из вашей системы.

Источник: MakeUseOf