Vraag Waar kan ik mijn updategeschiedenis opzoeken?


Is er een plaats waar ik kan kijken welke updates ik heb geïnstalleerd?


108
2017-11-21 19:10


oorsprong




antwoorden:


Je kunt de history.log bestand in /var/log/apt.

Bijv. less /var/log/apt/history.log.


99
2018-03-26 07:40





In 10.10 uur, Ubuntu Software Center heeft een lijst met alle updates die u in het verleden hebt gedownload.

enter image description here


44
2017-11-21 19:24



+1 Dit antwoord werkt ook op recentere versies. - James Bradbury
@JamesBradbury Deze optie is verdwenen vanaf Ubuntu 16.04 - feeela


/ var / log / apt bevat een geschiedenis van pakketinstallaties. Standaard wordt het echter beheerd door logrotate die oude items comprimeert en veroudert.


23
2017-11-21 19:17



Dus is dit de beste plaats voor mij om de geschiedenis van Ubuntu Server te controleren? - Brettski


Op 10.04 Klik (Systeem> Beheer> Synaptic Package Manager> Bestand> Geschiedenis)


21
2017-11-21 19:15



Ik krijg alleen een lijst met pakketten die ik via Synaptic heb geïnstalleerd, maar niet alle pakketten die ik via Update Manager heb bijgewerkt. - Isaiah


Als een alternatief voor het antwoord van Lgarzo, kunt u grep waar ben je in geïnteresseerd? /var/log/dpkg.log. Als u bijvoorbeeld wilt zien wat u gisteren heeft geïnstalleerd of geüpgraded, kunt u het volgende uitvoeren:

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

Een ding om op te merken: dit zal ook lijst met handmatig geïnstalleerde pakketten (sudo dpkg -i ...), die niet in de geschiedenis van apt zal verschijnen.

Gebruik zelfs nog beter zgrep als het is geïnstalleerd, zodat u ook lijnen in gzipped-bestanden kunt vinden

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

14
2018-03-26 07:54





Het is nu mogelijk om dit ook via het softwarecentrum te doen! Ga naar Geschiedenis en je kunt al je updates en installaties weergeven.

Software Center History


11
2017-11-21 19:25



Ik veronderstel dat het 10.10 is? - vrcmr
Zeker is. Ik denk niet dat dit beschikbaar was in vorige distributies ... - Nick Pascucci


Het werd nuttig voor ons om een ​​iets eenvoudiger en nauwkeuriger antwoord te geven op de vraag "wanneer hebben we dit voor de laatste keer gepatched?". Dus ik heb dit samengevoegd. Ik heb het getest op 12.04 en 14.04 en 16.04. Het geeft redelijk correcte antwoorden voor die vraag. Opmerking: "redelijk accuraat" is waarschijnlijk niet "volledig accuraat". Opmerking: alleen "voor die vraag".

steekproefoutput:

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

subroutines en programma:

#!/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
2018-03-10 23:40