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这将:
- 检测您的操作系统和架构(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 使用四种 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 | bash在 CentOS 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