RHEL Lightspeed を搭載したコマンドラインアシスタントとの対話


Red Hat Enterprise Linux 9

RHEL Lightspeed を搭載したコマンドラインアシスタントの AI ベースの専門知識を RHEL の設定、管理、トラブルシューティングに活用する

Red Hat Customer Content Services

概要

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用すると、自然言語を使用して、コマンドラインから RHEL の管理に関する専門的なアドバイスやサポートを受けることができます。アシスタントを強化する生成 AI は、RHEL の製品ドキュメントと Red Hat ナレッジベースの情報を組み込んでおり、RHEL システムの理解、設定、トラブルシューティングに役立ちます。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。

Jira からのフィードバック送信 (アカウントが必要)

  1. Jira の Web サイトにログインします。
  2. 上部のナビゲーションバーで Create をクリックします。
  3. Summary フィールドにわかりやすいタイトルを入力します。
  4. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
  5. ダイアログの下部にある Create をクリックします。

第1章 RHEL システム向け RHEL Lightspeed の概要

RHEL Lightspeed のインテリジェントな機能は、RHEL の経験が少ない場合でも、すでに経験がある場合でも、システム環境をより利用しやすい方法で管理するのに役立ちます。

1.1. RHEL Lightspeed を搭載したコマンドラインアシスタント

RHEL Lightspeed を搭載したコマンドラインアシスタントは、RHEL コマンドラインインターフェイス内で利用できるオプションの AI ツールです。このツールには、Knowledge Centered Service (KCS) の記事、RHEL ドキュメント、その他の Red Hat リソースからの Red Hat ナレッジ情報が組み込まれています。アシスタントを使用すると、次のようなアクティビティーに関するサポートを受けることができます。

  • RHEL 関連の質問への回答
  • 問題のトラブルシューティングと修正のサポート
  • ログファイルの理解
  • 推奨事項の要求

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用すると、対話型のワークフローで問題を解決したり、新しい RHEL 機能を実装したり、情報を検索したりすることができます。たとえば、コマンドを実行してからコマンドラインアシスタントを使用して、出力と次のステップを理解することができます。または、SSH に関する質問をして、提案を受け取り、さらに別の質問をして問題の診断を続けることもできます。

標準のコマンドラインインターフェイスを使用する場合のように複雑なコマンドを使用せずに、わかりやすい言葉を使用して、RHEL Lightspeed を搭載したコマンドラインアシスタントと対話できます。

RHEL Lightspeed を搭載したコマンドラインアシスタントでは、直接のインターネット接続は必要ありません。これは、すべての RHEL システムをインターネット経由でサービスに直接接続せずに、インターネットに接続された 1 つのプロキシーシステムを介して RHEL システムからのすべての要求を代理できる場合に役立ちます。

RHEL Lightspeed コマンドラインアシスタントは、RHEL のライフサイクルに従います。サポートされているバージョンと関連ポリシーの詳細は、Red Hat Enterprise Linux のライフサイクル を参照してください。

重要

コマンドラインアシスタントは、実行中のシステムに関する情報に直接アクセスすることはできません。ただし、入力したメッセージと LLM プロバイダーに送信される環境に、環境に関する情報を含めることができます。たとえば、このアシスタントは、ツールを実行しているシステム上の使用可能な空きメモリーに関する回答を提供することができません。代わりに、コマンドラインアシスタントは、空きメモリーの量を確認するために実行できるコマンドに関する情報を返します。

RHEL Lightspeed による生成 AI 機能の使用

RHEL Lightspeed は WatsonX AI API LLM (Large Language Model) を使用します。このモデルは、SaaS 外部インフラストラクチャーとしてデプロイされます。

1.2. コマンドラインアシスタントのデータ処理方法

コマンドラインアシスタントインターフェイスを使用する場合は、お使いの環境に設定した LLM プロバイダーにコマンドラインアシスタント変換と送信するメッセージを入力してください。このメッセージには、お客様の環境の要素に関する情報が含まれる場合があります。

