Aptitude: обзор

Программа aptitude была создана в 1999 году в качестве замены dselect -- архаичной и не удобной в использовании надстройки над утилитами dpkg. Впервые она была включена в Debian 2.2 ( так называемый potato), и с тех пор утвердилась в этом дистрибутиве в качестве штатного средства управления пакетами.

Начиная с Debian 4.0 (Etch), вышедшей в 2007 года, в этом дистрибутиве aptitude, как говорится в Debian GNU/Linux FAQ, она является

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

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

Более того, в дистрибутивах на базе OpenSolaris, использующих инфраструктуру Debian (таких, как Nexenta и StormOS), aptitude присутствует наравне с утилитамиapt.

В Сети часто можно встретить мнение, что aptitude выступает в качестве фронт-энда по отношению к apt-утилитам. Однако насколько можно установить из рассмотрения их зависимостей, это не совсем так: aptitude -- независимая от apt программа, просто она основывается на том же наборе библиотек libapt. Так что теоретически говоря, их можно было бы использовать и порознь. Другое дело, что в составе базовой системы Debian и всех его дериватов в обязательном порядке присутствуют и пакет apt (один из многих, входящих в это семейство), и пакет aptitude.

Как уже говорилось, полный набор утилит apt обеспечивает весь мыслимый комплекс действий с пакетами -- от установки единичного пакета с отслеживанием всех его зависимостей до полной пересборки системы из исходников, подобно тому, как это делается в дистрибутивах Source Based. И потому в ряде случаев оказывается незаменимым.

Программа aptitude не столь универсальна по своему назначению. Функции ее сводятся к установке и удалению пакетов и получению информации о них. Однако и то, и другое она делает не просто хорошо, а очень хорошо. А уж в отслеживании зависимостей и разрешении связанных с ними коллизий, особенно в нетривиальных случаях, она не имеет себе равных. И потому разработчиками Debian она рекомендуется ныне в качестве основного средства для управления пакетами.

Программа aptitude работает в текстовом режиме и предполагает два метода использования – интерактивный, через основанный на ncurces интерфейс, и командный - непосредственно из строки шелла. Правда, второй метод в сущности представляет собой эмуляцию операторов команд apt. Однако этим он и приобретает самостоятельное значение.

Тут я должен изложить свое сугубое ИМХО. На мой взгляд, интерактивный режим aptitude требуется в двух случаях:

  1. на стадии начальной установки системы, например, если в ходе инсталляции ограничиться лишь базовыми компонентами, а такие вещи, как Иксы, десктоп и так далее, устанавливать после выполнения апгрейда базы;
  2. после массового удаления пакетов, на предмет выявления "осиротевших" их зависимостей, и вообще в нештатных ситуациях.

Для обычной же жизнедеятельности - поиска нужных пакетов, получения информации о них, установки и удаления - aptitude проще использовать в режиме командной строки.

Командный метод использования aptitude не будет непривычен тому, кто знаком с утилитами apt-get и apt-cache: конструкция ее директив предполагает наличие оператора и, для некоторых из последних, также аргумента -- имени пакета или ключевого слова.

Особенности aptitude в сравнении с утилитами apt проще всего рассмотреть на примере конкретных командных директив. Чем мы и займёмся на ближайших страницах.


Теги: , , ,