Você pode ler o arquivo history.log
em /var/log/apt
.
less /var/log/apt/history.log
.
Existe algum lugar onde eu possa ver quais atualizações eu instalei?
Você pode ler o arquivo history.log
em /var/log/apt
.
less /var/log/apt/history.log
.
/ var / log / apt contém um histórico de instalações de pacotes. No entanto, por padrão, ele é gerenciado por logrotate
, o que comprime e envelhece entradas antigas.
Em 10.04, clique em (Gerenciador de sistema & gt; Administração & gt; Gerenciador de pacotes Synaptic & gt; Histórico de arquivos & gt;)
Como alternativa à resposta de lgarzo, você pode grep
do que você está interessado em /var/log/dpkg.log
. Por exemplo, se você quiser ver tudo o que instalou ou atualizou ontem, poderá executar:
cat /var/log/dpkg.log | grep "^2012-03-25.*\ installed\ "
Uma coisa a notar: isso também listará os pacotes instalados manualmente ( sudo dpkg -i ...
), que não serão mostrados no histórico do apt.
Ainda melhor usar o zgrep se ele estiver instalado, assim você pode encontrar linhas em arquivos gzipados
zgrep "^2012-03-25.*\ installed\ " /var/log/dpkg.log*
Agora é possível fazer isso através do centro de software também! Vá para o Histórico e você poderá exibir todas as suas atualizações e instalações.
Tornou-se útil para nós ter uma resposta um pouco mais fácil e precisa para a pergunta "quando foi a última vez que corrigimos essa coisa?". Então eu coloquei isso junto. Eu testei em 12.04 e 14.04 e 16.04. Ele retorna respostas razoavelmente precisas para essa pergunta. Nota: "razoavelmente preciso" provavelmente não é "completamente preciso". Nota: "apenas para essa questão".
exemplo de saída:
xenial% 9: ./linuxpatchdate
2016-07-19 54
2017-02-24 363
2017-03-08 7
2017-03-09 2
sub-rotinas e programa:
#!/usr/bin/perl
#------------------ subroutines --------------------
sub parseRecord {
my $sdate = "";
my $useful = 0;
my $packages = 0;
my @ptmp;
while (my $recordLine = shift() ) {
if ($recordLine =~ m/^Start-Date: ([\d\-]*).*/) {
$sdate = ;
}
elsif ($recordLine =~ m/^Commandline:.*upgrade/) {
$useful = 1;
}
elsif ($recordLine =~ m/^Install: (.*)/) {
$recordLine =~ s/\([^\)]*\)//g;
@ptmp = split(/,/,$recordLine);
$packages = $packages + $#ptmp + 1;
}
elsif ($recordLine =~ m/^Upgrade: (.*)/) {
$recordLine =~ s/\([^\)]*\)//g;
@ptmp = split(/,/,$recordLine);
$packages = $packages + $#ptmp + 1;
}
}
if ($useful) {
return ($sdate,$packages);
}
else {
return ("0",0);
}
}
#------------------ main program --------------------
@lines = split(/\n/,'/bin/zcat -f /var/log/apt/history.log /var/log/apt/history*gz');
my %patchHash;
my $line;
my @inputLines;
my $pushDate = "";
my $pushNum = "";
foreach $line (@lines) {
# all records separated by blank lines
if ($line !~ /./) {
# no-op
}
elsif ($line =~ m/^Start-Date: ([\d\-]*).*/) {
@inputLines = ();
push (@inputLines, $line);
}
elsif ($line =~ m/^End-Date: ([\d\-]*).*/) {
($pushDate, $pushNum) = parseRecord(@inputLines);
if ($pushNum != 0) {
$patchHash{$pushDate} += $pushNum;
}
}
else {
push (@inputLines, $line);
}
}
foreach $pushDate (sort(keys(%patchHash))) {
print "$pushDate $patchHash{$pushDate}\n";
}