В диспетчере пакетов Synaptic есть собственный фильтр «Пропущенные рекомендации». Есть ли способ узнать, какие пакеты, установленные в моей системе, рекомендовали пакеты, перечисленные в этом фильтре?
На основе ответа перекати-поля я сделал сценарий, который использует поиски способности для предложения пакетов, которые рекомендуют недостающий пакет.
Это однако не дает то же, полный список как синаптическое. Никакая идея, почему.
#!/usr/bin/php
<?php
$list = shell_exec("aptitude search '?broken-reverse-recommends(?installed)'");
preg_match_all("|^.{4}(.*) - (.*)$|mU", $list, $matches);
foreach ($matches[1] as $prog) {
$prog = trim($prog);
echo "$prog:\n";
$missing = shell_exec("aptitude search '?installed?broken-recommends($prog)'");
preg_match_all("|^.{4}(.*) - (.*)$|mU", $missing, $mismatch);
foreach ($mismatch[1] as $missoft) {
echo "\tRecommended by: ".trim($missoft)."\n";
}
}
ecryptfs-utils:
Recommended by: adduser
firefox:
Recommended by: xubuntu-desktop
Recommended by: xul-ext-ubufox
firefox-gnome-support:
Recommended by: xubuntu-desktop
libatm1:
Recommended by: iproute