Назад | Перейти на главную страницу

aptitude: перечислить все предыдущие рекомендуемые пакеты

Иногда при установке пакета aptitude рекомендует несколько других пакетов.

Есть ли способ показать все предыдущие рекомендуемые пакеты всех установленных пакетов?

Редактировать:

Спасибо за ответы. Я уже пробовал:

aptitude show ~i | grep '^Recommends' | cut -d ' ' -f 2-

В основном это нормально. Но он также возвращает такие вещи, как:

 console-setup | console-data (>= 2002.12.04dbs-1)

Мне нужен простой способ установить все отсутствующие рекомендуемые пакеты.

Так

 aptitude install console-setup | console-data (>= 2002.12.04dbs-1)

не сработает ;-)

Есть ли способ сделать это без ручной проверки всех записей?

Synaptic -> Пользовательские фильтры -> Отсутствующие рекомендации

или

aptitude search '~ RBrecommends: ~ i'

(благодаря http://blog.isonoe.net/post/2011/07/18/Debian-Tips-1%3A-Find-missing-recommended-packages)

другое предложение:

awk '/(^Package|^Recomm)/' /var/lib/dpkg/status | grep -B1 ^Recommends

@EightBitTony: awk тоже очень хорош в поиске, попробуйте следующее:

dpkg --get-selections | awk ' !/deinstall$/{print $1}'

Может быть, есть более элегантный способ, но он мне подходит,

for package in $(dpkg --get-selections | grep -v deinstall | awk '{print $1}')
  do
    echo $package
    dpkg-query -s $package | grep Recommends
  done

Вот мой путь - сообщить о пропавших без вести рекомендует :)

apt-cache --no-pre-depends --no-depends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances depends `dpkg --get-selections | grep '\sinstall$' | cut -f1` | grep -vf <(dpkg --get-selections | grep '\sinstall$' | cut -f1 | sed -e 's/^/ /' -e 's/\(:.*\|\)$/$/') | grep -B1 '^ '