Ada banyak cara untuk menunjukkan paket yang diinstal menggunakan secara manual apt
, seperti:
apt-mark showmanual
Tetapi terkadang output itu terlalu banyak. Misalnya jika pengguna menginstal paket secara manual foo
:
apt-get install foo
... dan foo
bergantung pada bar
dan baz
, kemudian apt-mark showmanual
akan menampilkan:
bar
baz
foo
Bagaimana kita bisa mendaftar hanya paket tingkat atas yang diinstal secara manual ( yaitu foo
) tanpa ketergantungannya ( mis. Tidak baz
, juga bar
)?
Kode berikut tampaknya berfungsi, tetapi panggilan GNU beberapa ratus kali terlalu lambat, (tiga jam dengan CPU 4 inti):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