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

  Дмитрий Бушуев  | 

  Обновл. 2 Окт 2021  | 

 11799

 ǀ   6 

Многие пользователи 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:

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 не хватает.


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (25 оценок, среднее: 4,68 из 5)
Загрузка...

Комментариев: 6

  1. ivan:

    Классная статья, спасибо! Да и вообще ресурс классный.
    P.S. Спасибо за поддержку Украины

  2. Давид:

    Спасибо, очень хороший цикл статей по Линукс.

    1. Фото аватара Дмитрий Бушуев:

      Пожалуйста 🙂

  3. Алекс:

    Спасибо! Интересная информация. Давно использую только apt.

    1. Фото аватара Дмитрий Бушуев:

      Пожалуйста 🙂

Добавить комментарий для Юрий Отменить ответ

Ваш E-mail не будет опубликован. Обязательные поля помечены *