Comment obtenir une liste des packages sélectionnés par apt-get autoremove?

13

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

Afonso Sousa
la source
Vous devriez juste pouvoir le faire fonctionner sudo apt-get autoremove -yet il devrait supprimer automatiquement tout ce qui devait être supprimé ...
Essayez de lire ici, [Cela peut être utile.] [1] [1]: serverfault.com/questions/433250/…
Doug
Pour obtenir la liste des packages sans les supprimer, vous pouvez le fairesudo apt-get --dry-run autoremove
heemayl
Je veux juste obtenir le nom des paquets, pas la sortie entière de la commande ....
Afonso Sousa

Réponses:

13

Étant donné que selon votre commentaire, vous souhaitez répertorier uniquement les packages qui vont être supprimés:

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

grep ventilation des commandes:

  • -P: Interprète le modèle donné comme un modèle PCRE (Perl Compatible Regular Expression)
  • -o: Imprime uniquement la chaîne correspondante au lieu de la ligne entière

Ventilation des regex:

  • ^: correspond au début de la ligne
  • Remv: correspond à une Remvchaîne
  • \K: exclut la sous-chaîne précédemment mise en correspondance 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 
kos
la source
1
@GeekLynxAfonso, vous n'avez pas besoin d'utiliser sudoavec --dry-runoption.
jarno
@jarno C'est logique, le fait que ce n'était probablement pas nécessaire ne m'est pas venu à l'esprit. Merci
kos
2

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
tranche de citron
la source
Votre commande fonctionne aussi !! Mais je préfère la commande du kos ... Mais merci quand même !! :)
Afonso Sousa