yum updateが最後に実行された時間を見つける


13

サーバーのリストが最後にで完全に更新された日時を確認するスクリプトを作成していますyum update

私はそれを見つけることができますがhistory |grep "yum update"|head -n 1、問題は、ユーザーがそれを発表した可能性があるが、プロンプトで「y」を入力しなかったということです。

私が試した別の方法は yum history

ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   109 | <xyz user>              | 2015-08-20 07:18 | Erase          |   1 E<
   108 | root <root>              | 2015-08-18 08:56 | Update         |    3 >
   107 | root <root>              | 2015-08-14 07:39 | Update         |    1
   106 | root <root>              | 2015-08-14 07:38 | Update         |    1
   105 | root <root>              | 2015-08-14 07:38 | Update         |    3
   104 | root <root>              | 2015-08-13 07:31 | Update         |    1
   103 | root <root>              | 2015-08-11 05:46 | Update         |    1
   102 | root <root>              | 2015-08-11 05:46 | Update         |    2
   101 | root <root>              | 2015-08-11 05:45 | Update         |    3
   100 | root <root>              | 2015-08-11 05:45 | Update         |    3
    99 | root <root>              | 2015-08-10 20:41 | Update         |    1
    98 | root <root>              | 2015-08-05 02:35 | Update         |    1
    97 | root <root>              | 2015-05-14 10:52 | Update         |    1
    96 | root <root>              | 2015-05-01 02:59 | Obsoleting     |    2
    95 | root <root>              | 2015-04-09 16:06 | Update         |    1  <
    94 | <xyz.user>            | 2015-03-28 08:49 | Update         |    1 ><
    93 | <xyz.usert>            | 2015-03-28 08:14 | Erase          |    3 ><
    92 | <xyz.user>            | 2015-03-13 07:46 | Install        |    6 ><
    91 | <xyz.user>             | 2015-03-13 05:45 | I, U           |   24 >
    90 | root <root>              | 2015-03-04 01:24 | Update         |    3

しかし、それyum updateが発売され、成功した日付を決定する方法を見つけることができません。たとえば、18日に起動された「更新」とマークされたトランザクションID 108を確認するとyum update、その特定の日付のコマンドが見つかりません。

history |grep 2015 |grep "yum update"

 5182  20150313-054444 > yum update

私が試した別のパスはでした/var/log/yum.logが、yum.logインストールとアップデートも表示されます。パッケージe:g:のインストール中にパッケージが更新されyum install varnish、特定のパッケージの更新が必要な場合(例:(varnish-libs-2.1.5-5.el6.i686、3.0.7-1.el6.i686など))これはyum.logで更新されたように表示さます

a yum updateが発売され、成功した日付を見つける方法はありますか?


1
重複serverfault.com/questions/389650/...「yumのアップデートが最後に実行された際に確認する方法」
スティーブ・

回答:


15

あなたはほとんどあなたの質問に答えました。最新の5つの更新済みパッケージを見つける方法は次のとおりです。

grep Updated: /var/log/yum.log | tail -5

出力例:

Aug 05 13:28:34 Updated: virt-manager-common-1.1.0-9.git310f6527.fc21.noarch
Aug 05 13:28:34 Updated: glusterfs-libs-3.5.5-2.fc21.i686
Aug 05 13:28:35 Updated: virt-manager-1.1.0-9.git310f6527.fc21.noarch
Aug 05 13:28:36 Updated: virt-install-1.1.0-9.git310f6527.fc21.noarch
Aug 05 13:28:38 Updated: glusterfs-3.5.5-2.fc21.i686

1
猫は(見てとる誤用された 猫賞の無駄な使用を)、と-10尾が示すように、デフォルトあたり10行を必要とされていません:それはより良いですので、: grep Updated: /var/log/yum.log | tail
sebelk

1
あなたは絶対にライトです!ただし、grepするレコードはいくつでも選択できるため、10(5に変更)が必要です。そのため、grepで番号を残しました。
obohovyk 2015

これは、最後に更新された5つのパッケージのみを示しています。以下のセナリオを検討してください。パッケージe:gのインストール中にパッケージが更新された場合:yum install varnishと特定のパッケージの更新が必要な場合:(varnish-libs-2.1.5-5.el6.i686,3.0.7-1 .el6.i686など)これは、yum.logで更新されたものとして表示されます。yum update最後に更新された5つのパッケージではなく、がいつ起動して正常に実行されたかを正確に知りたいのですが。
Kheshav Sewnundun、2015

auditdを使用して、yum実行のルールを作成することができます。
Sebelk 2015

1
ログがローテーションされてからyumが使用されていない場合、yum.logが消去された可能性があります。その場合は、eg /var/log/yum.log-20180101などを使用してgrepを実行できます
user8675309

6

まず、「アップグレード」の意味を定義する必要があります。例えば。新しいカーネルのみでアップグレードすると、インストールになります(おそらく古いカーネルが消去されます)。誰かが "fooをアップグレード"した場合、それは重要ですか?アップグレードを実行するだけの「distro-sync」はどうですか(またはアップグレードしない場合)。トランザクションが失敗した場合にカウントされますか?

次に、出力のグレーピングを停止します。これは、痛みと苦しみにつながるだけです。

APIの使用は非常に簡単です。たとえば、(パッケージをアップグレードするためにトランザクションが開始された最新のとき):

import yum
import time

yb = yum.YumBase()
for old in yb.history.old():
    if "Update" in (hpkg.state for hpkg in old.trans_data):
        print "Latest Update:", time.ctime(old.beg_timestamp)
        break

1

次のコマンドは、最近インストールまたは更新されたRPMパッケージを一覧表示します。

rpm -qa --last  | head

YUM外にインストールされたパッケージも含まれる場合があります。このコマンドは、root権限なしでも実行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.