Este artigo explica como mostrar um histórico de pacotes instalados, atualizados ou removidos, no Debian, Ubuntu ou Linux Mint, a partir da linha de comando.
Como gerar uma lista com o histórico de alterações de pacotes no Debian, Ubuntu ou distribuições .deb
Para poder obter uma lista completa do histórico de alterações de pacotes, incluindo pacotes DEB instalados, atualizados ou removidos, e mostrar a data em que uma determinada ação foi executada, no Debian ou no Ubuntu, pode-se usar o dpkg (a infra-estrutura básica para lidar com a instalação e remoção de pacotes de software Debian) na pasta log disponível em/var/log/dpkg.log
.
Comando grep no Linux
Você pode usar o comando grep
para analisar este arquivo a partir da linha de comando e exibir somente os pacotes instalados, atualizados ou removidos, dependendo do que for necessário.
Isso funciona para pacotes DEB instalados, seja usando uma ferramenta gráfica, como o Synaptic, Gnome Software, Update Manager, ou uma ferramenta de linha de comando como apt
, apt-get
, aptitude
ou dpkg
. Ele não funciona para outros pacotes, como o Flatpak ou o Snap, ou para o software instalado a partir da origem, e assim por diante.
Algumas formas alternativas de mostrar o histórico do gerenciador de pacotes no Debian, Ubuntu ou Linux Mint, não exibem um log completo. Por exemplo, o Gerenciador de Pacotes Synaptic (?File -> History
) pode mostrar apenas um histórico de pacotes de software instalados, atualizados ou removidos para os quais o próprio Synaptic foi usado para executar essas ações.
Mas você não verá nenhum pacote instalado, atualizado ou removido da linha de comando (usando apt
, apt-get
, dpkg
), usando o Software Updater, ou o aplicativo Software. Da mesma forma,/var/log/apt/history.log
o arquivo de log do APT lista apenas as ações executadas usando apt
/ apt-get
.
Como exibir histórico de pacotes recentemente instalados no Debian, Ubuntu ou derivados?
Com este comando, será exibido um histórico dos pacotes recentemente instalados em uma saída no Terminal Linux. Além disso, será exibido seu número de versão e a data/hora em que eles foram instalados. No Debian, Ubuntu ou Linux Mint:
grep "install " /var/log/dpkg.log
Exemplo da saída do histórico de pacotes instalados no Ubuntu ou Debian, no Terminal Linux:
Comando que executamos:
grep "install " /var/log/dpkg.log
Saída do comando executado, lembre-se que as saídas abaixo são meramente ilustrativas, as versões podem não corresponder a versões reais.
2022-01-01 13:22:15 install automathemely:all 9.9
2022-01-01 13:22:29 install python3-astral:all 9.9.9-9
2022-01-01 13:22:29 install python3-tzlocal:all 9.9.9-9
2022-01-01 13:22:29 install python3-schedule:all 9.9.9-9
Como exibir histórico de pacotes recentemente atualizados no Debian, Ubuntu ou derivados?
Com este comando, uma lista dos pacotes recentemente atualizados, a data/hora em que foram atualizados, bem como a versão antiga e nova do pacote. No Debian, Ubuntu ou Linux Mint:
grep "upgrade " /var/log/dpkg.log
Exemplo de saída:
2022-01-01 11:14:10 upgrade tzdata:all 2022g-0ubuntu0.22.10 2018i-0ubuntu0.18.10
2022-01-01 11:35:14 upgrade davinci-resolve:amd64 99.2-2 15.2.2-1
2022-01-01 12:31:04 upgrade chromium-chromedriver:amd64 99.0.3626.17-0ubuntu1~ppa1~22.10.1 72.0.3626.28-0ubuntu1~ppa1~18.10.1
2022-01-01 12:31:04 upgrade chromium-browser-l10n:all 999.0.3626.17-0ubuntu1~ppa1~22.10.1 72.0.3626.28-0ubuntu1~ppa1~18.10.1
2022-01-01 12:31:08 upgrade chromium-browser:amd64 999.0.3626.17-0ubuntu1~ppa1~22.10.1 72.0.3626.28-0ubuntu1~ppa1~18.10.1
2022-01-01 12:31:12 upgrade chromium-codecs-ffmpeg-extra:amd64 99.0.3626.17-0ubuntu1~ppa1~22.10.1 72.0.3626.28-0ubuntu1~ppa1~18.10.1
Como exibir histórico de pacotes recentemente removidos no Debian, Ubuntu ou derivados?
Mostra um histórico de pacotes removidos recentemente e a data/hora em que foram removidos, no Debian, Ubuntu ou Linux Mint:
grep "remove " /var/log/dpkg.log
Exemplo de saída do comando anterior:
2022-01-01
12:30:55 remove automathemely:all 9.3
2022-01-01
13:16:38 remove persepolis:all 9.1.0.0
2022-01-01
13:38:52 remove python3-astral:all 9.6.1-1
2022-01-01
13:38:52 remove python3-psutil:amd64 9.4.6-1build1
2022-01-01
13:38:52 remove python3-pyxattr:amd64 9.6.0-2build3
2022-01-01
13:38:52 remove python3-schedule:all 9.3.2-1
2022-01-01
13:38:53 remove python3-tzlocal:all 9.5.1-1
/var/log/dpkg.log
contém o histórico de instalação, atualização e remoção do pacote para o mês atual.
Para o mês anterior, leia o /var/log/dpkg.log.1
arquivo de log. Por exemplo, para ver o histórico de instalação do pacote do mês anterior, use:
grep "install" /var/log/dpkg.log.1
Quer voltar ainda mais no histórico do dpkg?
Use zgrep
em vez de grep
, e /var/log/dpkg.log.2.gz
, /var/log/dpkg.log.3.gz
, /var/log/dpkg.log.4.gz
e assim por diante, que voltar dois, três e quatro meses, respectivamente.
Exemplo:
zgrep "upgrade " /var/log/dpkg.log.2.gz
Isso ocorre porque, por padrão, no Debian, Ubuntu e Linux Mint, o log do dpkg é configurado para rodar uma vez por mês, mantendo 12 logs antigos (assim por 12 meses), e compactando arquivos girados usando gzip ( .gz
). Você pode verificar a configuração do Debian / Ubuntu Logrotate para o dpkg usando cat /etc/logrotate.d/dpkg.