En parcourant Internet pour les articles Ubuntu, je suis tombé sur cette commande:
sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
L'auteur a dit qu'il s'agit d'une commande sur une seule ligne qui supprimera toutes les versions précédentes de Linux, ne laissant que la version actuelle !
En fait, je recherche une telle commande, mais je ne suis pas sûr de la sécurité de cette commande. J'aimerais savoir:
- S'il est sûr d'exécuter cette commande?
- Comment fonctionne cette commande? c'est-à-dire l'explication de petites parties d'une telle commande
- Si cette commande sert un objectif différent, quelle serait la commande correcte pour réaliser ce que l'auteur prétend qu'elle fait?
Je deviens très confus et frustré lorsque j'essaie de déduire tout seul. Comment cela fonctionne de commande car il contient de nombreux /
, |
, \
, *
et des ^
personnages qui sont difficiles à Google pour.
Je recherche une traduction et une explication étape par étape pour cette commande que je n'ai pas pu trouver sur Internet!
apt-get autoremove
ne suggère aucun retrait de noyaux plus anciens pour moi. Si je ne les supprime pas, ils s'accumuleront jusqu'à ce que mon /boot
espace soit insuffisant et que les mises à jour échouent. Avez-vous une référence à ce sujet à ce sujet?
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
au lieu de simplement s/^[^ ]* \([^ ]*\).*/\1/
. Le script n'est pas très robuste ni élégant. Par exemple, pourquoi vérifier le noyau actuel avant d'extraire le nom du package de la sortie? Quant à une alternative, sudo apt-get autoremove --purge
purge la plupart des noyaux anciens dans une dernière version d'Ubuntu comme Xubuntu 15.10.