Como obter a lista cronológica de upgrades de pacotes no debian?

2

Eu gostaria de obter a lista cronológica de atualizações de pacotes. Algo como:

Jan 08 10:45:33 CET 2016  xorg 1:7.7+6      upgrade to 1:7.7+7
Jan 10 13:16:33 CET 2016  gcc 1.132         upgrade to 1.133
Jan 12 07:05:33 CET 2016  pulseaudio 5.0-12 upgrade to 5.0-13

Estou interessado na lista de atualização da minha máquina, mas também nas fontes debian.

    
por Ortomala Lokni 12.01.2016 / 13:28

2 respostas

2

Isso pode ser encontrado no arquivo /var/log/dpkg.log .

Use este comando para gerar uma lista:

awk '$3=="upgrade"' /var/log/dpkg.log*

Exemplo de saída:

2015-12-30 15:33:15 upgrade firefox 38.0+build3-0ubuntu0.12.04.1 43.0+build1-0ubuntu0.12.04.1
    
por 12.01.2016 / 13:39
0

Eu indico dois problemas na resposta caos :

1) O arquivo de log gerado não está ordenado porque * registrará os arquivos alfabeticamente ( dpkg.log , dpkg.log.1 , dpkg.log.2 , ...) que é equivalente a do mais recente para o mais antigo e dentro de um arquivo de log, as linhas são ordenadas de mais antigas para as mais recentes. Uma solução é (obrigado Toby ) para usar ls -rt

awk '$3=="upgrade"' $(ls -rt /var/log/dpkg.log*)

2) Os arquivos em / var / log podem ser gzipados pelo logrotate. Para isso, a seguinte resposta é útil: uma ferramenta que combina zcat e cat de forma transparente? . A solução é

 zcat -f -- $(ls -rt /var/log/dpkg.log*) | awk '$3=="upgrade"'
    
por 12.01.2016 / 17:11