Kde mohu hledat svou historii aktualizací?

112

Existuje místo, kde se mohu podívat, jaké aktualizace jsem nainstaloval?

    
dané vrcmr 21.11.2010 20:10

7 odpovědí

103

Můžete přečíst souborhistory.log v/var/log/apt.

Např. less /var/log/apt/history.log.

    
odpověděl lgarzo 26.03.2012 09:40
44

V 10.10 obsahuje Centrum softwaru Ubuntu seznam všech aktualizací, které jste si v minulosti stáhli.

    
odpověděl Isaiah 21.11.2010 20:24
23

/ var / log / apt obsahuje historii instalací balíčků. Ve výchozím nastavení je však spravovánlogrotate, který zkomprimuje a starne staré položky.

    
odpověděl msw 21.11.2010 20:17
21

V 10.04 klikněte na položku (System > Administration & gtp Synaptic Package Manager > File > History)

    
odpověděl vrcmr 21.11.2010 20:15
15

Jako alternativu k odpovědi společnosti lgarzo můžetegrep, o které máte zájem,/var/log/dpkg.log. Pokud chcete vidět vše, co jste včera nainstalovali nebo upgradovali, můžete spustit:

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

Jedna věc, kterou si všimnete, bude seznam ručně nainstalovaných balíčků (sudo dpkg -i ...), které se nezobrazí v historii služby apt.

Ještě lepší je použít zgrep, pokud je nainstalován, takže můžete najít i řádky v gzipových souborech

zgrep "^2012-03-25.*\ installed\ " /var/log/dpkg.log*
    
odpověděl htorque 26.03.2012 09:54
11

Nyní je to možné také prostřednictvím softwarového centra! Přejděte do historie a můžete zobrazit všechny aktualizace a instalace.

    
odpověděl Nick Pascucci 21.11.2010 20:25
2

Je pro nás užitečné mít o trochu snadnější a přesnější odpověď na otázku "Kdy jsme naposledy opravili tuto věc?". Tak jsem to dal dohromady. Testoval jsem to na 12.04 a 14.04 a 16.04. Na tuto otázku se vracejí přiměřeně přesné odpovědi. Poznámka: "poměrně přesná" pravděpodobně není "zcela přesná". Poznámka: Pouze pro tuto otázku.

výstupní vzorek:

xenial% 9: ./linuxpatchdate 
2016-07-19 54
2017-02-24 363
2017-03-08 7
2017-03-09 2

podprogramy a program:

#!/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";
}
    
odpověděl JsinJ 11.03.2017 00:40