Existe uma alternativa, abordagem de linha de comando para obter o histórico de instalação.
O gerenciador de pacotes apt
parece registrar tudo em /var/log/apt/history.log
e /var/log/apt/term.log
, incluindo a separação de todos por data e hora. Ambos contêm informações utilizáveis semelhantes, mas term.log
é mais detalhado e não indica explicitamente o que iniciou a operação.
Log do histórico
/var/log/apt/history.log
armazena um resumo conciso de cada apt
run. Aqui está um trecho meu para uma instalação 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
O campo Commandline:
indica o que desencadeou a execução e, no caso de instalações feitas pelo gerenciador de atualizações, deve ser parecido com:
Commandline: aptdaemon role='role-commit-packages' sender=':1.131'
... e sua lista de pacotes, ordenada por data, método e ação (instalar / atualizar / remover). Observe que, se você quiser passar esses pacotes de volta para apt-get remove ...
:
- Como mencionado , isso remove completamente os pacotes em vez de revertê-los. As informações nos logs certamente poderiam ser usadas para examinar os pacotes atualizados, embora revertê-los seja outra questão.
-
Você precisará remover os parênteses, seu conteúdo e o separador de vírgulas da lista por meio de seu método preferido de manipulação de texto (por exemplo,
sed
,vim
etc.). Então, se eu quiser remover os pacotes no snippet acima, posso usar a linha de maneira relativamente direta:sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
Log de terminal
Em geral, /var/log/apt/term.log
é menos convenientemente estruturado, mas, para fins de integridade, você pode obter as mesmas informações. A saída do terminal é delimitada por carimbos de data e hora novamente, e as instalações de pacotes podem ser obtidas de linhas da seguinte forma:
Selecting previously unselected package nautilus-dropbox.
O seguinte é uma maneira de imprimir uma lista de pacotes instalados no terminal para todo o log:
$ awk '/^Selecting/ {gsub(/\./,""); print }' /var/log/apt/term.log
Isso pode ser adaptado ou estendido para obter instalações em um intervalo de datas.