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

Попробуйте sudo aptitude remove libreoffice3.5-dict-de:i386, когда вы установили i386 вместо amd64.

1
задан 30 April 2014 в 07:15

6 ответов

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

44
ответ дан 26 May 2018 в 00:18
  • 1
    +1 Этот ответ работает и на более поздних версиях. – James Bradbury 27 July 2014 в 00:05
  • 2
    @JamesBradbury Этот вариант отсутствует от Ubuntu 16.04 on – feeela 3 April 2018 в 14:00

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

23
ответ дан 26 May 2018 в 00:18
  • 1
    Так это лучшее место для меня, чтобы проверить историю на сервере Ubuntu? – Brettski 6 April 2011 в 22:26

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

21
ответ дан 26 May 2018 в 00:18
  • 1
    Все, что я получаю, это список пакетов, которые я установил через Synaptic, он не показывает все пакеты, которые я обновил с помощью диспетчера обновлений. – Isaiah 21 November 2010 в 23:39

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

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

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

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

zgrep "^2012-03-25.*\ installed\ " /var/log/dpkg.log*
13
ответ дан 26 May 2018 в 00:18

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

11
ответ дан 26 May 2018 в 00:18
  • 1
    Я полагаю, что это 10.10? – vrcmr 21 November 2010 в 23:36
  • 2
    Уверенный. Я не думаю, что это было доступно в предыдущих дистрибутивах ... – Nick Pascucci 21 November 2010 в 23:53

Нам стало полезно получить немного более простой и точный ответ на вопрос «когда мы последний раз залапили эту вещь?». Поэтому я поставил это вместе. Я тестировал его 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";
}
1
ответ дан 26 May 2018 в 00:18

Другие вопросы по тегам:

Похожие вопросы: