Існує багато способів показу пакетів, встановлених вручну за допомогою 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