Hangi güncellemeleri yüklediğime bakabileceğim bir yer var mı?
history.log
dosyasını /var/log/apt
içinde okuyabilirsiniz.
Örneğin. less /var/log/apt/history.log
.
/ var/log/apt, paket kurulumlarının bir geçmişini içerir. Bununla birlikte, varsayılan olarak, eski girişleri sıkıştırıp yaşlandıran logrotate
tarafından yönetilir.
10.04'te (Sistem> Yönetim> Synaptic Paket Yöneticisi> Dosya> Geçmiş) öğesine tıklayın.
Lgarzo'nun cevabına bir alternatif olarak, /var/log/dpkg.log
içinden neyle ilgilendiğinizi grep
ile yapabilirsiniz. Örneğin, dün kurduğunuz veya yükselttiğiniz her şeyi görmek isterseniz, koşabilirsiniz:
cat /var/log/dpkg.log | grep "^2012-03-25.*\ installed\ "
Unutulmaması gereken bir şey: bu ayrıca, apt tarihinde görünmeyecek olan el ile kurulmuş paketleri de (Sudo dpkg -i ...
) listeler.
Zgrep'i daha da iyi kullanın, eğer yüklüyse gzip dosyalarında da satırlar bulabilirsiniz.
zgrep "^2012-03-25.*\ installed\ " /var/log/dpkg.log*
Bunu artık yazılım merkezinden de yapmak mümkün! Geçmişe gidin ve tüm güncellemelerinizi ve kurulumlarınızı görüntüleyebilirsiniz.
"Bu şeyi en son ne zaman geçirdik?" Sorusuna biraz daha kolay ve doğru bir cevap vermemiz faydalı oldu. Bu yüzden bunu bir araya getirdim. 12.04 ve 14.04 ve 16.04'te test ettim. Bu soru için oldukça doğru cevaplar verir. Not: "makul derecede doğru" muhtemelen "tamamen doğru" değildir. Not: Sadece "bu soru için".
örnek çıktı:
xenial% 9: ./linuxpatchdate
2016-07-19 54
2017-02-24 363
2017-03-08 7
2017-03-09 2
alt yordamlar ve program:
#!/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";
}