Понимание APT, APT-Cache и их часто используемых команд

Если вы когда-нибудь пользовались Debian или дистрибутивами на базе Debian, такими как Ubuntu или Linux Mint то вы использовали систему пакетов apt для установки или удаления программ.

Даже если вы никогда не баловались командной строкой, базовой системой, которая обеспечивает работу GUI вашего менеджера пакетов, является система APT.

Что такое APT?

APT расшифровывается как Advanced Package Tool, который впервые появился в Debian 2.1 в 1999 году. По сути, APT – это система управления пакетами dpkg, имеющая расширение .deb.

Она была разработана не только для управления пакетами и обновлениями, но и для решения многочисленных проблем зависимостей при установке определенных пакетов.

Всем, кто использовал Linux в те пионерские времена, был знаком термин «ад зависимостей» при попытке скомпилировать что-то из исходных текстов или даже при работе со многими отдельными RPM-файлами Red Hat.

APT решил все эти проблемы с зависимостями автоматически, сделав установку любого пакета, независимо от размера или количества зависимостей, командой из одной строки.

Для тех из нас, кто часами трудился над этими задачами, это был один из тех моментов «солнце разгоняет облака» в нашей Linux-жизни.

Понимание конфигурации APT

Файл /etc/apt/sources.list – это файл конфигурации, определяющий репозитории, из которых менеджер пакетов apt извлекает и устанавливает пакеты программ. Этот файл содержит список URL (Uniform Resource Locators) для репозиториев, а также такие детали, как кодовое имя дистрибутива и компоненты.

Приведем пример того, как может выглядеть файл /etc/apt/sources.list:

sudo cat /etc/apt/sources.list

Как вы, вероятно, поняли из моего файла /etc/apt/sources.list, я использую Ubuntu 22.04 (ammy Jellyfish). Я также использую три репозитория:

  • Main Repository
  • Universe Repository
  • Ubuntu Security Repository

Синтаксис файла /etc/apt/sources.list относительно прост:

deb (url) release repository

Следующая строка – это репозиторий исходных файлов. Она имеет аналогичный формат:

deb-src (url) release repository

Это практически единственное, что вам когда-либо придется редактировать с помощью APT, и есть шанс, что настройки по умолчанию будут служить вам достаточно хорошо, и вам никогда не придется редактировать его.

Однако бывают случаи, когда вы захотите добавить сторонние репозитории. Вы просто введете их, используя тот же формат, а затем выполните команду update:

sudo apt update

NOTE: Будьте очень внимательны при добавлении сторонних репозиториев!!! Добавляйте только из доверенных и надежных источников. Добавление сомнительных репозиториев или смешивание релизов может серьезно испортить вашу систему!

Мы посмотрели на наш файл /etc/apt/sources.list и теперь знаем, как его обновить, что же дальше? Давайте установим несколько пакетов. Допустим, у нас есть сервер и мы хотим установить WordPress.

Сначала давайте найдем пакет:

sudo apt-cache search wordpress

Что такое APT-Cache?

Apt-Cache – это команда, которая просто запрашивает apt-cache. Мы передали ей параметр поиска, указав, что хотим искать в APT. Как мы видим выше, поиск wordpress вернул несколько пакетов, связанных с поисковой строкой, с кратким описанием каждого пакета.

Из этого мы видим основной пакет wordpress – менеджер веблогов, и мы хотим установить его. Но было бы неплохо узнать, какие именно зависимости будут установлены вместе с ним? apt может рассказать нам и об этом:

sudo apt-cache showpkg wordpress

Это показывает нам, что wordpress 5.8.3 – это версия, которая будет установлена, репозиторий, из которого она будет установлена, обратные зависимости и другие пакеты, от которых она зависит, плюс номера их версий.

NOTE: (null означает, что версия не определена, и будет установлена последняя версия в репозитории.)

Ну а теперь собственно команда install:

sudo apt install wordpress

Эта команда установит WordPress-5.8.3 и все зависимости, которые не установлены в данный момент.

Конечно, это не все, что можно сделать с помощью APT. Ниже приведены некоторые другие полезные команды apt:

ПРИМЕЧАНИЕ: Хорошей практикой является запуск apt update перед выполнением любой серии команд apt. Помните, что apt update анализирует ваш файл /etc/apt/sources.list и обновляет его базу данных.

Удаление пакета так же просто, как и его установка:

sudo apt remove wordpress

К сожалению, команда apt remove оставляет все конфигурационные файлы нетронутыми. Чтобы удалить и их, нужно использовать команду apt purge:

sudo apt purge wordpress

Время от времени вы можете столкнуться с ситуацией, когда нарушены зависимости. Обычно это происходит, когда вы неправильно запускаете apt update, что приводит к повреждению базы данных К счастью, apt исправляет это:

sudo apt –f install

Поскольку apt загружает все .deb файлы из репозитория прямо на вашу машину (хранит их в /var/cache/apt/archives), вы можете периодически удалять их, чтобы освободить место на диске:

sudo apt clean

Это лишь малая часть apt, apt-cache, и некоторых полезных команд. Вам предстоит еще многому научиться и изучить некоторые более продвинутые команды в следующей статье.

Как всегда, загляните на man-страницы, чтобы узнать еще больше возможностей. Как только вы освоите apt, вы сможете писать потрясающие Cron-скрипты для поддержания системы в актуальном состоянии.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)