LLM プロバイダーへの送信を希望しない情報は、コマンドラインアシスタントインターフェイスに入力しないでください。

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用すると、LLM プロバイダーと交換するすべてのメッセージを Red Hat が使用する場合があることに同意したことになります。この機能は個人情報を処理することを目的としたものではありません。お客様は、RHEL Lightspeed を搭載したコマンドラインアシスタントを使用すると、コマンドラインアシスタントの使用中に個人情報を含めないことに同意したことになります。AI 機能のサポートは、Red Hat が提供するコンポーネントに対してのみ提供されます。

第2章 RHEL Lightspeed を搭載したコマンドラインアシスタントのインストール

RHEL Lightspeed を搭載したコマンドラインアシスタントは、公式の RHEL 9 リポジトリーから利用できるオプションのツールです。

2.1. RHEL Lightspeed を搭載したコマンドラインアシスタントのインストール

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用するには、公式の RHEL リポジトリーからインストールする必要があります。コマンドラインアシスタントは、次のアーキテクチャーでサポートされています。

  • AMD および Intel 64 ビット (x86_64)
  • ARM64 (aarch64)
  • IBM Z (s390x)
  • IBM POWER systems (ppc64)

RHEL Lightspeed を搭載したコマンドラインアシスタントを利用するには、RHEL リポジトリーを使用してインストールします。pip install command-line-assistant は使用しないでください。Red Hat はこのインストール方法をサポートしていません。

前提条件

手順

  • RHEL システムで、次のコマンドを実行します。

    $ sudo dnf install command-line-assistant
    Copy to Clipboard

検証

  • コマンドラインアシスタントを実行して、インストールしたものが動作することを確認します。以下に例を示します。

    $ c "How to install python?"
    Copy to Clipboard

    出力は次の例のようになります。

    +*+ Asking RHEL Lightspeed
    
    To install python....
    Copy to Clipboard
  • コマンドラインアシスタントでカラー出力を無効にします。以下に例を示します。

    $ NO_COLOR=1 c “How to install python?”
    Copy to Clipboard

2.2. Red Hat Satellite を使用した RHEL デプロイメントへのコマンドラインアシスタントのプロビジョニング

Red Hat Satellite に登録されているホストに、RHEL Lightspeed を搭載したコマンドラインアシスタントをインストールできます。そのため、Satellite に登録されている RHEL システムが、Satellite Server を使用してコマンドラインアシスタントをプロキシーできるように、コマンドラインアシスタントエンドポイントを更新します。

前提条件

  • システムは Insights for Red Hat Enterprise Linux に登録されている。
  • 6.17 以降のバージョンの Satellite Server に登録されているホストでコマンドラインアシスタントを使用している。
  • Satellite Server がインターネットに接続されている。
  • コマンドラインアシスタントをインストールできるように、ホストで AppStream リポジトリーを有効にした。

手順

  1. 登録済みのホストに、RHEL Lightspeed を搭載したコマンドラインアシスタントをインストールします。

    $ sudo dnf install command-line-assistant
    Copy to Clipboard
  2. /etc/xdg/command-line-assistant/config.toml ファイルを見つけて開きます。
  3. config.toml ファイルで、エンドポイント設定オプションを、Satellite または Capsule のホスト名を参照するように置き換えます。次に例を示します。

    #The endpoint points to an API server.
    endpoint = "https://satellite.example.server.com/api/lightspeed/v1"
    Copy to Clipboard
  4. 変更を config.toml ファイルに保存します。
  5. コマンドラインアシスタントデーモン (clad) を再起動して、変更を有効にします。

    $ sudo systemctl restart clad
    Copy to Clipboard

第3章 RHEL システムでの RHEL Lightspeed を搭載したコマンドラインアシスタントの使用

RHEL Lightspeed を搭載したコマンドラインアシスタントは、経験の少ないユーザーでも経験豊富なユーザーでも、コマンドラインインターフェイスを使用して RHEL を操作できるように設計されています。コマンドラインアシスタントは、RHEL 関連の質問への回答、トラブルシューティングの支援、ログエントリーの解読の支援など、さまざまなタスクに役立ちます。

警告

AI ツールの結果に頼らずに、人手によるレビューを行ってください。生成された提案を使用する前に、必ず AI と LLM によって生成された応答の正確性を確認してください。

