Hay muchas formas de mostrar los paquetes instalados manualmente usando apt
, como:
apt-mark showmanual
Pero a veces esa salida es demasiado. Por ejemplo, si el usuario instaló manualmente el paquete foo
:
apt-get install foo
... y foo
dependía de , bar
y baz
luego apt-mark showmanual
generaría:
bar
baz
foo
¿Cómo podemos enumerar solo los paquetes de nivel superior instalados manualmente ( es decir foo
) sin sus dependencias ( es decirbaz
, no , ni bar
)?
El siguiente código parece funcionar, pero las llamadas de GNU unas cientos de veces son demasiado lentas (tres horas con una CPU de 4 núcleos):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