Réponses:
Dans la version 10.10, Ubuntu Software Center contient une liste de toutes les mises à jour que vous avez téléchargées dans le passé.
Comme alternative à la réponse de lgarzo, vous pouvez choisir grep
ce qui vous intéresse /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 paquetages 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é les 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";
}