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 foodependía de , bary bazluego apt-mark showmanualgenerarí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):parallelapt-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