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


Red Hat Enterprise Linux 10

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 システム向け Red Hat Lightspeed の概要

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

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

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

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

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

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

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

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

重要

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

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

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

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

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

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

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

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

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

前提条件

手順

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

    $ sudo dnf install command-line-assistant
    Copy to Clipboard Toggle word wrap

検証

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

    $ c "How to install python?"
    Copy to Clipboard Toggle word wrap

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

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

    $ NO_COLOR=1 c "How to install python?"
    Copy to Clipboard Toggle word wrap

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

前提条件

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

手順

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

    $ sudo dnf install command-line-assistant
    Copy to Clipboard Toggle word wrap
  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 Toggle word wrap
  4. 変更を config.toml ファイルに保存します。
  5. コマンドラインアシスタントデーモン (clad) を再起動して、変更を有効にします。

    $ sudo systemctl restart clad
    Copy to Clipboard Toggle word wrap

トラブルシューティング

コマンドラインアシスタントが Red Hat Satellite の認証局 (CA) を信頼できない場合、アシスタントは Satellite Server へのセキュアな接続を確立できません。そのため、アシスタントは機能しません。この問題を回避するには、以下を実行します。

  1. Satellite CA 証明書をシステムのトラストストアにコピーします。

    $ sudo cp /etc/rhsm/ca/katello* /etc/pki/ca-trust/source/anchors/
    Copy to Clipboard Toggle word wrap
  2. CA 信頼データベースを更新します。

    $ sudo update-ca-trust
    Copy to Clipboard Toggle word wrap

第4章 Image Mode for RHEL でのコマンドラインアシスタントコンポーネント機能の使用

コンテナーのビルド時および実行時に Image Mode for RHEL のコマンドラインアシスタントコンポーネント機能を使用することで、x86_64 および aarch64 アーキテクチャー上の読み取り専用ファイルシステムのセキュリティーと信頼性の利点を維持しながら、必要なシステムタスクを実行できます。

前提条件

  • container-tools メタパッケージがインストールされている。
  • サブスクライブ済みの RHEL システムがある。詳細は、RHEL システム登録のスタートガイド ドキュメントを参照してください。

手順

  1. Containerfile を作成します。

    $ cat Containerfile
    FROM registry.redhat.io/rhel10/rhel-bootc:latest
    RUN <<EORUN
    set -euxo pipefail
    dnf install -y command-line-assistant
    dnf clean all
    rm -rf /var/cache/dnf/
    bootc container lint
    EORUN
    Copy to Clipboard Toggle word wrap
  2. 現在のディレクトリーの Containerfile を使用して、<image> イメージをビルドします。

    $ podman build -t quay.io/<namespace>/<image>:<tag> .
    Copy to Clipboard Toggle word wrap
  3. コンテナーイメージからディスクイメージをビルドします。次の例では、QCOW2 イメージを作成します。

    $ sudo podman run \
        --rm \
        -it \
        --privileged \
        --pull=newer \
        --security-opt label=type:unconfined_t \
        -v ./config.toml:/config.toml:ro \
        -v ./output:/output \
        -v /var/lib/containers/storage:/var/lib/containers/storage \
        registry.redhat.io/rhel10/bootc-image-builder:latest \
        --type qcow2 \
        --config /config.toml \
        quay.io/<namespace>/<image>:<tag>
    Copy to Clipboard Toggle word wrap
    • <namespace>: コンテナーレジストリーの名前空間。
    • <image>: イメージ名。
    • <tag>: イメージのタグ (例: latest)。
  4. QCOW2 ディスクイメージを使用してマシンを起動します。手順は、QCOW2 ディスクイメージを使用した KVM でのコンテナーイメージのデプロイ を参照してください。

検証

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

    $ c "How to deploy a QCOW2 disk image?"
    Copy to Clipboard Toggle word wrap

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

    +*+ Asking RHEL Lightspeed
    
    To deploy a QCOW2 disk image....
    Copy to Clipboard Toggle word wrap

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

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用すると、コマンドラインインターフェイスを使用して RHEL を操作したり、RHEL に関する情報を検索したりすることができます。コマンドラインアシスタントを使用して、RHEL 関連の疑問の解決、トラブルシューティングの実行、ログエントリーの解釈など、多くのタスクを実行できます。

