ログファイルが存在するのには理由がある。それは、OSの内部で起きている事象を記録・追跡することだ。問題が発生すると、ログファイルにエントリーが追加されるので、ユーザーはログファイルを確認して、発生中の問題をトラブルシューティングできる。何かが正常に実行されたときに、そのログファイルの末尾に貴重な情報が追加されることもある。この情報が役に立つこともある。
だが、「Linux」には多くのログファイルが存在する。その中には、ユーザーの役に立つものもあれば、それほど役に立たないものもある。さらに、多くのアプリが独自のログファイルをインストールするため、ユーザーは単一のアプリのトラブルシューティングを実行することも可能だ。
それでは、どのログファイルに注意を払う必要があるのだろうか。それらのログファイルは、何のために存在するのだろうか。詳しく見ていこう。
ログの種類
まず、Linuxシステムに存在する4種類のログファイルについて考えてみよう。
- システムログ:カーネルメッセージやブートログ、一般的なシステムアクティビティーを含むログファイル
- アプリケーションログ:これらのログは特定のアプリケーションによって生成され、多くの場合、ログの標準の格納場所のサブディレクトリー内に格納される
- サービスログ:システムサービスやデーモン、バックグラウンドプロセスによって生成されるログ。ログの標準の格納場所のサブディレクトリー内に格納される
- ユーザーログ:ログイン/ログアウトの記録、コマンドの履歴など、さまざまなユーザーアクティビティーに関連したログ。ログの標準の格納場所のサブディレクトリー内に格納される
ログの標準の格納場所は/var/log/だ。
次は、ログを見ていこう。
syslog
このログファイルには、システムに関する一般的なメッセージや情報が保存される。このファイルには、システムのすべてのアクティビティーが保存されるため、情報が多すぎて分かりにくい場合もある。そのため、筆者はgrepコマンドを使用して特定のキーワードを検索することが多い。例えば、「CUPS」プリンターサーバーをトラブルシューティングする必要がある場合、grep cups /var/log/syslogコマンドを実行して、「cups」という単語を含むエントリーだけを表示させることが可能だ。syslogは「cron」関連のイベント(バックグラウンドで実行される自動ジョブ)もすべて保存する。
syslogファイルの格納場所はディストリビューションによって異なる。「Ubuntu」ベースのディストリビューションでは/var/log/syslog、「Fedora」ベースのディストリビューションでは/var/log/messagesに保存されている。
boot.log
boot.logファイルには、起動に関するメッセージや情報が保存される。OSの起動に関連するトラブルシューティングを実行する必要がある場合は、このファイルを調べるといいだろう。このログファイルの閲覧には管理者権限が必要なので、以下のようにsudoを使用する必要がある。
sudo less /var/log/boot.log
何も問題がない場合、このファイルは空であることが多い。