3.1. コマンドラインアシスタントに質問する

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用するには、“c” コマンドの後に引用符で囲んだ質問を続けます。以下に例を示します。

  • c + “質問” という構文を使用して質問します。以下に例を示します。

    $ c “What is RHEL”
    Copy to Clipboard
警告

コマンドラインアシスタントを使用するときは、次の種類のデータを入力しないでください。このアシスタントは、次のようなデータを処理することを目的としていません。

  • 個人情報
  • ビジネス上の重要な情報
  • 機密情報
  • システムデータ情報

以下は、RHEL システムの使用時にコマンドラインアシスタントと対話するために使用できるプロンプトの例です。

問題のトラブルシューティング方法に関する情報を要求します。

$ c “how to troubleshoot sshd failing to start”
Copy to Clipboard
$ c “how do I find all the files in the /ect that have been modified in the last hour”
Copy to Clipboard

3.2. コマンドラインアシスタントにファイルを質問に添付する

RHEL Lightspeed を搭載したコマンドラインアシスタントには、ファイルを添付できます。これを行うと、アシスタントがそのファイルに基づいてカスタマイズした応答を提供できます。

たとえば、ボリュームグループ、論理ボリューム、およびファイルシステムを別のシステムにレプリケートする必要がある場合は、ストレージ情報を含むファイルを作成してからコマンドラインアシスタントを実行します。すると、その特定のストレージパーティションを別のシステムにレプリケートするのに必要な手順に関する情報を取得できます。以下に例を示します。

$ c --attachment <storage_info>
Copy to Clipboard

必要に応じて、短縮形の attachment コマンドを使用します。以下に例を示します。

# $ c -a <storage_info>
Copy to Clipboard

添付ファイルを質問と組み合わせることもできます。

# $ c --attachment <storage_info> "how can I replicate the storage configuration in another system
Copy to Clipboard

3.3. コマンドラインアシスタントを使用した履歴の相互作用の確認

RHEL Lightspeed を搭載したコマンドラインアシスタントとの会話履歴にアクセスします。

  • すべてのユーザー履歴を取得します。以下に例を示します。

    $ c history --all
    Copy to Clipboard
  • 履歴の最初の会話にアクセスします。以下に例を示します。

    $ c history --first
    Copy to Clipboard
  • 履歴から最後の会話にアクセスします。以下に例を示します。

    $ c history --last
    Copy to Clipboard
  • 会話履歴をフィルタリングして用語を検索すると、その用語に関連するすべての質問と回答が表示されます。以下に例を示します。

    $ c history --filter “podman”
    Copy to Clipboard
  • すべてのユーザー履歴を消去します。

    $ c history --clear
    Copy to Clipboard

3.4. コマンドの出力のコマンドラインアシスタントへのリダイレクト

理解したい情報が含まれているログファイルを使用するには、そのログファイルの出力を、RHEL Lightspeed を搭載したコマンドラインアシスタントにリダイレクトします。

$ cat <log_file.log> | c
Copy to Clipboard

コマンドラインアシスタントに提供したエラーまたはログに十分な情報が含まれていない場合は、リダイレクトの出力と質問を組み合わせることができます。次に例を示します。

$ cat <log_file_error.log> | c "how do I solve this?"
Copy to Clipboard

質問をリダイレクトすることもできます。

$ echo "how do I solve this?" | c -a <log_file_error.log>"
Copy to Clipboard

3.5. コマンドラインアシスタントを有効にしてターミナルのアクティビティーをキャプチャーする

RHEL Lightspeed を搭載したコマンドラインアシスタントには、以前に実行したコマンドを参照できるオプションの機能があります。

警告

リクエストにターミナルコンテキストを追加しており、以前にキャプチャーされたコマンドがない場合、コマンドは失敗します。キャプチャーモードが有効になっている間は、ターミナルからのみコンテキストを追加できます。

  1. 現在のターミナルセッションのターミナルキャプチャーを有効にします。以下に例を示します。

    $ c shell --enable-capture
    Copy to Clipboard
  2. 以前のコマンドを参照する前に、少なくとも 1 つのコマンドを実行します。

    キャプチャーを有効にすると、以前に実行したコマンドの出力を参照できます。たとえば、最後のコマンドを参照するには、以下を実行します。

    $ c -w 1 "what_is_this"
    Copy to Clipboard

    最後から 2 番目のコマンドを参照するには、以下を実行します。

    $ c -w 2 "what_is_this"
    Copy to Clipboard
  3. ターミナルキャプチャーを停止するには、キーボードで次のキーを押します。

    $ Press Ctrl + D
    Copy to Clipboard