警告

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

5.1. コマンドラインアシスタントへの問い合わせ

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

警告

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

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

前提条件

手順

  • c コマンドを使用し、その後に引用符で囲んだ質問を続けます。以下は、RHEL システムの使用時にコマンドラインアシスタントと対話するために使用できるプロンプトの例です。

    • データを引き出す質問をする

      $ c "What is RHEL"
      Copy to Clipboard Toggle word wrap
    • SSHD の問題をトラブルシューティングする方法に関する情報を要求する

      $ c "how to troubleshoot sshd failing to start"
      Copy to Clipboard Toggle word wrap
    • /etc 下のファイルを検索する方法に関する情報を要求する

      $ c "how do I find all the files in the /etc/ that have been modified in the last hour"
      Copy to Clipboard Toggle word wrap

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

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

前提条件

  • RHEL Lightspeed を搭載したコマンドラインアシスタントがインストールされている。RHEL Lightspeed を搭載したコマンドラインアシスタントのインストールドキュメント を参照してください。
  • コマンドラインアシスタントが使用する情報を含む読み取り可能なファイルを作成した。次の例では、別のシステム上のボリュームグループ、論理ボリューム、およびファイルシステムに関する情報が含まれる storage_info ファイルを使用します。

手順

  • ストレージ設定を別のシステムにレプリケートするために、まずボリュームグループ、論理ボリューム、およびファイルシステムのレイアウトを <storage_info> ファイルに保存します。次に、コマンドラインアシスタントを使用してこのファイルを読み取り、その情報を以降のステップに組み込みます。

    $ c --attachment <storage_info>
    Copy to Clipboard Toggle word wrap
  • 必要に応じて、短縮形の attachment コマンドを使用します。

    $ c -a <storage_info>
    Copy to Clipboard Toggle word wrap
  • 添付ファイルと質問を組み合わせます。

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

5.3. コマンドラインアシスタントとの対話履歴を確認する

RHEL Lightspeed を搭載したコマンドラインアシスタントが以前に提供した回答を表示するには、アシスタントとの会話履歴にアクセスします。

前提条件

手順

  • c history コマンドを使用して会話履歴を解析します。以下に例を示します。

    • すべてのユーザー履歴を取得します。

      $ c history --all
      Copy to Clipboard Toggle word wrap
    • 履歴の最初の会話にアクセスします。

      $ c history --first
      Copy to Clipboard Toggle word wrap
    • 履歴から最後の会話にアクセスします。

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

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

      $ c history --clear
      Copy to Clipboard Toggle word wrap

5.4. コマンド出力をコマンドラインアシスタントにリダイレクトする

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用してコマンド出力を理解するには、コマンド出力をコマンドラインアシスタントにリダイレクトできます。

前提条件

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

手順

  • 理解する必要がある情報を含むログファイル出力をコマンドラインアシスタントにリダイレクトします。

    $ cat <log_file.log> | c
    Copy to Clipboard Toggle word wrap
  • コマンドラインアシスタントに提供したエラーまたはログに十分な情報が含まれていない場合は、リダイレクトの出力と質問を組み合わせます。
$ cat <log_file_error.log> | c "how do I solve this?"
Copy to Clipboard Toggle word wrap

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

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

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用して、以前に実行したコマンドを参照できます。

警告

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

前提条件

手順

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

    $ c shell --enable-capture
    Copy to Clipboard Toggle word wrap
  2. 以前のコマンドを参照する前に、少なくとも 1 つのコマンドを実行します。
  3. 以前実行したコマンドの出力を参照します。たとえば、直近のコマンドを参照するには、次のコマンドを実行します。

    $ c -w 1 "what_is_this"
    Copy to Clipboard Toggle word wrap
    • 2 つ前のコマンドを参照するには、次のコマンドを実行します。

      $ c -w 2 "what_is_this"
      Copy to Clipboard Toggle word wrap
  4. ターミナルキャプチャーを停止するには、キーボードで Ctrl + D キーを押します。

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

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

前提条件

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

手順

  • 以下のコマンドを実行します。

    $ c feedback
    Copy to Clipboard Toggle word wrap

