Есть много способов показать пакеты, установленные вручную apt
, например:
apt-mark showmanual
Но иногда это слишком много. Например, если пользователь установил пакет вручную foo
:
apt-get install foo
... и foo
зависит от, bar
а baz
затем apt-mark showmanual
будет вывод:
bar
baz
foo
Как мы можем перечислить только пакеты верхнего уровня, установленные вручную ( то есть foo
) без их зависимостей ( то есть, нет baz
, ни bar
)?
Следующий код, кажется, работает, но вызов GNU несколько сотен раз слишком медленный (три часа с 4-ядерным процессором):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