Разница между apt и apt-get в Linux

Многие пользователи Linux часто не понимают разницы между apt и apt-get, что немудрено: обе утилиты используются для установки, обновления, удаления пакетов и во многом схожи друг с другом. В этой статье мы обсудим разницу между apt и apt-get.

Примечание: Cтоит различать команду apt и APT (Advanced Packaging Tool), т.к. несмотря на схожесть их наименования, это, все-таки, разные понятия.

Что такое APT?

APT (Advanced Packaging Tool) — это набор утилит командной строки, с помощью которых вы можете взаимодействовать с системой управления пакетов dpkg, применяемой в Debian и других, основанных на Debian, дистрибутивах.

Такие утилиты, как apt, apt-get, apt-cache, apt-config и aptitude (графический интерфейс к APT), взаимодействуют с APT для выполнения различных действий над пакетом (установка, обновление и удаление).

Утилита apt

apt — это утилита командной строки для установки, обновления и удаления пакетов в Ubuntu, Debian и производных дистрибутивах. Она сочетает в себе функционал apt-get, apt-cache и dpkg. Утилита apt создавалась с намерением исправить недостатки, присутствовавшие в apt-get, и не содержит некоторый функционал утилиты apt-get.

Утилита apt-get

apt-get — это консольная утилита управления пакетами, которая широко используется в системах на базе Debian. Команда apt-get позволяет устанавливать, обновлять и удалять пакеты. Для поиска новых пакетов применяется команда apt-cache.

apt-get можно рассматривать как более низкоуровневую надстройку для APT.

Что не так с apt-get?

Утилита apt-get неэффективна и не имеет определенных функций, которые должны существовать в пакетном менеджере. Например, для установки приложения применяется команда apt-get install, но когда вы хотите выполнить поиск нужного пакета, то не получится просто ввести apt-get search. Необходимо использовать команду apt-cache search.

Аналогично, если вы хотите перечислить все пакеты, установленные в системе, команда будет совершенно другой — dpkg --get-selections. Начинающий пользователь просто запутается в них и захочет уйти еще до того, как начнется его путешествие по изучению Linux.

Функционал команд, которые заменяет утилита apt, следующий:

  • apt-get — используется для установки, обновления и удаления пакетов
  • apt-cache — используется для поиска пакетов
  • dpkg -l — используется для перечисления всех пакетов, установленных в системе

Как apt решает эту проблему?

Утилита apt объединяет в одной команде функциональные возможности apt-get (включая apt-cache и dpkg), упрощая взаимодействие с APT.

Получается, apt-get устарел?

Нет никакой официальной информации о прекращении поддержки apt-get. И этого не произойдет в ближайшем будущем, т.к. apt-get по-прежнему предлагает больше функционала, чем apt.

Команда apt-get продолжит использоваться для выполнения всякого рода низкоуровневых операций, написания скриптов и пр. А команда apt просто является более удобной утилитой для конечного пользователя, упрощая взаимодействие с системой Linux.

В чем разница между apt и apt-get?

Существует 5 основных различий между apt и apt-get:

  • apt имеет красивую шкалу прогресса
  • apt отображает список пакетов, которые могут быть обновлены
  • apt объединяет в себе функции apt-get, apt-cache и dpkg -l
  • apt имеет новые команды
  • различный синтаксис команд apt и apt-get

apt имеет красивую шкалу прогресса

При установке или удалении пакета с помощью команды apt, отображается шкала прогресса, показывающая в процентах ход выполнения текущей задачи:

apt отображает список пакетов, которые могут быть обновлены

При обновлении базы данных репозиториев, отображается дополнительная строка с информацией о количестве пакетов, которые могут быть обновлены:

После этого вы можете запросить список этих пакетов, выполнив команду apt list --upgradable. Обратите внимание на улучшенный цветовой дизайн, помогающий более точно расставить акценты на необходимых вам элементах:

apt объединяет в себе функции apt-get, apt-cache и dpkg -l

До Ubuntu 16.04 пользователи взаимодействовали с APT, в основном, только через apt-get, apt-config и apt-cache. Эти утилиты поддерживают множество различных дополнительных команд (например, apt-get install/remove/update/upgrade/help и пр.), и пользователи вынуждены были их запоминать. В связи с этим встал вопрос о создании более простого инструмента управления пакетной базой, который бы состоял только из самых необходимых команд.

С выпуском Ubuntu 16.04 и Debian 8 таким инструментом стал apt, объединивший в себе возможности apt-get и apt-cache. Утилита apt более удобна в использовании по сравнению с существующими инструментами из набора APT. Кроме того, теперь вам больше не требуется переключаться между apt-get и apt-cache.

apt имеет новые команды

Помимо упрощения существующих команд, у apt добавилось несколько новых:

Команда aptНазначение команды
apt list
Вывод списка установленных и доступных для обновления пакетов.
apt edit-sourcesРедактирование файла /etc/apt/sources.list, содержащего список репозиториев, из которых могут быть скачаны пакеты.

Различный синтаксис команд apt и apt-get

Хотя утилита apt и сочетает в себе функционал утилит apt-get и apt-cache, но не все её команды имеют обратную совместимость с apt-get. По этой причине, вы не всегда сможете заменить команду apt-get командой apt. В следующей таблице приведено небольшое сравнение команд apt и apt-get:

aptapt-getНазначение команды
apt updateapt-get updateОбновление списка доступных пакетов.
apt install [имя_пакета]apt-get install [имя_пакета]Установка пакета.
apt upgradeapt-get upgrade
Установка более новых версий пакетов.
apt full-upgradeapt-get dist-upgradeОбновление всех пакетов и удаление ненужных зависимостей.
apt remove [имя_пакета]apt-get remove [имя_пакета]Удаление пакета.
apt purge [имя_пакета]apt-get purge [имя_пакета]Полное удаление пакета вместе со всеми его конфигурационными файлами.
apt autoremoveapt-get autoremoveУдаление ненужных зависимостей.
apt search [имя_пакета]apt-cache search [имя_пакета]Поиск пакета по его имени.
apt show [имя_пакета]apt-cache show [имя_пакета]Вывод информации о пакете.
apt policyapt-cache policyВывод информации об используемых репозиториях, а также их приоритете.
apt policy [имя_пакета]apt-cache policy [имя_пакета]Вывод информации о версии установленного пакета и доступной для обновления версии пакета.

Так что же мне следует использовать: apt или apt-get?

Команду apt рекомендуют к использованию сами дистрибутивы Linux. Она предоставляет необходимые возможности для управления пакетами, и её проще использовать из-за меньшего количества опций, которые, тем не менее, легко запоминаются.

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

Прогаем.ру
Добавить комментарий