Il existe de nombreuses façons d'afficher les packages installés manuellement à l'aide de apt
, tels que:
apt-mark showmanual
Mais parfois, cette sortie est trop. Par exemple, si l'utilisateur a installé manuellement le package foo
:
apt-get install foo
... et foo
dépendait bar
et baz
, puis apt-mark showmanual
affichera:
bar
baz
foo
Comment pouvons-nous répertorier uniquement les packages de niveau supérieur installés manuellement ( c'est-à-dire foo
) sans leurs dépendances ( c'est-à-dire non baz
, ni bar
)?
Le code suivant semble fonctionner, mais appeler GNU quelques centaines de fois est trop lent (trois heures avec un processeur à 4 cœurs):parallel
apt-rdepends
apt-mark showmanual |
tee /tmp/foo |
parallel "apt-rdepends -f Depends,PreDepends,Suggests,Recommends {} |
tail +2" 2> /dev/null |
tr -s ' ' '\n' |
grep -v '[():]' |
sort -Vu |
grep -wv -f - /tmp/foo