Менеджер пакетов Apt

APT (Advanced Packaging Tool) – это утилита в Debian-подобных системах, выполняющая установку, обновление пакетов и отслеживание их зависимостей. Целью создания программы была автоматизация процесса управления пакетами, в частности обновление и обслуживание зависимостей, что в случае прямой работы с менеджером dpkg происходило в ручном режиме. Непосредственно манипуляции с пакетами выполняются при помощи программы apt-get, основные команды для работы с которой будут рассмотрены ниже.

Общая структура команды apt-get

apt-get [опции] команда пакет1 пакет2 … пакетN

Приведенные ниже опции могут быть полезными при работе с apt-get:

Опция Описание
-h Вызов справки.
-d Загрузка пакетов без установки и распаковки. Загруженные пакеты будут расположены в директории /var/cache/apt/archives.
-s Имитация выполнения команды.
-y С данной опцией на все вопросы автоматически предоставляется ответ Yes. При этом сами вопросы выводится не будут.
-f Игнорировать результат проверки целостности пакета.
-u Отображать список обновленных пакетов.

Обновление списка доступных для установки пакетов

Выполняется данное действие при помощи команды:

apt-get update

Обновление списка особо важно, если необходимо установить наиболее свежую и стабильную версию пакета. При выполнении этой команды, программа просматривает архивы, указанные в файле /etc/apt/sources.list.

Установка пакета

Для того, чтобы установить какой-либо пакет, используется команда:

apt-get install packagename

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

root@vps:~# apt-get install aee
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
The following NEW packages will be installed:
  aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
0 upgraded, 6 newly installed, 0 to remove and 44 not upgraded.
Need to get 181 kB/1297 kB of archives.
After this operation, 4366 kB of additional disk space will be used.
Do you want to continue [Y/n]?

В случае отсутствия зависимостей, процесс установки произойдет автоматически без вывода каких-либо вопросов.

Также, в момент ввода команды для установки пакетов можно указать названия пакетов, которые необходимо удалить. Для этого в конце имени удаляемого пакета необходимо добавить дефис. Пример такого способа установки/удаления приведен ниже:

root@vps:~# apt-get install aee htop-
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
The following packages will be REMOVED:
  htop
The following NEW packages will be installed:
  aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
0 upgraded, 6 newly installed, 1 to remove and 43 not upgraded.
Need to get 1297 kB of archives.
After this operation, 4157 kB of additional disk space will be used.
Do you want to continue [Y/n]?

Как видно из примера, пакет aee подготовлен для установки, а пакет htop – для удаления.

Переустановка пакета

При возникновении необходимости переустановки пакета (повреждение файлов, появление более новой версии), её можно выполнить при помощи следующей команды:

apt-get --reinstall install packagename 

Удаление пакета

Есть два варианта удаления пакетов:

  • Удаление пакета за исключением конфигурационных файлов (если есть).

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

apt-get remove packagename

Стоит также отметить, что если удаляемый пакет имеет зависимости, то он будет удален вместе с ними.

  • Полное удаление пакета

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

apt-get --purge remove packagename

Пакеты, которые отмечены для полного удаления, имеют в конце своего названия символ «*»

  • Удаление и установка в одной команде

Помимо этого, при удалении можно отметить перечень пакетов для установки. Для этого необходимо указать “+” в конце названия пакета. Пример такой команды приведен ниже:

root@vps:~# apt-get --purge remove aee screen+
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  aee*
The following NEW packages will be installed:
  screen
0 upgraded, 1 newly installed, 1 to remove and 43 not upgraded.
Need to get 624 kB of archives.
After this operation, 975 kB of additional disk space will be used.
Do you want to continue [Y/n]?

Обновление пакетов

Перед запуском обновления рекомендуем выполнять обновление списка доступных пакетов командой:

apt-get update

Это позволит актуализировать информацию о доступных пакетах и их версиях. После выполнения этой команды можно приступить непосредственно к обновлению установленных пакетов в системе. Делается это командой:

apt-get -u upgrade

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

Обновление версии дистрибутива

В случае появления новой версии установленного у вас дистрибутива ОС, то можно выполнить «апгрейд» целиком всей системы при помощи команды:

apt-get -u dist-upgrade