AIXおよびSolarisでカーネルの最終更新日を取得する方法

AIXおよびSolarisでカーネルの最終更新日を取得する方法

AIXとSolarisでカーネルの最終更新日を知りたいです。

Linuxの場合、コマンドは次のようになります。

rpm -qa --last | grep kernel-`uname -r` | sed 's/^k.*\s\s//'

このコマンドに対して次のような結果が得られました。

Wed 29 Nov 2017 03:26:48 PM EST

AIXとSolarisにも同じ代替製品が必要です。

AIXに対してこのコマンドを実行しようとするのに必要なコンプレックスの正しい出力ではありません。

lslpp -ha bos.adt.base | grep COMPLETE | sed 's/^k.*\s\s//'
Return Code: 0,                   6.1.1.0   COMMIT       COMPLETE     09/16/14     13:49:31    
                  6.1.1.0   APPLY        COMPLETE     09/16/14     13:49:31    
                 6.1.8.16   COMMIT       COMPLETE     09/16/14     13:59:18    
                 6.1.8.16   APPLY        COMPLETE     09/16/14     13:55:32    
                 6.1.9.30   COMMIT       COMPLETE     07/02/15     16:36:49    
                 6.1.9.30   APPLY        COMPLETE     07/02/15     16:33:22    
                 6.1.9.45   COMMIT       COMPLETE     09/04/15     15:45:19    
                 6.1.9.45   APPLY        COMPLETE     09/04/15     15:45:09    
                6.1.9.101   APPLY        COMPLETE     09/14/17     16:44:44    
                  6.1.1.0   COMMIT       COMPLETE     09/16/14     13:49:36    
                  6.1.1.0   APPLY        COMPLETE     09/16/14     13:49:36    
                 6.1.8.16   COMMIT       COMPLETE     09/16/14     13:59:18    
                 6.1.8.16   APPLY        COMPLETE     09/16/14     13:55:32    
                 6.1.9.30   COMMIT       COMPLETE     07/02/15     16:36:49    
                 6.1.9.30   APPLY        COMPLETE     07/02/15     16:33:23    
                 6.1.9.45   COMMIT       COMPLETE     09/04/15     15:45:19    
                 6.1.9.45   APPLY        COMPLETE     09/04/15     15:45:10    
                6.1.9.101   APPLY        COMPLETE     09/14/17     16:44:45     

それ以外の場合は、上記の出力の最後の行だけが必要です。

ベストアンサー1

AIX部分の場合、bos.adt.baseファイル・セットはハードコーディングされず、要件もありません。みんな更新数 - 適用とコミット - コミットだけでなく、/ unixシンボリックリンク(カーネルを指す)を持つファイルセットの記録を要求します。

lslpp -q -c -h -Or $(lslpp -q -c -w /unix | cut -d: -f2) | tail -1 | cut -d: -f7-8

いくつかの部分に分けてみると、次のようになります。

  • -q - 列ヘッダーを印刷しません。
  • -c - 出力をコロンで区切って印刷します(分析が簡単)。
  • -h - ファイルセットの履歴
  • -w - 指定されたファイルを所有するファイルセット
  • r- または - ここでは oot またはusr 操作が 1 つだけ必要です。

内部から作業してファイルセット名を取得し、lslpp ... -wそのファイルセットの記録を要求し、パイプを介してtail最後の行(最新行とみなす)を取得し、パイプを介してcut日付と時刻のフィールドを取得します。 。

Solaris部分の場合、最近適用されたカーネルパッチで十分でしょうか?

nawk -F: '/^PATCH_INFO/ { sub(" From", ""); print $2":"$3":"$4; }' \
  /var/sadm/pkg/SUNWckr/pkginfo | 
    sort -k6n | tail -1

おすすめ記事