Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Установка новых программных пакетов

Apt - за ширмой Synaptic

Оригинал: Beyond Synaptic - using apt for better package management
Автор: Ryan Cartwright
Дата: 3 апреля 2008
Перевод: Александр Тарасов aka oioki
Дата перевода: 8 апреля 2008

У меня дистрибутив Debian, поэтому я пользуюсь apt и соответствующими утилитами. Если вы еще не знакомы с apt, тогда вам стоит прочитать эту статью, в которой вкратце описаны эти утилиты, делающие работу с пакетами простой, но в то же время мощной.

Исторический обзор

Немного истории. Программа apt (Advanced packaging tool - Улучшенное средство управления пакетами) была создана в 1998 году и впервые была включена в дистрибутив Debian 2.1 в 1999. По сути нет какой-то одной программы под названием apt, на самом деле есть набор программ и функций, изначально задумываемых как оболочка для dpkg. dpkg - это сердце системы управления пакетами в Debian (на данный момент в apt имеется поддержка еще и RPM). К самому apt существует немало оболочек, к примеру Synaptic, aptitude и Adept. Но в данной статье я хочу рассмотреть исключительно консольные программы.

Одним из очевидных преимуществ apt является работа с репозиториями. Как и многие системы управления пакетами, apt задействует репозитории для поиска и скачивания пакетов. Такая организация позволяет легко справляться с неудовлетворенными зависимостями при установке пакетов. Если чего-то в системе не хватает, из репозитория будут автоматически выкачаны и установлены соответствующие зависимости. Еще при установке из репозитория apt может рекомендовать другие пакеты, которые могут оказаться полезными. Они не являются зависимостями (устанавливаемый пакет будет работать без них), однако рекомендуется их все-таки устанавливать, чтобы улучшить безопасность, производительность и т.п. Необязательно следовать политике Debian.

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

Итак, приступим к самим программам.

apt-update

:~$ sudo apt-update

Apt задействует кэш пакетов, хранящийся на локальном компьютере. В нем хранится детальная информация о пакетах, их версиях, содержащихся в них файлах, их зависимостях и то, установлены ли они на данном компьютере или нет. Этот самый кэш требуется периодически (либо перед установкой) синхронизировать с центральным списком на удаленных репозиториях. Приведенная строка эквивалентна команде reload оболочки Synaptic.

apt-cache

:~$ sudo apt-cache search gnumeric
:~$ sudo apt-cache search spreadsheet
:~$ apt-cache search show inkscape
:~$ apt-cache depends python

Apt-cache - это интерфейс к локальному кэшу. С помощью него можно проводить поиск пакета по имени или описанию. Первые два примера выведут списки пакетов, в первом случае будут выведены пакеты, связанные с табличным процессором Gnumeric, а во втором - все, что связано с табличными процессорами (сюда же будет включен и Gnumeric). Для apt-cache есть много опций: уже упомянутый поиск search; show отобразит дополнительную информацию о пакете; depends покажет зависимости устанавливаемого пакета.

apt-get

:~$ apt-get install gnumeric
:~$ apt-get remove inkscape
:~$ apt-get autoremove

Apt-get - это часть apt, которая занимается непосредственной работой с пакетами. Простая команда типа первой из приведенных установит пакет gnumeric со всеми зависимостями (и всеми зависимостями этих зависимостей и т.д.). На экране будет выведена подробная информация о ходе установки. Перед установкой пакета apt-get покажет объем данных, который нужно будет скачать для полной установки пакета, и объем дискового пространства, который займет пакет после установки и спросит у вас подтверждения. Команда remove не будет удалять зависимости, а вместо этого спросит у пользователя разрешить удаление пакетов, которые зависят от удаляемого. Команда autoremove почистит все пакеты, установленные как зависимости, но оставшиеся после удаления зависимого от них пакета.

У этой программы есть и другие опции, которые мы не рассмотрели. За подробностями обращайтесь к соответствующей man-странице.

Другие полезные программы

Эти программы не включены в стандартную установку Debian, поэтому их придется установить самому.

apt-show-versions

:~$ apt-show-versions gnumeric
:~$ apt-show-versions -u

Apt-show-versions полезно при сравнении версий пакетов. Обычным делом является сравнение установленного пакета и пакета из репозитория. Ключ -u выведет список всех установленных пакетов, для которых в репозитории доступна новая версия.

apt-listbugs

После установки apt-listbugs программа apt-get будет вести себя по-другому, а именно перед запуском процесса установки будет выведен список критических ошибок и "дыр" пакета и его зависимостей. Так можно видеть, какие ошибки еще не закрыты разработчиками, либо наоборот исправлены - и принимать решение, следует ли устанавливать пакет.

apt-mirror

Если у вас несколько компьютеров с установленным Debian, можно воспользоваться этой программой для создания локального зеркала всех или отдельных репозиториев, что позволит сэкономить интернет-трафик и нагрузку канала. Такой подход очень хорош, когда вы хотите, чтобы на всех компьютерах были установлены одинаковые версии пакетов.

apt-proxy

Эта программа также призвана уменьшить нагрузку на канал при установке на несколько машин, но работает немного по другому - по принципу прокси, кэширующего обращения к репозиториям.

apt-listchanges

Если установите этот пакет, тогда при очередной установке какого-либо пакета через apt-get будет отображаться информация о новой версии (changelog) пакета перед непосредственно установкой.

apt-zip

Если ваша машина не подключена к сети, тогда будет достаточно сложно обновить ее через apt. apt-zip упрощает этот процесс. С помощью этой программы можно скачать выбранные пакеты на машине, подключенной к сети, и сохранить их в виде архива на каком-нибудь носителе. Потом можно будет установить пакеты из архива на изолированном компьютере.

Заключение

У Synaptic и Aptitude есть свои преимущества - к примеру, Aptitude автоматически подчищает зависимые пакеты при удалении пакета - но все равно о программах пакета apt можно сказать много хорошего. Они могут выручить, когда у вас установлена минимальная система, или когда вы находитесь в какой-нибудь сложной ситуации (без графического интерфейса). В общем, если вы раньше пользовались только Synaptic, то я рекомендую вам попробовать еще и apt.


О средствах управления пакетами ПО в стиле Дебиан вы можете также почитать в следующих статьях нашей "Библиотеки":
  • Виктор Вислобоков, "Использование APT в Red Hat 8.0"
  • Marco Marongiu, перевод А.Тарасова, "Простое управление пакетами с помощью Synaptic" Synaptic - это графическая оболочка (GUI) для управления программными пакетами в дистрибутивах, основанных на Debian. Если вы недолюбливаете консоль, и хотите устанавливать программы без ввода каких-либо команд, тогда читайте: эта статья для вас!