第6章 非接続環境でのコンテナー化された RHEL コマンドラインアシスタントの使用

非接続環境向けの RHEL コマンドラインアシスタントは、開発者プレビューとして利用できます。エアギャップネットワーク、リモートの場所、インターネット接続が制限されているその他の環境でも使用できます。

コンテナー版は、UBI ベースのコンテナーにパッケージ化されており、簡素化された設定、オーケストレーション、および基本的なライフサイクル管理機能を含んでいます。

重要

Red Hat Enterprise Linux (RHEL) コマンドラインアシスタントは、開発者プレビューソフトウェアです。開発者プレビューソフトウェアは、Red Hat ではいかなる形でもサポートされていません。また、機能的には完全ではなく、実稼働環境に対応していません。開発者プレビューのソフトウェアを実稼働ワークロードまたはビジネスクリティカルなワークロードには使用しないでください。開発者プレビューソフトウェアは、今後 Red Hat 製品サービスとして追加される可能性のある製品ソフトウェアを事前に利用できる機会を提供します。お客様はこのソフトウェアを使用して機能をテストし、開発プロセス中にフィードバックを提供できます。このソフトウェアにはドキュメントが存在しない可能性があり、変更または削除される可能性があります。また、限定的なテストしか行われていません。Red Hat は、開発者プレビューソフトウェアに関するフィードバックを送信する方法を提供する場合がありますが、フィードバックに関連する SLA は提供されません。

Red Hat 開発者プレビューソフトウェアのサポート範囲の詳細は、開発者プレビューのサポート範囲 を参照してください。

非接続環境向けの Red Hat Enterprise Linux (RHEL) コマンドラインアシスタントを使用すると、単一のシステムを対象としたコンテナーイメージを作成できます。このイメージには次のコンポーネントが含まれます。

  • 他の必要なコンテナーをプルし、rhel-lightspeed コマンドをインストールし、必要に応じて systemd サービスを作成する installer コンテナー
  • コマンドラインアシスタントクライアントによって使用されるエンドポイントを提供する rlsapi コンテナー
  • RHEL ドキュメントなどの追加データで LLM の知識を補足する、検索拡張生成 (RAG) データベースを含む rag-database コンテナー
  • LLM 推論サービスを実行する ramalama コンテナー
  • RHEL Lightspeed を搭載したコマンドラインアシスタント
警告

このコンテナーイメージは、単一のシステム上で、ローカルかつ非接続の状態で使用することを目的としたものです。複数システムのデプロイや大規模な環境向けには設計されていません。

6.1. 非接続環境での RHEL コマンドラインアシスタントのインストール

Red Hat Container Registry で利用可能なインストールコンテナーイメージを使用して、非接続環境に RHEL コマンドラインアシスタントをインストールします。このコンテナーは、他の必要なコンテナーをプルし、rhel-lightspeed コマンドをインストールし、必要に応じて systemd サービスを作成します。

前提条件

  • RHEL システムが Red Hat Satellite サブスクリプションに登録されている。
  • Podman がインストールされている。
  • container-tools メタパッケージがインストールされている。

手順

  1. Red Hat Container Registry に認証します。

    $ podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. installer コンテナーを実行します。このコマンドは、必要なイメージをダウンロードし、オフラインの RHEL コマンドラインアシスタントをシステムにインストールします。

    $ podman run -u : --rm \
    -v $HOME/.config:/config:Z \
    -v $HOME/.local/bin:/config/.local/bin:Z \
    registry.redhat.io/rhel-cla/installer:latest
    Copy to Clipboard Toggle word wrap
  3. オプション: システムが起動するたびにオフラインの RHEL コマンドラインアシスタントコンテナーを自動的に起動させるには、podman run コマンドに install-systemd 引数を追加します。

    $ podman run -u : --rm \
    -v $HOME/.config:/config:Z \
    -v $HOME/.local/bin:/config/.local/bin:Z \
    registry.redhat.io/rhel-cla/installer:latest install-systemd
    Copy to Clipboard Toggle word wrap
  4. コンテナーが実行中であることを確認します。

    $ podman ps
    CONTAINER ID   IMAGE         COMMAND     CREATED          STATUS
    ba655e5efdcd   installer-rh… /sbin/init  30 seconds ago   Up 29 seconds
    Copy to Clipboard Toggle word wrap
  5. RHEL システムに RHEL command-line-assistant client パッケージをインストールします。

    # sudo dnf install command-line-assistant
    Copy to Clipboard Toggle word wrap
  6. endpoint 設定オプションを更新します。

    1. テキストエディターで /etc/xdg/command-line-assistant/config.toml ファイルを開きます。
    2. endpoint 変数を見つけて、その値を、オフラインの RHEL コマンドラインアシスタントコンテナーをホストしているシステムのアドレスに変更します。たとえば、ローカルシステムに接続するには、次のようにします。

      endpoint = "http://127.0.0.1:8000/"
      Copy to Clipboard Toggle word wrap
  7. clad サービスを再起動して新しい設定を適用します。

    $ sudo systemctl restart clad
    Copy to Clipboard Toggle word wrap

    インストールが完了したら、rhel-lightspeed コマンドを使用して、オフラインの RHEL コマンドラインアシスタントの起動、停止、アンインストール、およびステータス確認を実行できます。

