Es gibt viele Möglichkeiten, manuell installierte Pakete anzuzeigen apt
, z. B.:
apt-mark showmanual
Aber manchmal ist diese Ausgabe zu viel. Zum Beispiel, wenn der Benutzer das Paket manuell installiert hat foo
:
apt-get install foo
... und foo
hing davon ab bar
und würde baz
dann apt-mark showmanual
ausgeben:
bar
baz
foo
Wie können wir nur die manuell installierten Pakete der obersten Ebene ( dh foo
) ohne ihre Abhängigkeiten ( dh nicht baz
oder noch bar
) auflisten?
Der folgende Code scheint zu funktionieren, aber ein paar hundert Mal GNU- parallel
Aufrufe apt-rdepends
sind zu langsam (drei Stunden mit einer 4-Kern-CPU):
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