Многие пользователи Linux часто не понимают разницы между apt и apt-get, что немудрено: обе утилиты используются для установки, обновления, удаления пакетов и во многом схожи друг с другом. В этой статье мы обсудим разницу между apt и apt-get.
Примечание: Cтоит различать команду apt и APT (Advanced Packaging Tool), т.к. несмотря на схожесть их наименования, это, все-таки, разные понятия.
- Что такое APT?
- Утилита apt
- Утилита apt-get
- Что не так с apt-get?
- Как apt решает эту проблему?
- Получается, apt-get устарел?
- В чем разница между apt и apt-get?
- apt имеет красивую шкалу прогресса
- apt отображает список пакетов, которые могут быть обновлены
- apt объединяет в себе функции apt-get, apt-cache и dpkg -l
- apt имеет новые команды
- Различный синтаксис команд apt и apt-get
- Так что же мне следует использовать: apt или apt-get?
Что такое 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:
apt | apt-get | Назначение команды |
---|---|---|
apt update | apt-get update | Обновление списка доступных пакетов. |
apt install [имя_пакета] | apt-get install [имя_пакета] | Установка пакета. |
apt upgrade | apt-get upgrade | Установка более новых версий пакетов. |
apt full-upgrade | apt-get dist-upgrade | Обновление всех пакетов и удаление ненужных зависимостей. |
apt remove [имя_пакета] | apt-get remove [имя_пакета] | Удаление пакета. |
apt purge [имя_пакета] | apt-get purge [имя_пакета] | Полное удаление пакета вместе со всеми его конфигурационными файлами. |
apt autoremove | apt-get autoremove | Удаление ненужных зависимостей. |
apt search [имя_пакета] | apt-cache search [имя_пакета] | Поиск пакета по его имени. |
apt show [имя_пакета] | apt-cache show [имя_пакета] | Вывод информации о пакете. |
apt policy | apt-cache policy | Вывод информации об используемых репозиториях, а также их приоритете. |
apt policy [имя_пакета] | apt-cache policy [имя_пакета] | Вывод информации о версии установленного пакета и доступной для обновления версии пакета. |
Так что же мне следует использовать: apt или apt-get?
Команду apt рекомендуют к использованию сами дистрибутивы Linux. Она предоставляет необходимые возможности для управления пакетами, и её проще использовать из-за меньшего количества опций, которые, тем не менее, легко запоминаются.
Команда apt-get остается активной для обеспечения обратной совместимости и используется в тех специфических случаях, где функционала команды apt не хватает.