Есть ли место, где я могу посмотреть, какие обновления я установил?
Вы можете прочитать history.log файл в /var/log/apt.
Напр.. less /var/log/apt/history.log.
В 10.10, Центр программного обеспечения Ubuntu содержит список всех обновлений, которые вы загрузили в прошлом.
/var/log/apt содержит историю установок пакетов. Однако по умолчанию он управляется logrotate который сжимает и стирает старые записи.
В качестве альтернативы ответу лгарзо вы можете grep что вас интересует из /var/log/dpkg.log. Например, если вы хотите просмотреть все, что вы установили или обновили вчера, вы можете запустить:
cat /var/log/dpkg.log | grep "^2012-03-25.*\ installed\ "Следует отметить одну вещь: здесь также будут перечислены пакеты, установленные вручную (sudo dpkg -i ...), который не будет отображаться в истории apt.
Еще лучше использовать zgrep, если он установлен, чтобы вы также могли находить строки в архивированных файлах
zgrep "^2012-03-25.*\ installed\ " /var/log/dpkg.log*
>>>>На 10.04 Нажмите (История файлов Synaptic Package Manager Системного администрирования)
Теперь это можно сделать и через центр программного обеспечения! Перейдите в раздел "История", и вы сможете просмотреть все свои обновления и установки.

Нам стало полезно получить немного более простой и точный ответ на вопрос "когда мы в последний раз исправляли эту штуку?". Итак, я собрал это воедино. Я тестировал его 12.04, 14.04 и 16.04. Он возвращает достаточно точные ответы на этот вопрос.Примечание: "достаточно точный", вероятно, не является "полностью точным".Примечание: "только для этого вопроса".
пример вывода:
xenial% 9: ./linuxpatchdate 2016-07-19 542017-02-24 3632017-03-08 72017-03-09 2подпрограммы и программы:
#!/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 = $1; } 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";}
