আমি কোথায় আমার আপডেটের ইতিহাস সন্ধান করতে পারি?


140

এমন কোনও জায়গা আছে যেখানে আমি দেখতে পাচ্ছি যে আমি কী আপডেটগুলি ইনস্টল করেছি?

উত্তর:


132

আপনি history.logফাইলটি পড়তে পারেন /var/log/apt

যেমন। less /var/log/apt/history.log


45

10.10-এ, উবুন্টু সফটওয়্যার সেন্টারে অতীতে আপনি যে সমস্ত আপডেট ডাউনলোড করেছেন তার একটি তালিকা রয়েছে।

এখানে চিত্র বর্ণনা লিখুন


4
+1 এই উত্তরটি আরও সাম্প্রতিক সংস্করণগুলিতেও কাজ করে।
জেমস ব্র্যাডবেরি

4
@ জেমস ব্র্যাডবেরি এই বিকল্পটি উবুন্টু থেকে 16.04-এ চলে গেছে
ফিইলা

25

/ var / log / apt এ প্যাকেজ ইনস্টলেশনের ইতিহাস রয়েছে। যাইহোক, ডিফল্টরূপে, এটি পরিচালনা করে logrotateযা সংকোচনে এবং পুরানো এন্ট্রিগুলি বার করে দেয়।


উবুন্টু সার্ভারে ইতিহাস পরীক্ষা করার জন্য এটি কি আমার পক্ষে সেরা জায়গা?
ব্রেটস্কি

21

10.04-এ ক্লিক করুন (সিস্টেম> প্রশাসন> সিনাপটিক প্যাকেজ ম্যানেজার> ফাইল> ইতিহাস)


11
আমি প্রাপ্ত প্যাকেজগুলির একটি তালিকা যা আমি সিনাপটিকের মাধ্যমে ইনস্টল করেছি, এটি আপডেট ম্যানেজারের মাধ্যমে আপডেট হওয়া সমস্ত প্যাকেজ প্রদর্শন করে না।
যিশাইয়

19

Lgarzo এর উত্তরের বিকল্প হিসাবে, grepআপনি যা আগ্রহী তা করতে পারেন /var/log/dpkg.log। উদাহরণস্বরূপ, আপনি গতকাল ইনস্টল করা বা আপগ্রেড করা সমস্ত কিছু দেখতে চাইলে আপনি চালাতে পারেন:

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

একটি বিষয় লক্ষণীয়: এটি ম্যানুয়ালি ইনস্টল করা প্যাকেজগুলিও তালিকাভুক্ত করবে ( sudo dpkg -i ...), যা অ্যাপের ইতিহাসে প্রদর্শিত হবে না।

Zgrep ইনস্টল করা থাকলে আরও ভাল ব্যবহার করুন যাতে আপনি জিজেপড ফাইলগুলিতে লাইনও খুঁজে পেতে পারেন

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";
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.