検証

  1. オフラインの RHEL コマンドラインアシスタントが実行されているかどうかを確認します。

    $ rhel-lightspeed start
    Copy to Clipboard Toggle word wrap
  2. 次の質問をして、クライアントが正しく設定されているかどうかを確認します。

    $ c "what is an immutable file?"
    
    + Asking Red Hat Lightspeed
    This feature uses AI technology. Do not include any personal information or other sensitive information in your input. Interactions may be used to improve Red Hat's products or services.
    Copy to Clipboard Toggle word wrap

6.2. コマンドラインアシスタントで使用する GPU の設定

パフォーマンス向上のために、~/.config/rhel-lightspeed/.env ファイルを編集して、ホストシステムに接続されているグラフィックスプロセッシングユニット (GPU) の設定を変更できます。このファイルには、ハードウェアに適したコンテナーイメージとデバイス設定を選択するのに役立つ情報が含まれています。

前提条件

手順

  1. テキストエディターで ~/.config/rhel-lightspeed/.env ファイルを開きます。以下に例を示します。

    $ vi ~/.config/rhel-lightspeed/.env
    Copy to Clipboard Toggle word wrap
  2. container image 変数を設定します。

    1. LLAMACPP_IMAGE 変数を見つけて、お使いの GPU ハードウェアに対応する ramalama コンテナーに設定します。以下に例を示します。

      LLAMACPP_IMAGE="registry.redhat.io/rhel-cla/ramalama-rhel10-nvidia:latest"
      Copy to Clipboard Toggle word wrap
  3. host device 変数を設定します。

    1. お使いの GPU デバイスの HOST_DEVICE 変数を見つけます。以下に例を示します。

      # For AMD GPUs
      HOST_DEVICE="/dev/dri"
      # For NVIDIA GPUs
      HOST_DEVICE="/dev/nvidia0"
      Copy to Clipboard Toggle word wrap
  4. オプション: NVIDIA 固有の変数を設定します。

    1. NVIDIA 固有の変数を見つけて設定します。
  5. アシスタントを再起動して変更を適用します。

    $ rhel-lightspeed stop
    $ rhel-lightspeed start
    Copy to Clipboard Toggle word wrap

トラブルシューティング

  • EC2 インスタンスの再起動後に発生する GPU エラーを解決します。

    GPU を搭載した AWS EC2 インスタンス上でオフラインの RHEL コマンドラインアシスタントを使用すると、インスタンスを停止して再起動した後に rhel-lightspeed start コマンドが失敗することがあります。このエラーは、再起動後に GPU ID が変更されるために発生します。この問題を回避するには、次のコマンドを実行して NVIDIA Container Device Interface (CDI) 設定ファイルを再生成します。

    $ nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
    Copy to Clipboard Toggle word wrap

    これにより、システムの GPU への参照が更新され、rhel-lightspeed サービスが正しく起動できるようになります。

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"

RHEL Lightspeed を搭載したコマンドラインアシスタントを使用して、起動に失敗した SSHD サービスのトラブルシューティングを行うことができます。

