Existe un enfoque alternativo de línea de comandos para obtener el historial de instalación.
El administrador de paquetes apt
parece registrar todo /var/log/apt/history.log
y /var/log/apt/term.log
, incluso, separar todo por sellos de fecha. Ambos contienen información similar y utilizable, pero term.log
son más detallados y no indican explícitamente qué inició la operación.
Registro de la historia
/var/log/apt/history.log
almacena un resumen conciso de cada apt
ejecución. Aquí hay un fragmento mío para una instalación manual:
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
El Commandline:
campo indica qué desencadenó la ejecución y, en el caso de las instalaciones realizadas por el administrador de actualizaciones, debería ser similar a:
Commandline: aptdaemon role='role-commit-packages' sender=':1.131'
... y está su lista de paquetes, ordenados por fecha, método y acción (instalar / actualizar / eliminar). Tenga en cuenta que si desea devolver estos paquetes a apt-get remove ...
:
- Como se mencionó , esto elimina completamente los paquetes en lugar de revertirlos. La información en los registros ciertamente podría usarse para ver los paquetes actualizados, aunque deshacerlos es otra cuestión.
Deberá eliminar los paréntesis, su contenido y el separador de coma de la lista a través de su método preferido de manipulación de texto (por ejemplo sed
, vim
etc.). Entonces, si quisiera eliminar los paquetes en el fragmento anterior, puedo usar la línea relativamente directamente:
sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
Terminal log
Por /var/log/apt/term.log
lo general, está menos convenientemente estructurado, pero, en aras de la integridad, puede obtener la misma información. La salida del terminal está delimitada por las marcas de tiempo nuevamente, y las instalaciones de paquetes se pueden obtener de líneas de la siguiente forma:
Selecting previously unselected package nautilus-dropbox.
La siguiente es una forma de imprimir una lista de paquetes instalados en el terminal para todo el registro:
$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log
Esto se puede adaptar o ampliar para obtener instalaciones en un rango de fechas.
apt-get remove
:sed 's/ ([^)]*)//g' | sed 's/,//g')
.