Багато користувачів Linux часто не розуміють різниці між apt та apt-get, що не дивно: обидві утиліти використовуються для встановлення, оновлення, видалення пакетів і багато в чому схожі між собою. В цій статті ми обговоримо різницю між apt та apt-get.
Примітка: Варто розрізняти команду 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. Користувач-початківець просто заплутається в них.
Функціонал команд, які замінює утиліта 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 не вистачає.


(7 оцінок, середня: 4,86 з 5)