第4章 コマンドラインアシスタントを使用したシステムの問題のデバッグまたはトラブルシューティング
RHEL Lightspeed を搭載したコマンドラインアシスタントを使用して、システムで発生する問題のトラブルシューティング方法に関する情報を要求できます。
以下は、システムのトラブルシューティングを行うために尋ねることができる質問の例です。c + "question" という構文を使用して質問に問い合わせます。以下に例を示します。
-
$ c “how to troubleshoot network errors”
-
$ c “I cannot access my server with SSH. Can you give me a list of things to troubleshoot?”
-
$ c "I am failing to start sssd process"
-
$ c “I need to boot into a different kernel”
-
$ c “how to troubleshoot SSHD failing to start”
-
$ c “how do I find all the files in the /etc that have been modified in the last hour”
-
$ c "I am failing to start sssd process"
4.1. コマンドラインアシスタントを使用した SSHD サービスの起動失敗のトラブルシューティング
次の例は、コマンドラインアシスタントの次の機能を使用して、起動に失敗した SSHD サービスのトラブルシューティングを行う方法を示しています。
- コマンドラインアシスタントのオプションのターミナルキャプチャー機能。これはコマンドラインアシスタントと対話するときに、以前のコマンドの出力を参照するための機能です。
- コマンドラインアシスタントにデータをパイプする機能。
前提条件
- コマンドラインアシスタントを有効にした。
- システムへの root アクセス権がある。
手順
SSHD のステータスを確認し、再起動します。
sudo systemctl status ssh sudo systemctl restart ssh
$ sudo systemctl status ssh $ sudo systemctl restart ssh
Copy to Clipboard Copied! コマンドラインアシスタントのオプションのターミナルキャプチャー機能を有効にします。
c shell --enable-capture
$ c shell --enable-capture
Copy to Clipboard Copied! 最後に実行したコマンドの出力を含めるには、
-w 1 "your-question"
オプションを使用します。c -w 1 "what_is_this"
$ c -w 1 "what_is_this"
Copy to Clipboard Copied! - 2 を指定すると、2 つ前までのコマンドの出力が参照されます。他の数字を指定した場合も、同様に出力が参照されます。
また、実行するプロンプトをコマンドと一緒に指定し、“help me understand the output” (出力を説明してください) と尋ねて、エラーを含む出力を参照することもできます。これにより、コマンドアシスタントは、ユーザーがエラーの詳細を尋ねていることを理解します。
コマンドラインアシスタントが要求を処理していくつかの解決策を提供するまでに、しばらく時間がかかります。この例では、提案を使用して
journalctl -xeu
コマンドを実行し、sshd.service
を使用してログファイルを確認できます。
その
journalctl
コマンドを実行します。最後の 30 行を取得する tail コマンドを追加し、その出力をコマンドラインアシスタントにパイプして、エラーの説明を求める質問を追加します。journalctl -xeu sshd.service | tail -n 30 | c “here are the logs, please help me understand this”
$ journalctl -xeu sshd.service | tail -n 30 | c “here are the logs, please help me understand this”
Copy to Clipboard Copied! コマンドラインアシスタントがログファイルをチェックし、考えられる問題 (
config
ファイル内のタイプミス) をいくつか示します。コマンドラインアシスタントに、この入力エラーを修正するためのコマンドを生成するよう求めます。
c “what is the command that I can use to change “Porrt ”to “Port” in the /etc/ssh/sshd_config file?”
$ c “what is the command that I can use to change “Porrt ”to “Port” in the /etc/ssh/sshd_config file?”
Copy to Clipboard Copied! コマンドラインアシスタントによって提案されたコマンドを使用します。
コマンドラインアシスタントによって提案されたコマンドを実行します。以下に例を示します。
sed -i s/Porrt/Port/g /etc/ssh/sshd_config
$ sed -i s/Porrt/Port/g /etc/ssh/sshd_config
Copy to Clipboard Copied! 出力に、そのファイルを編集するアクセス権が拒否されたというエラーが表示されます。前のコマンドを sudo ユーザーとして再実行します。
sudo sed -i s/Porrt/Port/g /etc/ssh/sshd_config
$ sudo sed -i s/Porrt/Port/g /etc/ssh/sshd_config
Copy to Clipboard Copied! SSHD サービスを再起動し、SSHD のステータスを確認します。
sudo systemctl restart sshd sudo systemctl status sshd
$ sudo systemctl restart sshd $ sudo systemctl status sshd
Copy to Clipboard Copied!