Многие пользователи Ubuntu задаются вопросом, в чём же заключается разница между apt
и apt-get
и каким из этих интерфейсов целесообразнее пользоваться.
Для ответа на эти вопросы нужно понять, когда и для чего были созданы эти интерфейсы командной строки.
Содержание
- Что представляет собой apt-get
- Особенности apt
- Новые команды
- Использование нового интерфейса
- Заключение
Что представляет собой apt-get
Интерфейс командной строки этого инструмента используется для взаимодействия с системой управления пакетами APT (Advanced Package Tool). Он предназначен для установки, обновления, составления списка и удаления пакетов из системы.
Однако apt-get
является всего лишь одним из инструментов, используемых для связи с системой APT. Наряду с ним существует также apt-cache
, apt-config
и добавленный позже apt
.
Особенности apt
Ряд особенностей и функций:
- объединение функций
apt-get
иapt-cache
; - дополнительный выход и улучшенный дизайн;
- изменения в синтаксисе команд для существующих функций;
- две новые эксклюзивные функции.
До Ubuntu 16.04 пользователи регулярно взаимодействовали с менеджером пакетов APT с помощью инструментов командной строки: apt-get
, apt-cache
и apt-config
. Хотя эти инструменты предлагают множество функций, большинство обычных пользователей не использовали все предоставленные ими команды.
Была поставлена задача создания упрощённого инструмента, состоящего только из основных команд. С выпуском Ubuntu 16.04 был представлен новый интерфейс командной строки — apt
.
Основная цель этого нововведения состояла в том, чтобы объединить наиболее часто используемые команды старого интерфейса.
Помимо очевидных различий между командами были внесены изменения в дизайн вывода.
Наряду с обновлением локального репозитория команда update
стала включать дополнительную строку, отображающую количество пакетов, которые необходимо обновить. Эта новинка служит полезным напоминанием об обновлении необходимых пакетов.
mensh@139-162-132-20:~$ sudo apt update
[sudo] password for mensh:
Hit:1 http://mirrors.linode.com/ubuntu focal InRelease
Hit:2 http://mirrors.linode.com/ubuntu focal-updates InRelease
Hit:3 http://mirrors.linode.com/ubuntu focal-backports InRelease
Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:5 http://ppa.launchpad.net/ondrej/php/ubuntu focal InRelease
Fetched 114 kB in 1s (106 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
5 packages can be upgraded. Run 'apt list --upgradable' to see them.
mensh@139-162-132-20:~$
Когда в выходных данных отображается количество пакетов, которые можно обновить, можно запросить у менеджера пакетов их список. Запускается команда apt list --upgradable
и на выходе появляется необходимый список.
Выходные данные включают улучшенный дизайн для более чёткого представления с цветовым акцентом.
mensh@139-162-132-20:~$ apt list --upgradeable
Listing... Done
distro-info-data/focal-updates 0.43ubuntu1.13 all [upgradable from: 0.43ubuntu1.12]
linux-firmware/focal-updates 1.187.39 all [upgradable from: 1.187.38]
openssh-client/focal-updates 1:8.2p1-4ubuntu0.7 amd64 [upgradable from: 1:8.2p1-4ubuntu0.5]
openssh-server/focal-updates 1:8.2p1-4ubuntu0.7 amd64 [upgradable from: 1:8.2p1-4ubuntu0.5]
openssh-sftp-server/focal-updates 1:8.2p1-4ubuntu0.7 amd64 [upgradable from: 1:8.2p1-4ubuntu0.5]
mensh@139-162-132-20:~$
Наконец, был добавлен индикатор выполнения, отображающий процесс обновления. Это простое, но полезное дополнение, которое даёт пользователю больше информации о данном процессе.
mensh@139-162-132-20:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
mc libmagickcore-6.q16-6-extra imagemagick libmagickwand-6.q16-6 mc-data
imagemagick-6.q16 libopenexr24 libmagickcore-6.q16-6 imagemagick-6-common
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following packages will be upgraded:
distro-info-data linux-firmware openssh-client openssh-server openssh-sftp-server
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 137 MB of archives.
After this operation, 817 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Проверка на необходимость удаления ненужных зависимостей:
mensh@139-162-132-20:~$ sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
mensh@139-162-132-20:~$
Хотя новый инструментt заменяет часто используемые функции старого, обратной совместимости нет. Не всегда можно заменить старые менеджеры пакетов на новый.
Функция команды | Существующая команда | Команда apt |
---|---|---|
Обновить репозиторий пакетов | apt-get update | apt update |
Обновить пакеты | apt-get upgrade | apt upgrade |
Обновить пакеты и удалить ненужные зависимости | apt-get dist-upgrade | apt full-upgrade |
Установить пакет | apt-get install [package_name] | apt install [package_name] |
Удалить пакет | apt-get remove [package_name] | apt-remove [package_name] |
Удалить пакет с конфигурацией | apt-get purge [package_name] | apt purge [package_name] |
Удалить ненужные зависимости | apt-get autoremove | apt autoremove |
Поиск пакета | apt-get search [package_name] | apt search [package_name] |
Показать информацию о пакете | apt-cache show [package_name] | apt show [package_name] |
Показать активные источники пакетов | apt-cache policy | apt policy |
Показать установленные и доступные версии пакета | apt-cache policy [package_name] | apt policy [package_name] |
Новые команды
Помимо упрощения существующих команд появилась ещё пара собственных, которые были добавлены для выполнения необходимых командных функций, перечисленных ниже.
Функция | Новая команда apt |
---|---|
Список пакетов по критериям | apt list |
Редактировать список источников | apt edit-sources |
Новые команды расширили возможности инструмента.
Использование нового интерфейса
Большинство пользователей Ubuntu считают, что этот инструмент следует использовать всегда вместо старого. Новым инструментом проще пользоваться и он намного быстрее выполняет задачи.
Конечно, бывают случаи, когда замена apt-get
или apt-cache
невозможна. Тем не менее многим пользователям команды apt
вполне достаточно.
Произойдёт ли официальный переход на новый интерфейс пока не ясно.
Заключение
В этой небольшой статье были показаны различия между apt
и apt-get
. Выбор того или иного инструмента в конечном случае является делом привычки.