В чем разница между APT и dpkg в Ubuntu?
Если вы используете Ubuntu или любой другой дистрибутив Linux на основе Debian, вы, несомненно, читали инструкции по установке, в которых вам предлагается использовать команду APT, в то время как другие говорили вам использовать dpkg.
Так имеет ли значение, устанавливаете ли вы пакеты в своей системе Linux с помощью любого из этих менеджеров пакетов? Какая разница? Сегодня мы займемся этими вопросами, чтобы вы знали, как лучше всего устанавливать пакеты в Ubuntu.
APT vs dpkg: два важных установщика пакетов
APT и dpkg – это интерфейсы управления пакетами командной строки, которые вы можете использовать в терминале в Ubuntu и других системах на основе 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 идеально подходит для правильного удаления пакетов и их удаления из вашей системы.