J'utilisais un serveur Linux avec CentOS7 installé pour tester et installer certains outils. Et maintenant, je ne me souviens plus du nombre de packages que j'ai installés.
Je veux supprimer tous ces packages pour que mon serveur soit comme neuf. Je ne veux pas rechercher chaque package et en supprimer un par un. Existe-t-il un moyen de les supprimer avec une seule commande?
/var/log/yum.log
peut être utile, il répertorie à la fois le nom du package et un horodatage. Pour autant que je sache, il ne répertorie pas les packages ajoutés par les installations initiales.sudo yum remove $(gawk '$0 ~ /Installed/ {printf "%s ", $NF}' /var/log/yum.log)
Réponses:
Liste tous les fichiers dans l'ordre inverse de leur date d'installation dans un fichier:
Vous obtiendrez des lignes comme
Choisissez la date limite qui vous concerne et supprimez toutes les lignes qui la suivent. Donnez les lignes restantes à yum pour supprimer, après avoir supprimé la partie date. Par exemple
la source
Vous pouvez également essayer avec
yum history
et généralement vous obtenez une liste numérotée de ce qui a été installé, comme:et vous pouvez utiliser par la suite
yum history undo 3
par exemple.Plus de détails sur l'histoire de miam ici .
la source
Afin de restaurer toutes les transactions d'historique, vous pouvez utiliser le o-liner ci-dessous:
Soyez prudent lors de l'exécution de cette commande, car elle supprimera tous vos packages installés! Si vous souhaitez une confirmation, vous pouvez supprimer l'indicateur -y.
la source