3.6. コマンドラインアシスタントの応答に関するフィードバックを送信する

RHEL Lightspeed 搭載のコマンドラインアシスタントを操作したときに受け取った応答に関するフィードバックを送信できます。

$ c feedback
Copy to Clipboard

第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 アクセス権がある。

手順

  1. SSHD のステータスを確認し、再起動します。

    $ sudo systemctl status ssh
    $ sudo systemctl restart ssh
    Copy to Clipboard
  2. コマンドラインアシスタントのオプションのターミナルキャプチャー機能を有効にします。

    $ c shell --enable-capture
    Copy to Clipboard
  3. 最後に実行したコマンドの出力を含めるには、-w 1 "your-question" オプションを使用します。

    $ c -w 1 "what_is_this"
    Copy to Clipboard
    • 2 を指定すると、2 つ前までのコマンドの出力が参照されます。他の数字を指定した場合も、同様に出力が参照されます。
    • また、実行するプロンプトをコマンドと一緒に指定し、“help me understand the output” (出力を説明してください) と尋ねて、エラーを含む出力を参照することもできます。これにより、コマンドアシスタントは、ユーザーがエラーの詳細を尋ねていることを理解します。

      コマンドラインアシスタントが要求を処理していくつかの解決策を提供するまでに、しばらく時間がかかります。この例では、提案を使用して journalctl -xeu コマンドを実行し、sshd.service を使用してログファイルを確認できます。

  4. その journalctl コマンドを実行します。最後の 30 行を取得する tail コマンドを追加し、その出力をコマンドラインアシスタントにパイプして、エラーの説明を求める質問を追加します。

    $ journalctl -xeu sshd.service | tail -n 30 | c “here are the logs, please help me understand this”
    Copy to Clipboard

    コマンドラインアシスタントがログファイルをチェックし、考えられる問題 (config ファイル内のタイプミス) をいくつか示します。

  5. コマンドラインアシスタントに、この入力エラーを修正するためのコマンドを生成するよう求めます。

    $ c “what is the command that I can use to change “Porrt ”to “Port” in the /etc/ssh/sshd_config file?”
    Copy to Clipboard

    コマンドラインアシスタントによって提案されたコマンドを使用します。

  6. コマンドラインアシスタントによって提案されたコマンドを実行します。以下に例を示します。

    $ sed -i s/Porrt/Port/g /etc/ssh/sshd_config
    Copy to Clipboard

    出力に、そのファイルを編集するアクセス権が拒否されたというエラーが表示されます。前のコマンドを sudo ユーザーとして再実行します。

    $ sudo sed -i s/Porrt/Port/g /etc/ssh/sshd_config
    Copy to Clipboard
  7. SSHD サービスを再起動し、SSHD のステータスを確認します。

    $ sudo systemctl restart sshd
    $ sudo systemctl status sshd
    Copy to Clipboard

4.2. コマンドラインアシスタントを使用した SELinux の問題のトラブルシューティング

次の例は、コマンドラインアシスタントを使用して SELinux の問題をトラブルシューティングする手順を示しています。

前提条件

  • コマンドラインアシスタントを有効にした。
  • システムへの root アクセス権がある。

