Где я могу найти свою историю обновлений?

Есть ли место, где я могу посмотреть, какие обновления я установил?

Вы можете прочитать файл history.log в /var/log/apt .

Например. less /var/log/apt/history.log .

В 10.10 Ubuntu Software Center имеет список всех обновлений, которые вы загрузили в прошлом.

введите описание изображения здесь

/ var / log / apt содержит историю установки пакетов. Однако по умолчанию он управляется logrotate который сжимает и устаревает от старых записей.

10.04 Нажмите (Система> Администрирование> Диспетчер пакетов Synaptic> Файл> История)

В качестве альтернативы ответу lgarzo вы можете grep то, что вас интересует, из /var/log/dpkg.log . Например, если вы хотите увидеть все, что вы установили или обновили вчера, вы можете запустить:

 cat /var/log/dpkg.log | grep "^2012-03-25.*\ installed\ " 

Одно замечание: в нем также будут перечислены установленные вручную пакеты ( sudo dpkg -i ... ), которые не будут отображаться в истории apt.

Еще лучше использовать zgrep, если он установлен, чтобы вы могли найти строки в gzip-файлах

 zgrep "^2012-03-25.*\ installed\ " /var/log/dpkg.log* 

Теперь это возможно и через программный центр! Перейдите в «История», и вы сможете отображать все свои обновления и установки.

История программного центра

Нам стало полезно получить чуть более легкий и точный ответ на вопрос «когда мы последний раз заправляли эту штуку?». Поэтому я поставил это вместе. Я тестировал его 12.04 и 14.04 и 16.04. Он возвращает достаточно точные ответы на этот вопрос. Примечание: «разумно точный», вероятно, не является «полностью точным». Примечание: «Только для этого вопроса». (конструктивный) Комментарии Оценка!

———————– образец вывода —————-

 xenial% 9: ./linuxpatchdate 2016-07-19 54 2017-02-24 363 2017-03-08 7 2017-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"; }