APT в Linux. Как упростить установку и удаление DEB-пакетов?

apt в linux. как упростить установку и удаление deb-пакетов?

Преимущества APT

В прошлом уроке мы изучали консольную утилиту dpkg, предназначенную для работы с deb-пакетами. Она реализует простой функционал удаления и установки пакетов, без учета их зависимостей. Это сильно ограничивает возможности администрирования системы.

Дистрибутивы Linux, произошедшие от Debian, имеют предустановленный менеджер пакетов APT, который является более проработанным аналогом Yum из Read Heat. Для работы с пакетами через APT существует две консольные команды: apt-get и aptitude. Apt-get в основном используется в дистрибутиве Ubuntu, а aptitude рекомендована к применению в Debian (версии 5 и выше). Нужно отметить, что обе команды устанавливаются по умолчанию, вне зависимости от используемой сборки и дистрибутива.

Преимущества менеджера пакетов APT:

  • Пакеты хранятся в общедоступных репозиториях, с которых они могут быть скачаны в любое время.
  • APT автоматически обрабатывает зависимости между пакетами во время установки и удаления.
  • Простота использования. Всего одной командой APT позволяет осуществлять установку, удаление и обновление пакетов.

Основная конфигурация

Настройки менеджера пакетов APT собираются из нескольких мест. Тонкая конфигурация происходит в директории /etc/apt/apt.conf.d/*, в которой по умолчанию располагаются несколько файлов, содержащих параметры архивации, сброса кэша, автоматического обновления пакетов и т. д. Эти настройки очень специфичны и, как правило, не требуют изменений для обычных операций установки и удаления пакетов. Если вы все же хотите ознакомиться с ними глубже, команда «man apt.conf» даст более подробное описание всех возможных опций.

Файл /etc/apt/sources.list содержит конфигурацию репозиториев пакетов. Каждая строка в этом файле описывает отдельный репозиторий. В общем виде запись можно представить как «тип_пакета адрес_репозетория имя_дистрибутива дополнительные_компоненты».

Конфигурация репозитория:

  • тип пакета — стандартным типом пакета в Debian/Ubuntu считается «deb». Если пакет содержит исходные коды, тип записывается как «deb-src».
  • адрес репозитория — URL-адрес ресурса, как правило, использующий протокол http, ftp или ssh.
  • имя дистрибутива — на сервере могут храниться несколько версий одного и того же пакета, собранные для разных сборок дистрибутивов Linux. Поэтому, третий параметр требует указания имени сборки. Например, на момент написания статьи «xenial» является именем последней LTS сборки Ubuntu.
  • дополнительные компоненты — могут быть записаны в ряд через пробел. Описывают характеристики пакетов, которые могут быть установлены из данного репозитория. Например, компонент non-free говорит, что установке подлежат пакеты, не распространяемые бесплатно.
deb http://ru.archive.ubuntu.com/ubuntu/ xenial main restricted
deb https://apt.dockerproject.org/repo ubuntu-xenial main
deb http://archive.canonical.com/ubuntu xenial partner
…

Работа с пакетами

Ниже мы приводим примеры стандартных операций установки, удаления и обновления пакетов с помощью консольной команды apt-get для Ubuntu и её аналога aptitude для Debian. Полные списки опций команд вы можете получить с помощью стандартного механизма получения справки в Linux.

#обновление метаданных пакетов из репозиториев
sudo apt-get update
aptitude update

#оновление всех установленных пакетов
sudo apt-get upgrade
aptitude upgrade

#установка пакета
sudo apt-get install package_name
aptitude install package_name

#удаление пакета с сохранением логов и конфигурации
sudo apt-get remove package_name
aptitude remove package_name

#полное удаление пакета вместе с конфигурацией
sudo apt-get purge package_name
aptitude purge package_name

#показать полную информацию о пакете
sudo apt-get show package_name
aptitude show package_name

Последние публикации