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 またはu
sr 操作が 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
答え2
Solaris では、次のコマンドを実行してインストールされたカーネルパッチを表示できます。
uname -v | awk -F_ '{print $2}'
その後、次のように実行します。
ls -lat /var/sadm/patch |grep <patch>
インストールされたタイムスタンプが表示されます。追加情報が必要な場合は、このディレクトリにログもあります。
答え3
出力の最後の行を次のようにパイプできますtail -1
。
lslpp -ha bos.adt.base | sed -n '/COMPLETE/ s/^k.*\s\s//p' | tail -1
また、grep
コマンドをコマンドに縮小しました。自分で実行できない操作sed
は実行していません。sed
注:私はAIXコマンドに精通していないlslpp
ので、それが作業に適したツールであり、最も適切なオプションを使用したとします。必要なものを得るためにマニュアルページを使用するより良い方法があるかどうかを確認するには、マニュアルページを読むことをお勧めします。