/procやログの確認で問題解決
Linux LPIC編。(第14 章 トラブルシューティング)
/procディレクトリ内の各種ファイルには、カーネルが認識しているハードウェア、実行中
のプロセス、システムリソース等の情報が含まれている。
ここでは全部は書き出さないが、思いついたときに中身を見てみるといろんなことが
わかって面白いと思う。
一応、教科書でチェックすべき関連コマンドとして書かれているものだけメモすると、
lsdev,lspci,lsusbなど。関連記事を過去に書いているのでそれを復習するとして。
↓ ↓ ↓
lspciでPCIバスデバイスの情報を確認する
Linuxにおけるudev、hald、lsusbなど
出力結果がどんなものか、あたりも押さえておいた方がいいかな。
次にログファイルの確認。
Linuxでの各種ログの保存先は/etc/syslog.confで確認。
ちなみにsyslog.confの書式は、「ファシリティ.プライオリティ ログ出力先」でしたね。
いくつかのログファイルはバイナリなので、対応したコマンドにより中身を確認する。
ログのチェックで有益な情報が得られない場合、/etc/syslog.confでプライオリティを
低く設定し、ログの情報量を多くしてみる、とか。
主要なログファイルと、バイナリログの確認方法は押さえた方がよさそう。
(テキストファイルの場合、効率的なログ採取方法とか?)
テキスト形式のログファイル
/var/log/messages
/va/log/secure
/var/log/secure
/var/log/cron
/var/log/rpmpkgs
バイナリログファイル
/var/log/lastlog ユーザごとの最終ログイン記録。lastlogコマンドで確認。
/var/log/wtmp ユーザのログイン履歴。lastコマンドで確認。
/var/log/utmp ログイン中のユーザ情報。who,wコマンドで確認。
最後の3つはややこしいので注意、だなぁ。すぐ忘れるし。
他に、バイナリログファイル内の文字列のみ抜き出すコマンドstringsがある。
プログラムとライブラリの診断
プログラムが正常に動作しない場合、プログラム本体と同時に共有ライブラリも確認しておく。
lddコマンドでプログラムが依存している共有ライブラリを確認できる。
また、ldconfig -pで共有ライブラリの一覧を表示する。
$ ldd /usr/bin/perl
$ ldconfig -p
共有ライブラリのを新しくインストールしたばかりの場合、リンクキャッシュファイル
(/etc/ld.so.conf)を更新するため、ldconfig -aを実行する。
ライブラリコールとシステムコールの表示
「プログラミングの知識がある場合は有益な情報を得られる可能性があります」
・・・って言われても、自分、あてはまらないけど・・・
まぁ知っておいて損はないでしょう。引数になんらかのコマンドを指定する。
ltrace プログラムから呼び出されるライブラリコールを表示する
strace プログラムから呼び出されるシステムコールを表示する
こっそりつぶやき。これらの出力結果がどんなものかは見ておいたほうがいいかも。。
そんなこんなで・・・おぉ、次回で最後じゃないか!
次回は環境変数あたりを。
出典
Linux教科書LPICレベル2(翔泳社)
Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index