මගේ යාවත්කාලීන ඉතිහාසය සොයාගත හැක්කේ කොතැනින්ද?


153

මා විසින් ස්ථාපනය කර ඇති යාවත්කාලීනයන් බැලීමට මට ස්ථානයක් තිබේද?

Answers:


151

ඔබට history.logගොනුව කියවිය හැකිය /var/log/apt.

උදා. less /var/log/apt/history.log.


1
එම ෆෝල්ඩරයේ පමණක් නොව පැරණි ඉතිහාස ලිපිගොනු තිබිය හැකි බව සඳහන් කිරීම වටී /var/log/apt/history.log. සමහර විට වැනි දෙයක්/var/log/apt/history.log.1.gz
මැක්ස් බිලෙස්චි

45

10.10 දී, උබුන්ටු මෘදුකාංග මධ්‍යස්ථානයේ ඔබ අතීතයේ බාගත කළ සියලුම යාවත්කාලීන කිරීම් ලැයිස්තුවක් ඇත.

රූප විස්තරය මෙහි ඇතුළත් කරන්න


4
+1 මෙම පිළිතුර වඩාත් මෑත සංස්කරණ වලද ක්‍රියාත්මක වේ.
ජේම්ස් බ්‍රැඩ්බරි

7
@ ජේම්ස් බ්‍රැඩ්බරි මෙම විකල්පය උබුන්ටු 16.04 සිට
ෆීලා

27

/ var / log / apt ඇසුරුම් ස්ථාපනය කිරීමේ ඉතිහාසයක් අඩංගු වේ. කෙසේ වෙතත්, පෙරනිමියෙන්, එය කළමනාකරණය කරනු ලබන්නේ logrotateපැරණි ඇතුළත් කිරීම් සම්පීඩනය කර වයස්ගත කිරීමෙනි .


ඉතින් උබුන්ටු සේවාදායකයේ ඉතිහාසය පරීක්ෂා කිරීමට මට හොඳම ස්ථානය මෙයද?
බ්‍රෙට්ස්කි

21

10.04 මත ක්ලික් කරන්න (පද්ධතිය> පරිපාලනය> උපාගමික පැකේජ කළමනාකරු> ගොනුව> ඉතිහාසය)


12
මට ලැබෙන්නේ සයිනප්ටික් හරහා මා ස්ථාපනය කළ පැකේජ ලැයිස්තුවක් පමණි, එය යාවත්කාලීන කළමණාකරු හරහා මා යාවත්කාලීන කළ සියලුම පැකේජ පෙන්වන්නේ නැත.
යෙසායා

20

Lgarzo ගේ පිළිතුරට විකල්පයක් ලෙස, ඔබ කැමති grepදේ ඔබට කළ හැකිය /var/log/dpkg.log. උදා, ඔබ ඊයේ ස්ථාපනය කළ හෝ යාවත්කාලීන කළ සියල්ල දැකීමට අවශ්‍ය නම්, ඔබට ධාවනය කළ හැකිය:

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

සැලකිල්ලට ගත යුතු එක් දෙයක්: මෙය අතින් ස්ථාපනය කර ඇති පැකේජ ( sudo dpkg -i ...) ද ලැයිස්තුගත කරනු ඇත, එය යෝග්‍ය ඉතිහාසයේ නොපෙන්වයි.

Zgrep ස්ථාපනය කර ඇත්නම් ඊටත් වඩා හොඳ භාවිතා කරන්න එවිට ඔබට gzipped ලිපිගොනු වල රේඛා සොයාගත හැකිය

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

11

දැන් මෘදුකාංග මධ්‍යස්ථානය හරහාද මෙය කළ හැකිය! ඉතිහාසය වෙත ගොස් ඔබට ඔබගේ සියලු යාවත්කාලීන කිරීම් සහ ස්ථාපනයන් ප්‍රදර්ශනය කළ හැකිය.

මෘදුකාංග මධ්‍යස්ථාන ඉතිහාසය


මම හිතන්නේ එය 10.10 ක් ද?
vrcmr

ෂුවර්. මෙය පෙර බෙදාහැරීම් වලින් ලබා ගත හැකි යැයි මම නොසිතමි ...
නික් පැස්කූචි

3

"අපි මේ දේ අවසන් වරට ඇලවූයේ කවදාද?" යන ප්‍රශ්නයට මදක් පහසු සහ නිවැරදි පිළිතුරක් ලබා ගැනීම අපට ප්‍රයෝජනවත් විය. ඉතින් මම මේක එකට දැම්මා. මම එය 12.04 සහ 14.04 සහ 16.04 යන දිනවල පරීක්ෂා කළෙමි. එය එම ප්‍රශ්නයට සාධාරණ නිවැරදි පිළිතුරු සපයයි. සටහන: "සාධාරණ ලෙස නිවැරදි" බොහෝ විට "සම්පූර්ණයෙන්ම නිවැරදි" නොවේ. සටහන: "එම ප්‍රශ්නය සඳහා" පමණි.

නියැදි ප්‍රතිදානය:

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

subroutines සහ වැඩසටහන:

#!/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";
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.