「Linux」でのトラブルシューティングで知っておくべきコマンド5選
今回は「「Linux」でのトラブルシューティングで知っておくべきコマンド5選」についてご紹介します。
関連ワード (Linuxノウハウ、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
「Linux」の悪口を言いたい人にとっては非常に残念なことだが、このOSは実際にとても使いやすい。現代的なGUIデスクトップ環境とアプリケーションのおかげで、誰でもすぐに使いこなすことが可能だ。
しかし、まれにトラブルが発生することもある。そういうときのために、便利なコマンドをいくつか知っておくといいかもしれない。問題は、Linuxには利用可能なコマンドが非常に多いため、どのコマンドが最適な選択肢なのかを判断するのが難しいことだ。
もちろん、システム情報を表示するコマンド(top、free、iostat、htop、vmstat、iftopなど)を学んでもいいが、それらのツールでできることは限られている。それよりも価値があるのは、問題が発生した場合に備えて、本当に役に立つコマンドに習得しておくことだ。
前置きはこの辺にして、それらのコマンドの説明に移ろう。
Linuxを使い始めた頃、dmesgは筆者の親友だった。基本的に、dmesgは起動時にカーネルが出力したすべてのメッセージを確認したいときに使用される。言い換えると、トラブルシューティングできるかもしれない問題の手がかりがここで見つかる可能性もある。
以前のdmesgと異なり、現在では、以下のようにsudo権限でコマンドを実行する必要がある。
これにより、スクロール可能な出力がかなり大量に表示されるので、探している情報を見つけるのは少し難しい。また、表示された情報の多くはおそらく意味不明に思えるはずだ。幸い、エラーは赤色で表示されるため、素早くスクロールして、問題の原因かもしれない情報を見つけることができる。
この作業をさらに簡単にする方法もある。例えば、エラーが発生しているときに、dmesgを実行して、そのエラーが記録されているかどうかをリアルタイムで確認したいとしよう。それを行うには、以下のコマンドを実行する。
これにより、dmesgの出力がリアルタイムで表示される。つまり、エラーが発生すると、その情報がターミナルウィンドウに表示されるので、そこからトラブルシューティングを進めることが可能だ。
出力の追跡ということなら、tailコマンドを使用すれば、あらゆるログファイルに書き込まれた出力を追跡することができる。例えば、Samba共有に問題があり、何が起こっているのかをリアルタイムで確認したいとしよう。最初にすべきことは、どのログファイルを調べればいいのかを特定することだ。そうした状況では、以下のコマンドを実行するといい。
そのフォルダーには、(Sambaサーバーと、共有に接続されているすべてのマシンに関する)多数のログファイルがある。例えば、Sambaのデーモンログの内容を確認したいとしよう。その場合、筆者なら以下のコマンドを実行する。
エラーが発生すると、リアルタイムでターミナルに表示される。下の画像を見ると分かるように、smb.confファイルにshare modesという不明なパラメーターがある。そのファイルを開いてパラメーターを削除し、Sambaを再起動すると、エラーは発生しなくなる。
tailコマンドを終了するには、「Ctrl」+「c」キーボードショートカットを実行する必要があることに注意してほしい。