Командный режим aptitude: опции и настройки

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

$ man 8 aptitude

Ранее уже говорилось, что по умолчанию при использовании aptitude с любыми операторами инсталляции устанавливаемый пакет тянет за собой не только "жесткие", обязательные, зависимости, но и изрядную часть "мягких" -- тех, которые майнтайнер пакета посчитал нужным включить в категорию recommends. Что не всегда желательно.

Избежать принудительного выполнения "рекомендаций" можно с помощью опции -R, данной в командной директиве установки конкретного пакета. Если же игнорирование "рекомендаций" требуется всегда -- это можно будет запечатлеть в конфигурационном файле. Как именно -- будет сказано чуть ниже. Пока же допустим, что мы уже изменили умолчальное поведение aptitude -- теперь операторы инсталляции учитывают только "жесткие" (depends) зависимости.

Однако для некоторых пакетов все же желательно установить все рекомендуемые зависимости -- например, в случае малознакомых пакетов, с которыми просто лень разбираться. В этом случае можно прибегнуть к опции -r (--with-recommends), которая инвертирует действие опции -R -- то есть заставит установить все рекомендуемые зависимости.

Должен предупредить: применение опции -R к установленной системе Ubuntu требует осторожности. Базовая ее инсталляция осуществляется по принципу "плюс recommends". И применение к ней команды aptitude -R делает как бы "ненужными" многие пакеты. Одни из них -- действительно (на мой взгляд) лишние. Однако в "черный список" могут попасть и нужные пакеты, вплоть до метапакета, определяющего среду дистрибутива -- ubuntu-desktop, kubuntu-desktop или xubuntu-desktop (для дистрибутивов Ubuntu, Kubuntu и Xubuntu, соответственно). Удаление же их повлечет деинсталляцию всех компонентов соответствующих рабочих сред.

Так что перед тем, как нажать Enter в ответ на предложение

Хотите продолжить? [Y/n/?]

внимательно прочтите весь предшествующий ему вывод. Впрочем, привычка читать вывод перед тем, как "давить батоны", не будет лишней при работе с любой программой...

Тем не менее, вполне возможно, что по разрешении указанных противоречий, опцию -R все же захочется сделать умолчальной. Для этого нужно внести изменения в конфигурационные файлы aptitude. Вообще-то aptitude обращается к тем же конфигам, что и apt (/etc/apt/sources.list, /etc/apt/apt.conf),однако имеет и собственный -- ~/.aptitude/config. По умолчанию он пуст, но может быть отредактирован по потребностям. В частности, для придания опции -R статуса по умолчанию, в этот файл следует внести такую строку:

aptitude::Recommends-Important "false";

К слову сказать, можно, напротив, сделать так, чтобы при установке пакета автоматически инсталлировались также и "предлагаемые" (suggest) зависимости. Это достигается строкой

aptitude::Suggests-Important "true";

Вообще-то опций конфигурирования для aptitude предусмотрено великое множество -- и многие из них применимы не только к командному, но и к интерактивному режиму, позволяя настроить внешний вид интерфейса и многое другое, о чем будет сказано на соответствующей странице. Ознакомиться с полным набором опций конфигурирования aptitude и их умолчальными значениями можно в официальной документации -- она включена в состав дистрибутива и находится в каталоге /usr/share/doc/aptitude/html/{lang}/. Здесь под {lang} подразумевается язык документа -- кроме английской (en) версии, в репозитории Ubuntu существуют переводы его на французский, финский и чешский языки; кстати, в репозитории Debian русской версии этого документа также не обнаруживается. А текущие настройки можно посмотреть в файле /usr/share/aptitude/aptitude-defaults.

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

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

Что же до интерактивного режима aptitude, требующего запоминания многочисленных горячих клавиш, то его повседневное использование -- сугубо на любителя. Однако в некоторых случаях -- например, при чистке системы от секционных групп пакетов -- он оказывается незаменимым. И именно в этом аспекте будет рассмотрен на следующих страницах.


Теги: , , ,