次のコマンドラインアシスタント機能を使用できます。

  • コマンドラインアシスタントのオプションのターミナルキャプチャー機能。これはコマンドラインアシスタントと対話するときに、以前のコマンドの出力を参照するための機能です。
  • コマンドラインアシスタントにデータをパイプする機能。

前提条件

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

手順

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

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

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

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

      コマンドラインアシスタントによって要求が処理され、いくつかの可能な解決策が提供されます。この例では、提案に従って journalctl -xeu sshd.service コマンドを実行すると、ログファイルを確認できます。

  4. journalctl コマンドを実行し、ログファイルをチェックして潜在的な問題を特定します。

    $ journalctl -xeu sshd.service
    Copy to Clipboard Toggle word wrap
  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 Toggle word wrap
  6. コマンドラインアシスタントによって提案されたコマンドを sudo ユーザーとして実行します。以下に例を示します。

    $ sudo sed -i s/Porrt/Port/g /etc/ssh/sshd_config
    Copy to Clipboard Toggle word wrap

検証

  • SSHD サービスを再起動し、SSHD のステータスを確認します。

    $ sudo systemctl restart sshd
    $ sudo systemctl status sshd
    Copy to Clipboard Toggle word wrap

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

コマンドラインアシスタントを使用して、SELinux の問題をトラブルシューティングできます。このトラブルシューティングプロセスの例では、コマンドラインアシスタントの診断機能を説明します。

前提条件

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

手順

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

    $ sudo rpm -qa httpd
    httpd-2.4.62-2.fc40.x86_64
    Copy to Clipboard Toggle word wrap
  2. すべての httpd パッケージを検索します。

    $ sudo rpm -qa httpd
    Copy to Clipboard Toggle word wrap
  3. 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 Toggle word wrap
  4. 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 Toggle word wrap
    1. journalctl コマンドを実行して、失敗したサービスの詳細を確認します。

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

    $ sudo c "why did httpd fail to start"
    Copy to Clipboard Toggle word wrap
    1. コマンドラインアシスタントに selinux httpd ポートについて質問します。

      $ c "selinux httpd port"
      Copy to Clipboard Toggle word wrap

      アシスタントが、次のように 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 Toggle word wrap
    2. 次のコマンドを実行して、httpd サービスの特定の SELinux ポリシーを表示します。

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

      $ c "i don't have a httpd_var_run_t contexts"
      Copy to Clipboard Toggle word wrap

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

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

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

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

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

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

    $ 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 Toggle word wrap
    1. httpd サービスを再起動し、httpd.service のステータスを確認します。

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

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

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

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

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

    $ c "An ExecStart= process belonging to unit httpd.service has exited."
    Copy to Clipboard Toggle word wrap
    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 Toggle word wrap
    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 Toggle word wrap
    3. "SELinux is preventing Apache Server (httpd) from binding to port 12345" というエラーを解決するために、次のコマンドを実行します。

      $ sudo semanage port -a -t http_port_t -p tcp 12345
      Copy to Clipboard Toggle word wrap

検証

  • httpd サービスを再起動し、httpd.service のステータスを確認します。

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

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

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

RHEL Lightspeed を搭載したコマンドラインアシスタントをインストールして使用する場合、システム設定によっては、問題が発生する可能性があります。次のセクションでは、最も一般的な問題を解決する手順を説明します。

8.1. TLS 証明書ファイルが検出されないエラーの解決

システムで c コマンドを実行すると、"Could not find the TLS certificate file, invalid path: /etc/pki/consumer/cert.pem" というエラーが発生して失敗する場合があります。

このエラーは、無効なパスが原因でコマンドラインアシスタントが TLS 証明書ファイルを検出できない場合に発生します。これはシステムが登録されていないことを意味している可能性があります。

前提条件

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

手順

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

    # subscription-manager identity
    Copy to Clipboard Toggle word wrap
  2. システムが登録されていない場合は、次のコマンドを使用してシステムを登録します。

    # subscription-manager register
    Copy to Clipboard Toggle word wrap

8.2. サーバー通信エラーの解決

システム上で c コマンドを実行したときに失敗する場合は、サーバーとの通信エラーが原因で失敗している可能性があります。この問題を解決するには、clad を再起動します。

🙁 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 Toggle word wrap

