web-dev-qa-db-fra.com

Où puis-je consulter l'historique de mes mises à jour?

Y a-t-il un endroit où je peux consulter les mises à jour que j'ai installées?

134
vrcmr

Vous pouvez lire le fichier history.log dans /var/log/apt.

Par exemple. less /var/log/apt/history.log.

126
lgarzo

Dans 10.10, Ubuntu Software Center contient une liste de toutes les mises à jour que vous avez téléchargées dans le passé.

enter image description here

45
Isaiah

/ var/log/apt contient un historique des installations de paquet. Cependant, par défaut, il est géré par logrotate qui compresse et élimine les anciennes entrées.

25
msw

Le 10.04 Cliquez sur (Système> Administration> Gestionnaire de paquets Synaptic> Fichier> Historique).

21
vrcmr

Comme alternative à la réponse de lgarzo, vous pouvez grep ce qui vous intéresse à partir de /var/log/dpkg.log. Par exemple, si vous voulez voir tout ce que vous avez installé ou mis à jour hier, vous pouvez exécuter:

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

Une chose à noter: cela listera également les paquets installés manuellement (Sudo dpkg -i ...), qui n'apparaîtront pas dans l'historique d'apt.

Mieux encore, utilisez zgrep s'il est installé pour pouvoir également trouver des lignes dans les fichiers gzippés.

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

Il est maintenant possible de le faire également via le centre de logiciel! Accédez à l'historique et vous pourrez afficher toutes vos mises à jour et installations.

Software Center History

11
Nick Pascucci

Il est devenu utile pour nous d'avoir une réponse un peu plus facile et précise à la question "Quand était la dernière fois que nous avons corrigé cette chose?". Alors j'ai mis ça ensemble. Je l'ai testé sur 12.04 et 14.04 et 16.04. Il renvoie des réponses raisonnablement précises pour cette question. Remarque: "raisonnablement précis" n'est probablement pas "complètement exact". Remarque: "pour cette question" seulement.

exemple de sortie:

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

sous-programmes et programme:

#!/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";
}
3
JsinJ