Wo kann ich meinen Updateverlauf nachschlagen?

107

Gibt es einen Ort, wo ich nachsehen kann, welche Updates ich installiert habe?

    
vrcmr 21.11.2010, 20:10

7 Antworten

98

Sie können die Datei history.log in /var/log/apt lesen.

z. less /var/log/apt/history.log .

    
lgarzo 26.03.2012, 09:40
44

In 10.10 hat Ubuntu Software Center eine Liste aller Updates, die Sie in der Vergangenheit heruntergeladen haben.

    
Isaiah 21.11.2010 20:24
23

/ var / log / apt enthält eine Historie von Paketinstallationen. Standardmäßig wird es jedoch von logrotate verwaltet, wodurch alte Einträge komprimiert und alt werden.

    
msw 21.11.2010 20:17
21

Am 10.04 Klicken Sie auf (System & gt; Verwaltung & gt; Synaptic Package Manager & gt; Datei & gt; Verlauf)

    
vrcmr 21.11.2010 20:15
13

Als Alternative zu lgarzos Antwort können Sie grep , woran Sie interessiert sind, von /var/log/dpkg.log . Wenn Sie z. B. sehen möchten, was Sie gestern installiert oder aktualisiert haben, können Sie Folgendes ausführen:

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

Eine Sache, die man beachten sollte: Dies wird auch manuell installierte Pakete ( sudo dpkg -i ... ) auflisten, die nicht in der Geschichte von apt erscheinen.

Verwenden Sie zgrep sogar noch besser, wenn es installiert ist, damit Sie auch Zeilen in gezippten Dateien finden können

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

Dies ist jetzt auch über das Software-Center möglich! Gehen Sie zu Verlauf und Sie können alle Ihre Updates und Installationen anzeigen.

    
Nick Pascucci 21.11.2010 20:25
1

Es wurde nützlich für uns, eine etwas einfachere und genauere Antwort auf die Frage zu haben "Wann haben wir das letzte Mal das Ding geflickt?". Also habe ich das zusammengefügt. Ich habe es am 12.04 und 14.04 und 16.04 getestet. Es gibt ziemlich genaue Antworten für diese Frage zurück. Hinweis: "einigermaßen genau" ist wahrscheinlich nicht "vollständig korrekt". Hinweis: "nur für diese Frage".

Beispielausgabe:

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

Unterprogramme und Programm:

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

Tags und Links