Linuxセットアップ
完全な名前空間サンドボックス分離でLinux上にYeePilotをインストール・設定
概要
LinuxはYeePilotの主要プラットフォームであり、コマンド分離のためのカーネル名前空間サンドボックスを含む完全な機能セットをサポートしています。このガイドでは、インストール、クレデンシャルストレージ、サンドボックス設定、ディストリビューション固有のノートを説明します。
サポートされるディストリビューション
YeePilotはほとんどの最新Linuxディストリビューションで動作します:
| ディストリビューション | 最小バージョン |
|---|---|
| Ubuntu | 20.04 LTS (Focal) |
| Debian | 11 (Bullseye) |
| CentOS / RHEL | 8 |
| Fedora | 36 |
| Arch Linux | ローリングリリース |
| Alpine Linux | 3.16以上 |
amd64 (x86_64)と arm64 (aarch64)の両アーキテクチャがネイティブバイナリでサポートされています。
インストール
クイックインストール(推奨)
インストールスクリプトがアーキテクチャを検出し、最新リリースをインストールします:
curl -fsSL https://yee.to/install.sh | bashこれにより:
- OSとアーキテクチャ(amd64またはarm64)を検出。
- 最新のYeePilotバイナリをダウンロード。
- ダウンロードのチェックサムを検証。
- バイナリを
/usr/local/bin/yeepilotにインストール。 - 正しいファイル権限を設定。
インストール後、動作を確認します:
yeepilot version手動インストール
手動でインストールする場合:
-
リリースページ (opens in new tab)から正しいアーカイブをダウンロード:
yeepilot-linux-amd64.tar.gz-- x86_64システム用yeepilot-linux-arm64.tar.gz-- ARM64システム用
-
展開してインストール:
tar xzf yeepilot-linux-amd64.tar.gz
sudo mv yeepilot /usr/local/bin/
sudo chmod +x /usr/local/bin/yeepilot- インストールの確認:
yeepilot version初期セットアップ
インタラクティブセットアップを実行して、AIプロバイダーと設定を構成します:
yeepilot setup~/.yeepilot/config.yaml に設定ファイルが作成され、AIプロバイダーとAPIキーの設定が求められます。
クレデンシャルストレージ
YeePilotはセキュリティのため、APIキーと認証トークンをシステムのシークレットサービスに保存します。
GNOME Keyring(推奨)
ほとんどのデスクトップLinuxディストリビューションにはGNOME Keyringが含まれています。YeePilotは secret-tool コマンドを使用してこれと対話します。
secret-toolが未インストールの場合:
# Ubuntu / Debian
sudo apt install libsecret-tools
# Fedora / CentOS
sudo dnf install libsecret
# Arch Linux
sudo pacman -S libsecret動作確認:
secret-tool --versionヘッドレスサーバー
デスクトップ環境やキーリングデーモンのないヘッドレスサーバーでは、YeePilotは自動的に ~/.yeepilot/credentials.json の暗号化JSONファイルにフォールバックします。このファイルは制限された権限(0600)で作成されます。
ヘッドレスサーバーでGNOME Keyringを使用したい場合は、キーリングデーモンを手動で起動できます:
eval $(dbus-launch --sh-syntax)
eval $(gnome-keyring-daemon --start --components=secrets)サンドボックス機能
Linuxはカーネル名前空間を通じて最も包括的なサンドボックス環境を提供します。サンドボックス名前空間が有効な場合、YeePilotが実行するすべてのコマンドは分離された環境で実行されます。
名前空間分離
YeePilotは4つのLinux名前空間タイプを使用します:
| 名前空間 | 目的 |
|---|---|
| User | サンドボックス内で非特権ユーザーとしてコマンドを実行 |
| PID | プロセスの可視性を分離 -- コマンドは他のプロセスを参照できない |
| Mount | ファイルシステムアクセスを許可されたパスのみに制限 |
| Network | オプションでネットワークアクセスを完全に分離 |
名前空間の有効化
名前空間はLinuxでデフォルトで有効です。設定を確認します:
# ~/.yeepilot/config.yaml
sandbox:
enabled: true
use_namespaces: trueカーネル要件
カーネルでユーザー名前空間が有効になっている必要があります。ほとんどの最新ディストリビューションではデフォルトで有効です。以下で確認します:
cat /proc/sys/kernel/unprivileged_userns_clone出力が 0 の場合、有効化します:
# 一時的(再起動まで)
sudo sysctl kernel.unprivileged_userns_clone=1
# 永続的
echo 'kernel.unprivileged_userns_clone=1' | sudo tee /etc/sysctl.d/99-yeepilot.conf
sudo sysctl --system注意: 一部の堅牢化されたカーネル(特定のCentOS/RHEL設定など)ではユーザー名前空間がデフォルトで無効になっています。有効化できない場合は、sandbox.use_namespaces: false を設定してプロセスレベルのリソース制限にフォールバックします。
監査ログ
YeePilotの監査ログは、実行されたすべてのコマンドの改ざん検知可能な記録を提供します。各ログエントリはHMAC-SHA256で署名され、ハッシュチェーンでリンクされているため、ログ履歴への変更を検出できます。
監査ログはデフォルトで ~/.yeepilot/audit.log に保存されます。場所を変更するには:
security:
audit_log_path: "/var/log/yeepilot/audit.log"ディレクトリが存在し、ユーザーに書き込み権限があることを確認してください:
sudo mkdir -p /var/log/yeepilot
sudo chown $(whoami) /var/log/yeepilotディストリビューション固有のノート
Ubuntu / Debian
# 依存関係のインストール
sudo apt update
sudo apt install libsecret-tools curl
# YeePilotのインストール
curl -fsSL https://yee.to/install.sh | bashFedora / CentOS / RHEL
# 依存関係のインストール
sudo dnf install libsecret curl
# YeePilotのインストール
curl -fsSL https://yee.to/install.sh | bashCentOS 8またはRHEL 8では、ユーザー名前空間を有効にする必要がある場合があります:
sudo sysctl kernel.unprivileged_userns_clone=1Arch Linux
# 依存関係のインストール
sudo pacman -S libsecret curl
# YeePilotのインストール
curl -fsSL https://yee.to/install.sh | bashAlpine Linux
Alpineは musl libcを使用します。YeePilotは追加の依存関係なしでAlpineで動作する静的リンクバイナリを提供しています。
# 必要に応じてcurlをインストール
apk add curl
# YeePilotのインストール
curl -fsSL https://yee.to/install.sh | bash注意:GNOME KeyringはAlpineでは通常利用できません。YeePilotはクレデンシャルストレージにJSONファイルのフォールバックを使用します。
アップデート
最新バージョンにアップデート:
yeepilot updateまたはインストールスクリプトで再インストール:
curl -fsSL https://yee.to/install.sh | bashアンインストール
YeePilotとすべてのデータを削除:
yeepilot uninstall --allまたは設定を保持してバイナリのみ削除:
yeepilot uninstall --binary-only手動での削除:
sudo rm /usr/local/bin/yeepilot
rm -rf ~/.yeepilot