Dove posso cercare la cronologia degli aggiornamenti?

121

C'è un posto dove posso vedere quali aggiornamenti ho installato?

    
posta vrcmr 21.11.2010 - 20:10
fonte

7 risposte

109

Puoi leggere il file history.log in /var/log/apt .

Eg. % Co_de%.

    
risposta data lgarzo 26.03.2012 - 09:40
fonte
44

In 10.10, Centro software Ubuntu ha un elenco di tutti gli aggiornamenti scaricati in passato.

    
risposta data Isaiah 21.11.2010 - 20:24
fonte
25

/ var / log / apt contiene una cronologia delle installazioni dei pacchetti. Tuttavia, per impostazione predefinita, è gestito da logrotate che comprime e invecchia le vecchie voci.

    
risposta data msw 21.11.2010 - 20:17
fonte
21

On 10.04 Fare clic su (Sistema & gt; Amministrazione & gt; Gestore pacchetti Synaptic & gt; File & gt; Cronologia)

    
risposta data vrcmr 21.11.2010 - 20:15
fonte
16

In alternativa alla risposta di lgarzo, puoi grep di ciò che ti interessa da /var/log/dpkg.log . Ad esempio, se vuoi vedere tutto ciò che hai installato o aggiornato ieri, puoi eseguire:

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

Una cosa da notare: questo elencherà anche i pacchetti installati manualmente ( sudo dpkg -i ... ), che non verranno visualizzati nella cronologia di apt.

Usa ancora meglio zgrep se è installato in modo da poter trovare le linee anche nei file compressi

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

Ora è possibile farlo anche attraverso il centro software! Vai a Cronologia e puoi visualizzare tutti gli aggiornamenti e le installazioni.

    
risposta data Nick Pascucci 21.11.2010 - 20:25
fonte
2

È diventato utile per noi avere una risposta un po 'più semplice e precisa alla domanda "quando è stata l'ultima volta che abbiamo riparato questa cosa?". Così ho messo insieme questo. L'ho provato il 12.04 e il 14.04 e il 16.04. Restituisce risposte ragionevolmente accurate per quella domanda. Nota: "ragionevolmente accurato" probabilmente non è "completamente accurato". Nota: "solo per quella domanda".

output di esempio:

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

subroutine e 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";
}
    
risposta data JsinJ 11.03.2017 - 00:40
fonte

Leggi altre domande sui tag