¿Cómo puedo obtener una lista con los paquetes seleccionados por apt-get autoremove?

13

¿Hay algún comando que imprima solo el nombre de los paquetes que apt-get autoremoveselecciona? Estoy creando un script que actualiza el núcleo, elimina el núcleo antiguo y los paquetes innecesarios ( apt-get autoremove), pero quiero imprimir en la pantalla la lista de paquetes que serán eliminados apt-get autoremove, ¿cómo puedo hacer esto?

Afonso Sousa
fuente
Debería poder ejecutarlo sudo apt-get autoremove -yy debería eliminar automáticamente todo lo que necesita eliminar ...
Intente leer aquí, [Esto puede ser de ayuda.] [1] [1]: serverfault.com/questions/433250/…
Doug
Para obtener la lista de paquetes sin eliminarlos, puede hacerlosudo apt-get --dry-run autoremove
heemayl
Solo quiero obtener el nombre de los paquetes, no toda la salida del comando ...
Afonso Sousa

Respuestas:

13

Dado que según su comentario desea enumerar solo los paquetes que se eliminarán:

apt-get --dry-run autoremove | grep -Po '^Remv \K[^ ]+'

grep desglose del comando:

  • -P: Interpreta el patrón dado como un patrón PCRE (expresión regular compatible con Perl)
  • -o: Imprime solo la cadena coincidente en lugar de la línea completa

Desglose de expresiones regulares:

  • ^: coincide con el inicio de la línea
  • Remv: coincide con una Remvcadena
  • \K: excluye la subcadena previamente coincidente de la cadena coincidente
  • [^ ]+: coincide con uno o más caracteres no
$ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common 
kos
fuente
1
@GeekLynxAfonso, no necesita usar sudocon la --dry-runopción.
jarno
@jarno Tiene sentido, el hecho de que probablemente no fuera necesario no se me ocurrió. Gracias
kos
2

En realidad solo necesita filtrar la salida de su

sudo apt-get autoremove --dry-run 

mando.

Por ejemplo, puedes hacerlo con

sudo apt-get autoremove --dry-run  | head -n 5 | tail -n 1
limón
fuente
¡Tu comando también funciona! Pero prefiero el comando del kos ... ¡Pero gracias de todos modos! :)
Afonso Sousa