Иногда при установке пакета 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 '^ '