更新履歴はどこで確認できますか?


140

インストールした更新プログラムを確認できる場所はありますか?

回答:


132

history.logファイルはで読むことができます/var/log/apt

例えば。less /var/log/apt/history.log


45

10.10では、Ubuntu Software Centerには過去にダウンロードしたすべてのアップデートのリストがあります。

ここに画像の説明を入力してください


4
+1この回答は、より新しいバージョンでも機能します。
ジェームスブラッドベリー14

4
このオプションは、上のUbuntu 16.04からなくなっている@JamesBradbury
feeela

25

/ var / log / aptには、パッケージのインストールの履歴が含まれています。ただし、デフォルトでは、logrotate古いエントリを圧縮して期限切れにする管理されます。


Ubuntu Serverの履歴を確認するのに最適な場所はどこですか?
-Brettski

21

10.04で(システム>管理> Synaptic Package Manager>ファイル>履歴)をクリックします


11
取得できるのは、Synaptic経由でインストールしたパッケージのリストだけです。UpdateManager経由で更新したすべてのパッケージは表示されません。
イザヤ

19

lgarzoの答えに代わるものとして、grepあなたが興味を持っていることができます/var/log/dpkg.log。たとえば、昨日インストールまたはアップグレードしたすべてを表示したい場合、次を実行できます。

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

注意すべき点が1つあります。これsudo dpkg -i ...により、手動でインストールされたパッケージ()が一覧表示され、aptの履歴には表示されません。

zgrepがインストールされている場合は、gzipされたファイル内の行も検索できるように、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

サブルーチンとプログラム:

#!/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.