web-dev-qa-db-fra.com

Comment puis-je obtenir une liste des paquets sélectionnés par apt-get autoremove?

Existe-t-il une commande qui affiche uniquement le nom des packages choisis par apt-get autoremove? Je crée un script qui met à jour le noyau, supprime l'ancien noyau et les packages inutiles (apt-get autoremove), mais je souhaite imprimer à l'écran la liste des packages qui seront supprimés par apt-get autoremove, Comment puis-je faire ceci?

11
Afonso Sousa

Depuis selon votre commentaire vous voulez lister uniquement les paquets qui vont être supprimés:

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

grep décomposition de la commande:

  • -P: interprète le motif donné en tant que motif PCRE (Perl Compatible Regular Expression)
  • -o: N'imprime que la chaîne correspondante au lieu de la ligne entière

Répartition par regex:

  • ^: correspond au début de la ligne
  • Remv: correspond à une chaîne Remv
  • \K: exclut la sous-chaîne précédemment trouvée de la chaîne correspondante
  • [^ ]+: correspond à un ou plusieurs caractères non
$ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common 
12
kos

En fait, il vous suffit de filtrer la sortie de votre

Sudo apt-get autoremove --dry-run 

commander.

Par exemple, vous pouvez le faire avec

Sudo apt-get autoremove --dry-run  | head -n 5 | tail -n 1
2
lemonslice