Il existe une approche alternative en ligne de commande pour obtenir l'historique d'installation.
Le gestionnaire de paquets aptsemble tout connecter /var/log/apt/history.loget /var/log/apt/term.log, y compris tout séparer par des horodatages. Les deux contiennent des informations similaires et utilisables mais term.logsont à la fois plus verbeuses et n'indiquent pas explicitement ce qui a initié l'opération.
Journal d'historique
/var/log/apt/history.logstocke un résumé concis de chaque aptexécution. Voici un extrait de moi pour une installation manuelle:
Start-Date: 2014-08-22 17:17:52
Commandline: apt-get install nautilus-dropbox
Install: nautilus-dropbox:amd64 (1.6.1-1), python-gpgme:amd64 (0.3-0ubuntu3, automatic)
End-Date: 2014-08-22 17:19:13
Le Commandline:champ indique ce qui a déclenché l'exécution, et dans le cas des installations effectuées par le gestionnaire de mise à jour, il devrait ressembler à quelque chose comme:
Commandline: aptdaemon role='role-commit-packages' sender=':1.131'
... et voici votre liste de packages, triés par date, méthode et action (installer / mettre à niveau / supprimer). Notez que si vous souhaitez renvoyer ces packages à apt-get remove ...:
- Comme mentionné , cela supprime complètement les packages plutôt que de les annuler. Les informations contenues dans les journaux pourraient certainement être utilisées pour examiner les packages mis à niveau, mais les restaurer est une autre question.
Vous devrez supprimer les parenthèses, leur contenu et le séparateur de virgules de la liste via votre méthode préférée de manipulation de texte (par exemple sed, vimetc.). Donc, si je voulais supprimer les packages de l'extrait ci-dessus, je peux utiliser la ligne relativement directement:
sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
Journal du terminal
Généralement, il /var/log/apt/term.logest moins structuré mais, pour être complet, vous pouvez obtenir les mêmes informations. La sortie du terminal est à nouveau délimitée par des horodatages et les installations de packages peuvent être obtenues à partir de lignes de la forme suivante:
Selecting previously unselected package nautilus-dropbox.
Voici une façon d'imprimer une liste des packages installés sur le terminal pour l'ensemble du journal:
$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log
Cela peut être adapté ou étendu pour obtenir des installations dans une plage de dates.
apt-get remove:sed 's/ ([^)]*)//g' | sed 's/,//g').