手順

  1. ターミナルで次のコマンドを入力して、システムにインストールされている httpd パッケージのバージョンをリスト表示します。

    $ sudo rpm -qa httpd
    httpd-2.4.62-2.fc40.x86_64
    Copy to Clipboard
  2. httpd.conf ファイルの内容を表示します。

    $ sudo cat /etc/httpd/conf/httpd.conf
    # This is the main Apache HTTP server configuration file.  It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
    # In particular, see<URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
    # for a discussion of each configuration directive.
    Copy to Clipboard
  3. すべての httpdq パッケージを検索します。

    $ sudo rpm -qa httpdq
    Copy to Clipboard
  4. Web サーバーが着信リクエストを受け入れるポートを特定します。

    $ cat /etc/httpd/conf/httpd.conf | grep Listen
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # Change this to Listen on a specific IP address, but note that if
    #Listen 12.34.56.78:80
    Listen 80
    Copy to Clipboard
  5. httpd サービスを再起動します。

    $ systemctl restart httpd
    
    Job for httpd. Service failed because the control process exited with error code.
    See “systemctl status httpd.service" and “journalctl -xeu httpd.service” for details.
    Copy to Clipboard
    1. journalctl コマンドを実行して、失敗したサービスの詳細を確認します。

      $ sudo journalctl -xeu httpd.service
      Copy to Clipboard
  6. コマンドラインアシスタントを使用して問題のトラブルシューティングを行い、サービスが失敗する理由を質問します。

    $ sudo c “why did httpd fail to start”
    Copy to Clipboard

    アシスタントが提案をいくつか提示します。その 1 つは、ausearch ツールを使用して監査ログを検索し、メッセージタイプパラメーターに AVC および USER_AVC 値を使用することです。これを行うには、次のコマンドを実行します。

    $ sudo ausearch -m AVC,USER_AVC -ts recent
    Copy to Clipboard
    1. コマンドラインアシスタントに selinux httpd ポートについて質問します。

      $ c “selinux httpd port”
      Copy to Clipboard

      アシスタントが、次のように sestatus コマンドを使用して、現在の SELinux ステータスと httpd サービスの内容を確認することを提案します。

      $ sudo sestatus
      
      SELinux status:                 enabled
      SELinuxfs mount:                /sys/fs/selinux
      SELinux root directory:         /etc/selinux
      Loaded policy name:             targeted
      Current mode:                   enforcing
      Mode from config file:          enforcing
      Policy MLS status:              enabled
      Policy deny_unknown status:     allowed
      Memory protection checking:     actual (secure)
      Max kernel policy version:      33
      Copy to Clipboard
    2. 次のコマンドを実行して、httpd サービスの特定の SELinux ポリシーを表示します。

      $ sudo cat /usr/share/selinux/targeted/contexts/httpd_var_run_t
      No such file or directory
      Copy to Clipboard
    3. コマンドラインアシスタントにコンテキストについて質問します。

      $ c “i don't have a httpd_var_run_t contexts”
      Copy to Clipboard

      コマンドラインアシスタントが要求を処理するまでに、しばらく時間がかります。処理が終わると、提案がいくつか提供されます。

    4. コンテキストがない可能性があるため、次のコマンドでコンテキストを設定する必要があるという指示が表示されます。

      $ sudo chcon -R -t httpd_var_run_t
      Copy to Clipboard
    5. コマンドラインアシスタント (CLA) にポートについて質問します。

      $ c “selinux won't let httpd listen on port 12345”
      Copy to Clipboard
    6. 次の提案を試して、コマンドを実行します。

      $ sudo semage port -a -t httpd_port_t -p tcp 12345
      ValueError: Type httpd_port_t is invalid, must be a port type
      Copy to Clipboard
    7. 出力に表示されたエラーについて CLA に質問します。

      $ c “how do I fix ValueError: Type httpd_port_t is invalid, must be a port type”
      Copy to Clipboard
  7. CLA によって提供された手順を実行します。

    $  sudo getenforce
    Enforcing
    $ setenforce 0
    $ sudo systemctl restart httpd
    $ sudo systemctl status httpd
    
    $ sudo ls -Z /usr/sbin/httpd
    system_u:object_r:httpd_exec_t:s0 /usr/sbin/httpd
    
    $ chcon -t httpd_exec_t /usr/sbin/httpd
    
    $ sudo setenforce 1
    Copy to Clipboard
    1. httpd サービスを再起動し、httpd.service のステータスを確認します。

      $ sudo systemctl restart httpd
      Job failed
      
      $ sudo systemctl status httpd.service
      Failed to start the Apache Server
      Copy to Clipboard
  8. httpdport 12345 で待ち受けできるようにする方法について、CLA に質問します。

    $ c “how do I enable httpd to listen on port 12345 selinux”
    Copy to Clipboard
    1. CLA によって提案されたコマンドを実行します。

      $ sudo setsebool -P httpd_can_network_connect=1
      Copy to Clipboard
  9. httpd サービスを再起動し、httpd.service のステータスを再度確認します。

    $ sudo systemctl status htppd
    $ sudo systemctl restart httpd
    Job failed, see journalctl
    Copy to Clipboard
  10. journalctl サービスを確認します。

    $ journalctl -xeu httpd
    Output: An ExecStart= process belonging to unit httpd.service has exited.
    Copy to Clipboard
  11. 出力を使用して CLA にトラブルシューティングを実行するよう求めます。

    $ c “An ExecStart= process belonging to unit httpd.service has exited.”
    Copy to Clipboard
    1. CLA の応答で返されるコマンドを実行します。

      $ sudo ausearch -m AVC,USER_AVC -ts recent
      Output: “avc:  denied  {name_bind}  for pid=7184 comm=”httpd” src=12345 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r: unreserved_port_t:s0 tclas=tcp_socket permissive=0"
      Copy to Clipboard
    2. 前のコマンドの出力をコピーします。

      $ sudo c ““avc: denied {name_bind} for pid=7184 comm=”httpd” src=12345 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r: unreserved_port_t:s0 tclas=tcp_socket permissive=0”
      Copy to Clipboard
    3. “SELinux is preventing Apache Server (httpd) from binding to port 12345” というエラーを解決するために、次のコマンドを実行します。

      $ sudo semage port -a -t http_port_t -p tcp 12345
      Copy to Clipboard
  12. httpd サービスを再起動し、httpd.service のステータスを確認します。

    $ sudo systemctl restart httpd
    No error
    $ sudo systemctl status httpd.service
    Copy to Clipboard

    サーバーが設定されて起動し、port 443port 12345 で待ち受けるようになります。

