Quitter le forum et retourner au site

Retirer un ensemble de paquets (undo history.log)

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 722
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Retirer un ensemble de paquets (undo history.log)

Message par le Manchot Masqué »

Quand on fait des essais d'installation en administration, il n'est pas rare de vouloir supprimer un ensemble de paquets.
Sous Ubuntu, l'historique des installations et désinstallations est stocké dans /var/log/apt/history.log.
Il s'agit donc d'extraire rapidement l'information recherchée pour la passer proprement à apt-remove.
A noter que le script suivant est "brut", et qu'il peut produire des lignes avec plusieurs Start-Date, le dernier étant le bon...

Code : Tout sélectionner

awk '$1~/^(Start-Date|Install).*/' /var/log/apt/history.log|perl -pe 's/\(.*?\)(, )?//g'|sed -e 's/:\(i386\|amd64\)//g'
Une solution pour supprimer les doublons est de travailler par "bloc", et notamment avec awk... Je ne vous donne pas la solution toute faite, mais presque ! (un petit effort, quoi...) ;)

Code : Tout sélectionner

cat /var/log/apt/history.log|awk 'BEGIN {RS="";FS="\n"} {if ($1~/^Start-Date.*/ && $3~/^Install.*/) print $1"\n"$3}'
Répondre