コマンドの失敗を修正するには、サーバー通信エラーを解決します。

前提条件

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

手順

  1. コマンドラインアシスタントデーモン (clad) を再起動します。

    $ systemctl restart clad
    Copy to Clipboard Toggle word wrap
  2. 質問を指定して c コマンドを再実行します。

    $ c "<Your_question>"
    Copy to Clipboard Toggle word wrap

8.3. c コマンドによって添付ファイルのサイズに関する警告が表示される場合

c コマンドを実行してファイルを添付しようとすると、サイズ制限に関する警告が表示される場合があります。

これは、アシスタントがクライアントに対して 2 KB の制限を設けているために発生します。RHEL 10.1 以降のコンテキスト制限は 32 KB です。

"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."
Copy to Clipboard Toggle word wrap

ファイルが最大サイズを超えると、システムはファイルを切り捨てます。その結果、データが不完全になったり、コンテキストが失われたりする可能性があります。

8.4. 更新された証明書の再読み込み

コマンドラインアシスタントデーモン (clad) を非 root ユーザーとして実行すると、更新された証明書が正しく再読み込みされません。この問題は、/etc/pki/consumer/ ディレクトリーにある証明書ファイルを所有してアクセスできるのは root ユーザーだけであるために発生します。

この問題を解決するには、次の手順を使用します。

前提条件

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

手順

  1. key.pem の権限を root に変更します。

    $ sudo ls -l /etc/pki/consumer/
    $ sudo chown $(whoami):$(id -gn) /etc/pki/consumer/${<key_name>}
    Copy to Clipboard Toggle word wrap
  2. clad コマンドを root として実行します。

    $ sudo chown $(whoami):$(id -gn) /etc/pki/consumer/${<key_name>}
    Copy to Clipboard Toggle word wrap

第9章 コマンドラインアシスタントの設定の変更

RHEL Lightspeed を搭載したコマンドラインアシスタントの中核は、コマンドラインアシスタントデーモン (clad) です。clad は、ユーザー履歴管理などの Red Hat Lightspeed サービスとの通信を管理します。

必要に応じて、Red Hat Lightspeed サービスを既存のインフラストラクチャーと統合するには、コマンドラインアシスタントの設定を変更して、ネットワークプロキシーを使用するか、別のデータベースに接続することができます。

9.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 Toggle word wrap
  3. proxies キーのコメントを解除し、http または https プロキシーホストを定義します。

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

    $ sudo systemctl restart clad
    Copy to Clipboard Toggle word wrap
    注記

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

    https = "http://<your_https_proxy_host:1234>"
    Copy to Clipboard Toggle word wrap

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

コマンドラインアシスタントデーモン (clad) は、情報を保存し、履歴データベースへのアクセスを提供するために、暗号化されていない SQLite データベースをデフォルトで使用します。お使いの環境で別のデータベースが必要な場合は、PostgreSQL や MySQL などの別のデータベースバックエンドをインストールして接続できます。

注記

これらのデータベースは、システムに不要な依存関係が追加されないように、clad にはデフォルトでは組み込まれていません。

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

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

前提条件

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

手順

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

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

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

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

     [database]
        # type = "sqlite"
        # connection_string = "/var/lib/command-line-assistant/history.db"
    Copy to Clipboard Toggle word wrap
  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 Toggle word wrap
  5. データベースの種類を変更した後、変更を適用するために clad デーモンを再起動します。

    $ sudo systemctl restart clad
    Copy to Clipboard Toggle word wrap

10.2. 保存された 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 Toggle word wrap
    注記

    ユーザー名とパスワードを設定ファイルに残しておくと、これらの認証情報が 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 Toggle word wrap
    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 Toggle word wrap
  4. データベースの認証情報を更新した後、systemd を再ロードし、clad デーモンを再起動して変更を適用します。

    $ sudo systemctl daemon-reload
    $ sudo systemctl restart clad
    Copy to Clipboard Toggle word wrap

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

コマンドラインアシスタントによるデータの使用方法については、次の情報を確認してください。

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

RHEL Lightspeed を搭載したコマンドラインアシスタントは、システムの情報に直接アクセスすることはできません。たとえば、"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

© 2026 Red Hat
トップに戻る