Page 1 sur 1

Retirer un ensemble de paquets (undo history.log)

Publié : sam. 10 août 2013, 12:42
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}'