Использование APT. Команды apt и apt-get
APT (сокращение от Advanced Packaging Tool) — это набор утилит для установки, удаления, обновления, поиска пакетов в Linux, а также для управления репозиториями. APT еще называют пакетным менеджером.
APT использует репозитории пакетов. Список репозиториев для APT хранится в файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/.
APT используется в дистрибутивах, основанных на Dedian и Ubuntu.
Для управления APT существуют разные утилиты, но самые популярные из них это утилиты командной строки apt-get и apt.
В данной статье мы рассмотрим, как пользоваться командой apt, а также узнаем, чем отличается apt от apt-get.
Чем отличаются apt и apt-get
Кратко ответим на очень популярный вопрос, а в чем разница между командами apt и apt-get?
apt это утилита, которая появилась, как альтернатива apt-get. Она выполняет практически все те же функции, что и apt-get, но с ней проще и понятнее работать.
Например, все команды apt имеют простой синтаксис: apt название_команды. А у apt-get есть дополнительные команды, например, apt-cache. Таким образом, при использовании apt, пользователю не нужно запоминать дополнительные наборы команд.
Помимо упрощения работы с командами, apt нагляднее выводит информацию, вроде бы мелочи, но работать удобнее. Например, apt умеет показывать прогресс бар, а при выполнении apt update можно увидеть сколько пакетов можно обновить.
Стоит отметить, что утилита apt-get более функциональна, чем apt. Но для рядового пользователя apt будет более чем достаточно.
Команда apt
Синтаксис команды apt следующий:
sudo apt
Обновить список пакетов
sudo apt update
У APT есть список репозиториев, из которых происходит установка пакетов. Список хранится в текстовом файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/. При выполнении команды apt update, APT проходит по списку репозиториев и из каждого репозитория в списке получает информацию о пакетах, находящихся в репозитории. Вся эта информация сохраняется в системе.
Если выходит новая версия какого-нибудь пакета, то APT не узнает об этом, пока не будет выполнена команда apt update. Поэтому, если установить данный пакет (не выполнив предварительно apt update), то будет установлена та версия пакета, информация о которой хранится в системе в данный момент.
Нужно ли выполнять apt update перед установкой каждого пакета?
Нет, перед установкой каждого пакета apt update конечно же выполнять не следует. Достаточно выполнять apt update периодически. Если вам предстоит установка нескольких пакетов, то сначала можно один раз выполнить apt update, а потом уже устанавливать пакеты.
Крайне рекомендуется выполнять apt update перед обновлением пакетов (перед apt upgrade).
Обновить установленные пакеты
Чтобы выполнить обновление пакетов, установленных в системе, используется команда:
sudo apt upgrade
Данная команда только обновляет пакеты до новых версий, но никогда не удаляет и не устанавливает другие пакеты.
Есть еще одна команда для обновления пакетов:
sudo apt full-upgrade
Данная команда выполняет обновление пакетов, а также удаляет или устанавливает новые пакеты, если это потребуется для разрешения зависимостей.
Установить пакет
Чтобы установить пакет используется команда:
sudo apt install
Установить несколько пакетов
Для установки нескольких пакетов их имена записываются через пробел:
sudo apt install
Установить определенную версию пакета
Чтобы установить определенную версию пакета нужно после названия пакета, через знак равенства, указать требуемую версию:
sudo apt install =
Удалить пакет
Для удаления, установленного пакета, используется команда:
sudo apt remove
Удалить пакет и его конфигурационные файлы
sudo apt purge
apt purge работает аналогично apt remove, но удаляет еще и конфигурационные файлы, относящиеся к пакету. Это означает, что если вы установили какую-нибудь программу, настроили ее, а потом удалили командой apt remove, то конфигурационный файл этой программы останется в системе. Если вы теперь установите эту программу снова, то можно будет использовать предыдущий конфигурационный файл, так как он не был удален.
apt purge не удаляет конфигурационные файлы, хранящиеся в вашей домашней директории.
Если вы удалили пакет командой apt remove, то вы можете выполнить apt purge для данного, уже удаленного пакета, чтобы «доудалить» его конфигурационные файлы.
Удалить неиспользуемые пакеты
sudo apt autoremove
Когда вы устанавливаете пакет, то часто устанавливаются дополнительные пакеты, являющиеся его зависимостями. Если теперь вы удалите этот пакет, то зависимости останутся в системе. apt autoremove удаляет эти зависимости, но только те, которые не нужны другим установленным пакетам.
Список пакетов
Команда apt list используется для вывода списка пакетов по какому-то критерию.
Вывести список установленных в системе пакетов:
apt list --installed
Вывести список пакетов, которые требуют обновления (у которых вышла новая версия):
apt list --upgradable
Вывести список всех пакетов доступных для вашей системы:
apt list --all-versions
Поиск пакетов
apt search
Данная команда выполняет поиск указанного слова в названии пакетов и в описании пакетов. Поддерживаются регулярные выражения.
Можно выполнять поиск только по названиям пакетов для этого используется опция —names-only :
apt search --names-only
Поиск пакета с использованием регулярных выражений:
apt search --names-only '^python'
Информация о пакете
apt show
Выводит информацию о пакете. Отображается версия, размер, описание, зависимости и другая информация.
Редактирование списка репозиториев
sudo apt edit-sources
Открывает файл /etc/apt/sources.list в текстовом редакторе для редактирования, после сохранения изменений и закрытия редактора, выполняет проверку файла на предмет ошибок. В случае наличия ошибок, выводит предложение на повторное редактирование файла, чтобы исправить ошибки.
Таблица аналогов команд apt и apt-get
Команда apt | Аналог команды apt-get | Описание |
---|---|---|
apt install | apt-get install | Установить пакет |
apt remove | apt-get remove | Удалить пакет |
apt purge | apt-get purge | Удалить пакет и конфигурационные файлы |
apt autoremove | apt-get autoremove | Удалить неиспользуемые пакеты |
apt update | apt-get update | Обновить список пакетов |
apt upgrade | apt-get upgrade | Обновить пакеты |
apt full-upgrade | apt-get dist-upgrade | Обновить пакеты (удалить и установить новые, если требуется) |
apt list | Примерный аналог: dpkg-query —list | Список пакетов |
apt search | apt-cache search | Поиск пакета |
apt show | apt-cache show | Информация о пакете |
Пакетный менеджер APT
Advanced Packaging Tool – набор утилит для управления программными пакетами в операционных системах основанных на Debian. APT предоставляет дружественную надстройку над DPKG и позволяет:
устанавливать, удалять и обновлять пакеты
решать зависимости
искать пакеты по заданным критериям
просматривать подробную информацию о пакете
манипулировать ключами от репозиториев
APT является одной из базовых программ и включена в состав Ubuntu.
Настройки
Все файлы настроек APT хранятся в директории /etc/apt.
apt.conf
/etc/apt/apt.conf – основной файл настроек, используемый всеми инструментами из состава APT. Описание всех возможных настроек и опций можно прочитать в документации к нему:
man apt.conf
apt.conf.d
Директория содержащая в себе файлы конфигурации, аналогичные по синтаксису apt.conf. При помощи этой директории можно быстро и удобно манипулировать настройками APT добавляя или удаляя подготовленные файлы с настройками.
auth.conf
Файл, содержащий ключи, для авторизации в репозиториях. Например, туда добавляются логины и пароли от репозиториев к купленным в Центре приложений программам.
sources.list
sources.list.d
Директория с файлами репозиторий, по назначению аналогичных sources.list. Каждый репозиторий описывается в отдельном файле.
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
Начиная с версии Ubuntu 16.04 доступна новая утилита apt , которая содержит наиболее часто используемые команды из apt-get и apt-cache . Утилита apt предназначена для пользователей, в то время как apt-get можно рассматривать как как инструмент более низкого уровня.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
update — Обновить информацию о пакетах, содержащихся в репозиториях.
install foo — Установить пакет foo. Скачивание, установка и настройка происходят автоматически. Если для настройки пакета foo нужны дополнительные сведения, будет показан запрос к пользователю.
upgrade — Обновление пакетов, для которых в репозитории доступны новые версии.
dist-upgrade — Обновление пакетов, требующих разрешения зависимостей (установка дополнительных или удаление конфликтующих пакетов).
remove foo — Удаление пакета foo из системы.
purge foo — Удаление пакета foo и очистка системы от его конфигурационных файлов. Файлы настроек в домашних каталогах пользователей удалены не будут.
autoremove — Удаление пакета, который более не нужен в системе. Используется для очистки системы от ненужных пакетов. Факт, что пакет более не нужен, определяется следующим образом: если пакет был установлен не сам по себе, а как зависимость для другого пакета, который впоследствии был удалён, значит этот пакет тоже уже не нужен в системе.
source foo — Получение исходных текстов пакета foo.
build-dep foo — Получение зависимостей для сборки пакета foo.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
sudo apt-get install -f
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
search — Поиск пакета по части названия или описания. Поддерживает регулярные выражения.
show — Информация о пакете: версия, размер, описание и т. п.
depends — Зависимости указанного пакета.
rdepends — Обратные зависимости пакета.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье Репозитории.
Apt-Get
Команда apt-get — это мощный консольный инструмент, который работает с Улучшенным инструментарием пакетов (APT) Ubuntu, выполняющий такие функции, как установка новых программных пакетов, обновление имеющихся пакетов, обновления индекса списка пакетов и даже обновление все системы Ubuntu.
Будучи простым консольным инструментом, apt-get имеет ряд преимуществ над другими инструментами управления пакетами, доступными в Ubuntu серверным администраторам. Некоторые из этих преимуществ включают легкое использование простых терминальных соединений ( SSH ) а также возможность использования в сценариях системных администраторов, которые могут быть автоматизированы с помощью утилиты планирования cron.
Некоторые примеры популярного использования утилиты apt-get:
Установка пакета: Установка пакетов с использованием инструмента apt-get очень проста. Например, для установки сетевого сканера nmap наберите следующее:
sudo apt-get install nmap
Удаление пакета: Удаление пакета (или пакетов) такое же примитивное. Для удаления пакета, установленного в предыдущем примере, наберите следующее:
sudo apt-get remove nmap
Несколько пакетов: Вы можете указать несколько пакетов для установки или удаления, разделяя их пробелами.
Кроме того, добавление опции –purge к apt-get remove удалит также и конфигурационные файлы. Это может оказаться желательным или нежелательным, поэтому используйте с осторожностью.
Обновление индекса пакетов: Индекс пакетов APT по существу база данных доступных пакетов из репозиториев, определенных в файле /etc/apt/sources.list и каталоге /etc/apt/sources.list.d . Для обновления локального индекса пакетов до последних изменений в репозиториях наберите следующее:
sudo apt-get update
Обновление пакетов: Со временем обновленные версии установленных на вашем компьютере пакетов могут стать доступными в репозиториях (например, обновления безопасности). Для обновления вашей системы сначала обновите ваш индекс пакетов, как показано выше, а затем выполните:
sudo apt-get upgrade
Для информации по обновлению до нового выпуска Ubuntu смотрите Обновление
Действия команды apt-get, такие как установка и удаление пакетов, сохраняются в файле журнала /var/log/dpkg.log .
Для дальнейшей информации по использованию APT читайте всестороннее руководство Debian APT User Manual или наберите:
При подготовке материала использовались источники:
https://pingvinus.ru/note/apt
https://help.ubuntu.ru/wiki/apt
https://help.ubuntu.ru/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server/%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8/apt-get