第5章 RHEL Lightspeed を搭載したコマンドラインアシスタントのトラブルシューティング

RHEL Lightspeed を搭載したコマンドラインアシスタントをインストールして使用する際の問題を診断して解決します。このリストは網羅的なものではないことに注意してください。

Could not find the TLS certificate file, invalid path: /etc/pki/consumer/cert.pem

コマンドラインアシスタントに質問したときに、無効なパスが原因で TLS 証明書ファイルが見つからないためにアシスタントが失敗した場合、システムが登録されていない可能性があります。

このエラーを解決するには、システムを登録してください。次の手順に従ってください。

システムが登録されているかどうかを確認します。

# subscription-manager identity
Copy to Clipboard

システムが登録されていない場合は、次のコマンドを使用してシステムを登録します。

# subscription-manager register --username <username> --password <password>
Copy to Clipboard

サーバーとの通信エラー

システムで c コマンドを実行しようとすると、次のエラーが発生して失敗します。

🙁 Communication error with the server: HTTPSConnectionPool(host='cert.console.redhat.com', port=443): Max retries exceeded with url: /api/lightspeed/v1/infer (Caused by ProtocolError('Connection aborted.', PermissionError(13, 'Permission denied'))). Please try again in a few minutes.
Copy to Clipboard

このエラーを解決するには、コマンドラインアシスタントデーモン (clad) を再起動し、c コマンドを再実行します。

$ systemctl restart clad
$ c “<Your_question>”
Copy to Clipboard

ファイルを添付する際の警告

c コマンドを実行してファイルを添付しようとすると、次の警告が表示されます。

"Error: The total size of your question and context (478.46 KB) exceeds the limit of 2.00 KB. Trimming it down to fit in the expected size, you may lose some context."

これは、アシスタントがクライアントに対して 2 KB の制限を設けているために発生します。

clad が更新された証明書を正しく再ロードしない

clad を非 root ユーザーとして実行しようとすると、clad が更新された証明書を正しく再ロードしません。/etc/pki/consumer の下の証明書は、root によって所有されている必要があります。clad は、root のみが読み取り可能なファイルにアクセスする必要があるためです。

