ちょっとした小ネタ
調査
見知らぬマシンや、セットアップしてから相当の時間が経って中を忘れたサーバの 面倒を見ろと言われたら、まずはいろいろと調べるだろう。 よく使うものをリストしておく。
ハードウェア
# lsmcode -r -d sys0 システムマシンコードの確認 # lscfg ハード構成の概要 # lscfg -vp | more ハード構成の詳細(冗長) # lsdev -C -F 'name class location physloc' 各デバイスの OS からの認識情報 # lsdev -C | grep proc プロセッサの数 # lsattr -E -l proc0 0 番プロセッサの情報 # lsattr -E -l mem0 物理メモリの情報 # lspv 物理ディスクドライブの情報 # lsdev -C | grep hdisk ディスクの数 # lsattr -E -l hdisk0 ディスクの情報 # lsps -a スワップの設定情報 # lsps -s スワップの状況 # lsslot -c pci pci にぶら下がるドロワの状態
OS そのもの
# oslevel # oslevel -r # oslevel -s (5.3 以降?) # bootinfo -K # alog -o -t boot # alog -o -t console
ディスク関連
# lspv pv の一覧表示 # lspv hdisk0 pv の情報表示 # lspv -l hdisk0 pv の詳細表示 # lsvg vg の一覧 # lsvg -o 掴んでいる vg の一覧 # lsvg -p rootvg vg 内の pv の一覧 # lsvg -l rootvg vg 内の lv の一覧 # lsps -s paging の合計表示 # lsps -a paging の個別表示 # sysdumpdev -l ダンプデバイス表示 # sysdumpdev -e ダンプデバイス容量見積り # mklv -y sysdump00 -t sysdump rootvg 8 hdisk0 ダンプデバイス作成 # sysdumpdev -P -p /dev/sysdump00 プライマリダンプデバイスの設定 # sysdumpdev -P -p /dev/sysdumpnull プライマリダンプデバイスの解除 # sysdumpdev -P -s /dev/sysdump01 セカンダリダンプデバイスの設定 # sysdumpdev -P -s /dev/sysdumpnull セカンダリダンプデバイスの解除 # bootlist -o -m normal 起動ディスクの確認 # bootlist -m normal hdisk0 起動ディスクの設定 # bootlist -m normal hdisk0 hdisk1 起動ディスクの設定
チェックサム
AIX 5.1 〜 5.2 では cksum コマンドが、 AIX 5.3 では cksum に加えて md5sum コマンドが使える。
パスワード変更
AIX では、あるユーザのパスワードが最後に変更されたのはいつか? が /etc/security/passwd に記録されている。
この記録は、直接ファイルを見てもよいのだが、pwdadm コマンドで 取り出すことができる。
# pwdadm -q root root: lastupdate = 1194587992
記録されている時刻は epoch からの通算秒数なので、読みやすくするには 適宜変換が必要であろう。以下にスクリプト例を示す。
TZ=JST-9 export TZ cat /etc/passwd | awk -F":" '{print $1}' | while read user do t=`pwdadm -q $user | grep lastupdate | awk '{print $NF}'` if [ "$t" = "" ]; then t=0 fi perl -e ' ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($ARGV[0]); $year+=1900; $mon+=1; printf("%4d.%02s.%02s %02d:%02d:%02d %s\n", $year, $mon, $mday, $hour, $min, $sec, $ARGV[1]);' $t $user done
このスクリプトは、/etc/passwd を読んで、すべてのユーザについて pwdadm コマンドを発行し、パスワードの最終更新がいつであったかを 日本時間で表示する。
システムアカウントなど、いちどもパスワードを変更していないユーザは そもそも /etc/security/passwd に記録がなく (記録のしようがなく)、 lastupdate フィールドに何も報告されない。
C コンパイラ
C コンパイラのバージョンは、lslpp で調べる。 IBM 純正のコンパイラは Visual Age C なので、vac でひく。 C++ は xlC だ。
# lslpp -hac | grep vac.C
または
# lslpp -l vac.C
「-version」とかがあればいいんだが。なかなかややこしい。
その他トリビア
- IBM C/C++ Enterprise のインストールには、App-Dev が必要。
- 5.1 には atoll が無い。
- 5.3 から? mksysb に相当する mkdvd というのがある。
- savevg は いきなり dvd に書けない。
- pSeries では POWER6 から、光学ドライブは DVD-RAM が標準。