Это старая версия документа!
# Advanced Package Tool (APT)
Advanced Package Tool (APT) — набор программ для установки, обновления и удаления программных пакетов применяемый в основном в дистрибутиве Debian и других дочерних по отношению к нему дистрибутивах (например: Ubuntu, Linux Mint). Так же APT используется в дистрибутивах основанных на Mandrake (Mandriva, ALT Linux и PCLinuxOS).
APT может автоматически устанавливать и настраивать программы для UNIX-подобных операционных систем как из предварительно откомпилированных пакетов, так и из исходных кодов. Пакеты берутся из интернет-репозиториев, либо их можно установить с имеющихся носителей.
Для своей работы APT в качестве бэкенда использует утилиту dpkg которая сама не может самостоятельно работать с удаленными репозиториями или отслеживать взаимозависимости между пакетами.
Таким образом, APT решает три ключевые задачи:
- Установка/удаление программ с автоматическим разрешением зависимостей
- Обновление системы и отдельных пакетов
- Поиск и анализ доступного ПО
. ## Команды для основных действий с программными пакетами
Основной синтаксис команды apt следующий: ``` sudo apt <действие> <пакет(ы)> <доп. параметры> ``` для выполнения требуются права root.
| Команда | Исполняемое действие |
|---|---|
| apt update | Обновление баз данных пакетов (указанных в `/etc/apt/sources.list`) |
| apt upgrade | Обновление системы |
| apt search пакет | Поиск пакетов |
| apt search ^пакет | Поиск пакетов по регулярному выражению |
| apt show пакет | Поиск пакетов и вывод информации о пакете. Отображается версия, размер, описание, зависимости и др. |
| apt install пакет | Установить пакет |
| apt purge пакет | Удалить пакет и его конфигурационные файлы. Возможно использовать для уже удаленного пакета. |
| apt remove пакет | Удалить пакет |
| apt autoremove | Удаление всех пакетов-сирот |
| apt autoclean | Очистка кэша неустановленных пакетов |
| apt clean | Очистка кэша пакетов |
| apt edit-sources | Открывает файл `/etc/apt/sources.list` в текстовом редакторе для редактирования, после сохранения изменений и закрытия редактора, выполняет проверку файла на предмет ошибок. В случае наличия ошибок, выводит предложение на повторное редактирование файла, чтобы исправить ошибки. |
| apt full-upgrade | Переход от одной основной версии дистрибутива к следующей |
. ### Вывод списка пакетов
Команда ``` apt list <параметр> ``` используется для вывода списка пакетов соответствующих заданному критерию.
| Команда | Результат действия |
|---|---|
| apt list -\-installed | Вывести список установленных в системе пакетов |
| apt list -\-upgradable | Вывести список пакетов, которые требуют обновления (у которых вышла новая версия) |
| apt list -\-all-versions | Вывести список всех пакетов доступных для вашей системы |
Для того, чтобы проверить данные по какому-то конкретному пакету используется команда ``` apt list <имя_пакета> ``` например ``` apt list nginx ``` . ### Расширенный поиск
Общий синтаксис команды поиска следующий: ``` apt search <имя_или_описание> ``` Результат её выполнения позволит получить полное представление о всех доступных пакетах соответствующих указанному критерию.
Например ``` apt search editor ``` даст список пакетов у которых слово editor есть как в имени пакета, так и в описании пакета, то есть - _вообще всех редакторов_, доступных для установки.
Для уточнения результатов поиска можно использовать командные опции, а так же регулярные выражения и подстановочные знаки.
Применяемые опции:
- --installed - показать только установленные пакеты.
- --upgradable - показать пакеты, для которых есть обновления.
- --names-only - искать только по именам пакетов (без выдачи пакетов у которых упоминание о vim есть в описаниях).
- --show-types - добавляет к выводу информацию о типе каждого пакета (например, «библиотека», приложение», «зависимость»). Это полезно, чтобы сразу понять, с чем имеем дело.
Регулярные выражения напрямую использовать в `apt search` нельзя т.к. эта команда ищет только по подстрокам (в имени и описании пакета).
Например при выполнении команды `apt search libssl*` — shell сначала раскроет libssl* в список файлов/пакетов, которые есть в текущей директории, и только потом передаст результат в apt для поиска. Результат этого будет почти всегда не тот, что нужен.
Команда `apt search` ожидает обычный текст или регулярное выражение (зависит от версии и реализации), а не shell-wildcards (специальные символы которые способна обрабатывать командная оболочка, например bash).
Метасимволы для регулярных выражений:
| Символ | Описание |
|---|---|
| ^ | Начало строки |
| $ | Конец строки |
| . | Любой символ |
| ** * ** | Нулевая или более количество символов |
| ? | Один символ |
| () | Группировка выражений |
| ? | Отрицательная группа |
## Графические фронтенды
Существуют программы предоставляющие пользователю графический интерфейс для работы с APT:
- Aptitude (aptitude так же имеет псевдографический интерфейс использующий ncurses)