このエラーを解決するには、key.pem の権限を root に変更し、clad コマンドを root として実行します。

$ sudo ls -l /etc/pki/consumer/
$ sudo chown $(whoami):$(id -gn) /etc/pki/consumer/${KEY_NAME}
Copy to Clipboard

第6章 付録: コマンドラインアシスタントの設定の変更

コマンドラインアシスタントデーモン (clad) は、RHEL Lightspeed を搭載したコマンドラインアシスタントの中核であり、ユーザー履歴管理などの RHEL Lightspeed サービスとの通信を管理します。claddbus によってアクティブ化されるデーモンです。たとえば c コマンドを入力するなど、コマンドラインアシスタントを操作すると、デーモンがアクティブになります。

たとえば、プロキシーを使用する場合や別のデータベースに接続する場合、コマンドラインアシスタントの設定を変更できます。これらの設定は任意であることに注意してください。

6.1. プロキシー設定のセットアップ

インターネットアクセスにプロキシーが必要な場合は、config.toml 設定ファイルで次の変更を加えることで、プロキシー設定をセットアップできます。

前提条件

  • RHEL Lightspeed を搭載したコマンドラインアシスタントがインストールされている。

手順

  1. /etc/xdg/command-line-assistant/config.toml 設定ファイルを開いて、プロキシー設定にアクセスします。
  2. config.toml ファイルで次のブロックを見つけて変更します。

    # Backend settings for communicating with the external API.
    [backend]
    ...
    # proxies = { http = "http://example-host:8002", https = "https://example-host:8002" }
    Copy to Clipboard
  3. proxies キーのコメントを解除し、http または https プロキシーホストを定義します。

    [backend]
    …
    # For a https proxy host
    proxies = { https = "https://<your-https-proxy-host:1234>"}
    Copy to Clipboard
  4. 変更を加えたら、変更を有効にするために clad を再起動します。

    $ sudo systemctl restart clad
    Copy to Clipboard
    注記

    clad からの http または https トラフィックを指定のプロキシーにルーティングする場合は、http 値と https キーによる制御を使用できます。ただし、プロトコルはプロキシータイプの選択に影響せず、https トラフィックに http プロキシーを使用する設定にすることもできます。以下に例を示します。

    https = "http://<your-https-proxy-host:1234>"
    Copy to Clipboard

コマンドラインアシスタントデーモンによるデータベースの管理

コマンドラインアシスタントデーモン (clad) は、情報を保存し、ユーザーが履歴データベースにアクセスできるように、暗号化されていない SQLite データベースをデフォルトで使用します。PostgreSQL や MySQL などの別のデータベースバックエンドをインストールして接続することもできます。これらのデータベースは、システムに不要な依存関係が追加されないように、clad にはデフォルトでは組み込まれていません。

6.2. 設定ファイルでのデフォルトデータベースの変更

暗号化されていない SQLite データベースを使用すると、情報を保存し、コマンドラインアシスタントから履歴データベースにアクセスできます。

前提条件

  • コマンドラインアシスタントをインストールした。

手順

  1. 選択したデータベースをインストールします。

    • MySQL をインストールするには、次のように入力します。

      # dnf install python3-PyMySQL
      Copy to Clipboard
    • PostgreSQL をインストールするには、次のように入力します。

      # dnf install python3-psycopg2
      Copy to Clipboard
  2. /etc/xdg/command-line-assistant/config.toml にあるデータベース設定ファイルにアクセスします。
  3. デフォルト設定を見つけてコメントアウトします。以下に例を示します。

     [database]
        # type = "sqlite"
        # connection_string = "/var/lib/command-line-assistant/history.db"
    Copy to Clipboard
  4. 選択したデータベースを設定します。以下の情報は /etc/xdg/command-line-assistant/config.toml でも参照できます。

    1. データベースの種類を設定します。<db_type> に、mysql または postgresql を指定します。
    2. データベースの詳細を設定します。

       type = <db_type>
       host = "<hostname_or_ip_address>"
       port = "5432"
       username = "<database_user_name>"
       password = "<password>"
       database = "<database_name>"
      Copy to Clipboard
  5. データベースの種類を変更した後、変更を適用するために clad デーモンを再起動します。

    $ sudo systemctl restart clad
    Copy to Clipboard

