Y a-t-il un endroit où je peux consulter les mises à jour que j'ai installées?
Vous pouvez lire le fichier history.log
dans /var/log/apt
.
Par exemple. less /var/log/apt/history.log
.
/ 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.
Le 10.04 Cliquez sur (Système> Administration> Gestionnaire de paquets Synaptic> Fichier> Historique).
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*
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.
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";
}