Использование aptitude из командной строки

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

В общем случае вызов aptitude из командной строки выглядит так:

aptitude действие [аргументы...]

действие говорит aptitude, какое действие следует предпринять; остальные аргументы используются в соответствии с конкретными опциями. Обычно они состоят из имен пакетов и переключателей командной строки[4].

Наиболее важными действиями являются следующие:

aptitude update

Эта команда обновляет список пактов как если бы вы вошли в графический интерфейс и нажали клавишу u.

aptitude safe-upgrade

Эта команда обновит наибольшее число пакетов, которые можно обновить не удаляя существующие пакеты.

Иногда необходимо удалить один пакет для того, чтобы обновить другой; в таких ситуациях эта команда не может обновить пакеты. Используйте команду full-upgrade, чтобы обновить также и эти пакеты.

aptitude full-upgrade

Подобно команде safe-upgrade, эта команда попытается обновить пакеты, но она более агрессивна относительно разрешения проблем зависимостей: она будет устанавливать и удалять пакеты до тех пор пока все зависимости не будут удовлетворены. Возможно, она приведёт к нежелательным вещам, поэтому следует быть аккуратными при её использовании.

[Примечание]Примечание

По историческим причинам эта команда была изначально названа dist-upgrade, и это имя все еще распознается aptitude.

aptitude [ install | remove | purge ] пакет1 [пакет2...]

Эти команды устанавливают, удаляют или вычищают[5] конкретные пакеты. «Установка» уже установленного пакета, который может быть обновлён, приведёт к его обновлению.

aptitude search шаблон1 [шаблон2...]

Эта команда ищет пакеты, чьи имена содержат любой данный шаблон, и выводит результат в терминал. В дополнение к простой строке текста, каждый шаблон может выступать поисковым шаблоном как это описано в разделе «Поисковые шаблоны». [6] Например, «aptitude search gnome kde» выведет список всех пакетов, чьи имена содержат «gnome» или «kde».

aptitude show пакет1 [пакет2...]

Выводит информацию о каждом указанном пакете в терминал.

Все команды, которые устанавливают, обновляют и удаляют пакеты допускают параметр -s, который означает «симулирование». Когда параметр -s передан из командной строки, программа выполнит все действия, которые она обычно выполнила бы, но, в действительности, она не загрузит и не установит/удалит какие-либо файлы.

Иногда aptitude будет давать подсказки подобные этой:

Следующие НОВЫЕ пакеты будут автоматически установлены:
  space-orbit-common 
Следующие НОВЫЕ пакеты будут установлены:
  space-orbit space-orbit-common 
0 пакетов обновлено, 2 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 3200kB архивов. После распаковки 8413kB будет занято.
Хотите продолжить? [Y/n/?]

В дополнение к очевидным опциям «Да» и «Нет», доступен ряд команд, которые могут быть использованы для изменения отображаемой в подсказке информации или для определения дальнейших действий. Например, ввод s приведёт к отображению или скрытию информации о том, сколько места будет использовано каждым пакетом:

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

Будет отображаться информация об изменении размеров.

Следующие НОВЫЕ пакеты будут автоматически установлены:
  space-orbit-common <+8020kB> 
Следующие НОВЫЕ пакеты будут установлены:
  space-orbit <+393kB> space-orbit-common <+8020kB> 
0 пакетов обновлено, 2 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 3200kB архивов. После распаковки 8413kB будет занято.
Хотите продолжить? [Y/n/?]

Сходным образом ввод d приведёт к отображению информации об автоматически устанавливаемых или удаляемых пакетах:

Следующие НОВЫЕ пакеты будут автоматически установлены:
  space-orbit-common (D: space-orbit)
Следующие НОВЫЕ пакеты будут установлены:
  space-orbit space-orbit-common 
0 пакетов обновлено, 2 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 3200kB архивов. После распаковки 8413kB будет занято.

Это показывает, что space-orbit-common будет установлен, так как space-orbit зависит от него. Вы можете увидеть весь список возможных опций, введя в приглашение ?.

Если ваш запрос нарушает зависимости так, что эта проблема не может быть легко разрешена, aptitude спросит, что делать:

Следующие пакеты НЕРАБОТОСПОСОБНЫ:
  libsdl1.2debian
Следующие пакеты будут УДАЛЕНЫ:
  libsdl1.2debian-alsa
.
.
.
Следующие действия разрешат зависимости:

Установить следующие пакеты:
libsdl1.2debian-all [1.2.12-1 (unstable)]

Счёт 41

Принять данное решение? [Y/n/q/?]

Ввод y (или простое нажатие клавиши Enter) приведёт к принятию предложенного решения. Ввод n отобразит «следующее наилучшее» решение:

Принять данное решение? [Y/n/q/?] n
Следующие действия разрешат зависимости:

Установить следующие пакеты:
libsdl1.2debian-esd [1.2.12-1 (unstable)]

Счёт 19

Принять данное решение? [Y/n/q/?]

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

Ввод q приведёт к аварийному закрытию автоматического решателя и позволит вам разрешить зависимости вручную:

Принять данное решение? [Y/n/q/?] q
aptitude не удалось найти решение для этих зависимостей. Вы можете разрешить это вручную или нажмите 'n', чтобы выйти.
Следующие пакеты имеют неудовлетворённые зависимости:
  libsdl1.2debian: Зависимости: libsdl1.2debian-alsa (= 1.2.12-1) но его невозможно установить или
                            libsdl1.2debian-all (= 1.2.12-1) но его невозможно установить или
                            libsdl1.2debian-esd (= 1.2.12-1) но его невозможно установить или
                            libsdl1.2debian-arts (= 1.2.12-1) но его невозможно установить или
                            libsdl1.2debian-oss (= 1.2.12-1) но его невозможно установить или
                            libsdl1.2debian-nas (= 1.2.12-1) но его невозможно установить или
                            libsdl1.2debian-pulseaudio (= 1.2.12-1) но его невозможно установить или
Будете разбираться с зависимостями вручную? [N/+/-/_/:/?]

Вы можете использовать любую команду управления пакетами для разрешения сломанных зависимостей (введите ?, чтобы увидеть полный список доступных команд). Введите n или нажмите Enter, чтобы выйти из aptitude:

Будете разбираться с зависимостями вручную? [N/+/-/_/:/?] n
Прервать.

Полную документацию по возможностям командной строки aptitude, см. в Руководство по командной строке.



[4] «Переключатель» — это буква, упреждённая дефисом: например, «-a», «-v» и т. д.

[5] Вычистка пакета удаляет пакет и его файлы настройки.

[6] В действительности то же верно и относительно команд, которые принимают пакеты в качестве аргументов, таких как install или show.