6.3. 保存された systemd-creds パスワードを使用したデータベースへの接続

systemd-creds ツールを使用して暗号化された認証情報をセキュアに保存し、systemd-creds に保存されたシークレットを使用して、選択したデータベース (PostgreSQL、SQLite、または MySQL) に接続できます。

前提条件

  • コマンドラインアシスタント。
  • データベース設定ファイルへのアクセス。

手順

  1. /etc/xdg/command-line-assistant/config.toml にあるデータベース設定ファイルにアクセスします。
  2. [database] セクションから username および password パラメーターを削除します。次に例を示します。

    [database]
    type = "postgresql"
    host = "localhost"
    port = "5432"
    database = "history"
    Copy to Clipboard
    注記

    ユーザー名とパスワードを設定ファイルに残しておくと、これらの認証情報が systemd-creds ツールよりも優先されます。

  3. 暗号化されたユーザー名またはパスワードの認証情報を生成します。次の例では、systemd-ask-password コマンドを使用します。名前が database-username および database-password のスキーマに従っている必要があります。従っていない場合、clad が認証情報を正しくロードしません。

    1. 暗号化されたユーザー名を生成するには、次のコマンドを実行します。

      $ systemd-ask-password -n | ( echo "[Service]" && systemd-creds encrypt --name=<database-username> -p - - ) >/etc/systemd/system/clad.service.d/<username>.conf
      Copy to Clipboard
    2. 暗号化されたパスワードを生成するには、次のように入力します。

      $ systemd-ask-password -n | ( echo "[Service]" && systemd-creds encrypt --name=<database-password> -p - - ) >/etc/systemd/system/clad.service.d/<password>.conf
      Copy to Clipboard
  4. データベースの認証情報を更新した後、systemd を再ロードし、clad デーモンを再起動して変更を適用します。

    $ sudo systemctl restart clad
    Copy to Clipboard

第7章 ユーザーデータのセキュリティーに関するよくある質問

コマンドラインアシスタントはどのようなシステム情報に直接アクセスできますか?

コマンドラインアシスタントは、システムの情報に直接アクセスすることはできません。たとえば、コマンドラインアシスタントに "how much free memory does this system have?" (このシステムには空きメモリーがどれくらいあるか) などの質問をしても、コマンドラインアシスタントはシステムから直接この情報を収集することはできません。代わりに、コマンドラインアシスタントでは、システムの空きメモリー量を表示するコマンドを確認できます。次のようなさまざまな方法を使用して、コマンドラインアシスタントに情報を提供できます。

  • プロンプトまたは質問に情報を含める
  • --attachment オプションを使用してコマンドラインアシスタントにファイルを添付する
  • シェルパイプラインを使用してコマンドの出力をコマンドラインアシスタントに渡す
  • --with-output オプションを使用する

コマンドラインアシスタントの入力と出力のプロセスフローは?

  1. コマンドラインアシスタントが質問を入力として受け取ります。

    1. コマンドラインアシスタントは、ユーザーとコマンドラインアシスタント間の会話の完全なトランスクリプトをログに記録して保存します。これには以下の情報が含まれます。

      • ユーザーからのクエリー。
      • 設定された大規模言語モデル (LLM) プロバイダーに送信される完全なメッセージ。これには、システム手順、参照ドキュメント、およびユーザーの質問が含まれます。
      • LLM プロバイダーからの完全な応答。
  2. 入力がバックエンドによって処理されます。
  3. コマンドラインアシスタントが質問に関連する適切な情報を検索します。
  4. コマンドラインアシスタントが、質問、関連する情報、その他の指示を受け取り、AI 推論に送信します。
  5. コマンドラインアシスタントからの出力が応答として表示されます。

コマンドラインアシスタントは個人情報を処理することを目的としたものではありません。お客様は、入力に個人情報を含めないことに同意するものとします。

コマンドラインアシスタントとの対話は、チャット履歴にアクセスできるように、お使いのシステム上にローカルに記録されます。この対話はサービスのログにも記録され、Red Hat の製品やサービスの改善に使用される場合があります。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat