Istnieje wiele sposobów wyświetlania pakietów instalowanych ręcznie apt
, na przykład:
apt-mark showmanual
Ale czasami ta wydajność jest zbyt duża. Na przykład, jeśli użytkownik ręcznie zainstalował pakiet foo
:
apt-get install foo
... i foo
od tego zależało bar
i baz
, wtedy apt-mark showmanual
byłoby wyjście:
bar
baz
foo
Jak możemy wyświetlić listę ręcznie zainstalowanych pakietów najwyższego poziomu ( tj. foo
) Bez ich zależności ( tj. Nie baz
, ani bar
)?
Poniższy kod wydaje się działać, ale wywołanie GNU kilkaset razy jest zbyt wolne (trzy godziny z czterordzeniowym procesorem):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