安装 Shadowrocket Linux 版,先确认发行版与处理器架构,再从本站下载页选择 deb、rpm 或 AppImage。本文适合有 Linux 图形桌面、能使用终端的用户,说明本地包安装、执行权限、依赖报错与更新卸载的方法;所有命令均使用实际下载文件的路径,不预设安装包文件名。
Linux 安装包怎么选:先看发行版,再看架构
Ubuntu、Debian 等使用 APT 的系统通常选 deb,Fedora 等使用 DNF 的系统通常选 rpm,需要以单文件方式运行时再考虑 AppImage。扩展名表示分发形式,不表示处理器架构,也不能保证跨发行版运行;下载前还要核对下载页标注的架构与运行要求。
发行版与包管理器
- 发行版信息
cat /etc/os-release- APT 系统
- 优先选择 deb,由 apt 处理依赖。
- DNF 系统
- 优先选择 rpm,由 dnf 处理依赖。
- 单文件运行
- 考虑 AppImage,仍需符合运行环境要求。
不能仅凭“同属 Linux”就混装 deb 与 rpm。
架构与桌面环境
- 内核架构
uname -m- x86_64
- 对应常见的 amd64/x86_64 架构标记。
- aarch64
- 对应常见的 arm64/aarch64 架构标记。
- 启动环境
- 在当前用户的图形桌面会话中启动。
架构名称对应关系不等于下载页一定提供该架构的包。
先运行下面两条只读命令即可确定基本环境。若系统是衍生发行版,还应查看 ID_LIKE,并确认本机实际使用的包管理器;不能把所有 rpm 系统都套用 dnf 命令,例如使用其他包管理工具的发行版应遵循其系统文档。
cat /etc/os-release
uname -m
下载前准备:确认文件来源与完整路径
安装包从客户端下载页的 Linux 分区获取。Shadowrocket(小火箭)的 Linux 版免费;iPhone / iPad 在 App Store $2.99 一次性购买,Mac(Apple 芯片与 Intel)、Windows、安卓版本也免费。iPhone / iPad 的系统要求以 App Store 页面标注为准。
-
确认系统
在终端执行
cat /etc/os-release与uname -m,记录发行版、包管理器和架构,不按电脑品牌猜测。 -
打开下载页
进入本站“客户端下载”→ Linux,选择与环境对应的 deb、rpm 或 AppImage,等待浏览器显示下载完成。
-
取得文件路径
在文件管理器中查看下载文件的属性,取得包含文件名的绝对路径。下载目录可能经过本地化或被用户修改,不默认它一定是 Downloads。
-
选择安装流程
deb 与 rpm 按后文使用系统包管理器安装,AppImage 按单文件流程添加执行权限。不要在同一次排错中交替安装三种格式。
下文交互式命令适用于 Bash:出现输入提示后,粘贴真实文件的绝对路径并按 Enter。路径可以含空格,但在这个输入步骤中不要额外添加引号,也不要用 ~ 代替家目录;read 不会自动展开波浪号。后续命令中的变量已经加上双引号。
deb 怎么安装:用 apt 安装本地文件
在 Debian、Ubuntu 及兼容的 APT 系统中,使用 apt install 安装本地 deb,能让包管理器尝试从已配置的软件源解决依赖。这里传入的是绝对路径,不是软件仓库中的包名;安装前可先读取包内的 Package 与 Architecture 字段。
read -r -p "请输入 deb 文件的绝对路径: " pkg
test -f "$pkg" && dpkg-deb -f "$pkg" Package Architecture
sudo apt update
sudo apt install "$pkg"
确认第二行显示了包信息且没有路径错误后,再执行安装命令。sudo 会请求本机管理权限,终端输入密码时通常不回显字符;这不是应用账户登录。apt update 只更新软件源索引,不代表已经安装或更新 Shadowrocket。
- 提示找不到文件:先检查粘贴的路径、文件名大小写与下载是否完成,不要直接改用管理员权限反复执行。
- 提示依赖无法满足:查看缺失的包名与系统版本要求,检查系统软件源是否可用;不要从不明位置拼凑运行库。
- 提示包管理器被锁定:等待系统更新或其他安装任务结束,再重试;不要把删除锁文件当作常规处理。
- 安装结束:在桌面应用菜单中查找 Shadowrocket;若安装器输出错误,应先解决错误,不把“菜单出现图标”当作安装成功的全部依据。
rpm 怎么安装:用 dnf 处理本地包与依赖
在 Fedora 及采用 DNF 的兼容系统中,使用 dnf install 安装本地 rpm。先读取包内名称和架构,再检查安装事务;DNF 可能同时安装运行依赖,具体内容由当前系统的软件源与已安装组件决定。
read -r -p "请输入 rpm 文件的绝对路径: " pkg
test -f "$pkg" && rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"
安装事务确认页应与预期一致。若它计划移除大量桌面组件、提示架构不匹配或存在依赖冲突,先取消并核对下载格式;不要为继续安装而直接添加跳过依赖、强制替换之类的参数。
两种安装方式的管理边界
deb / rpm 安装
- 安装记录由系统包管理器维护。
- 需要管理权限完成系统级安装。
- 卸载使用包内真实名称,不使用下载文件名。
- 依赖解析依赖已配置的软件源。
AppImage 运行
- 以下载文件作为启动入口。
- 先为当前用户添加执行权限。
- 文件应保存在稳定位置,避免被下载清理移除。
- 桌面菜单集成不一定自动发生。
需要系统包管理记录时优先选匹配的 deb 或 rpm;选择 AppImage 时自行管理文件位置与替换流程。
AppImage 怎么运行:添加执行权限后从终端启动
AppImage 下载后通常需要添加执行权限,再由当前桌面用户启动。第一次建议从终端运行,便于看到权限、挂载或运行库错误;不要因为双击没有反应就直接用 sudo 启动整个图形应用。
read -r -p "请输入 AppImage 文件的绝对路径: " app
test -f "$app" && chmod u+x "$app"
"$app"
chmod u+x 为文件所有者增加执行权限,不会转换文件格式,也不会安装缺失的系统组件。保留文件原路径即可重复启动;若将文件移动到其他目录,需要使用移动后的路径。程序运行期间不要删除或替换其文件。
加了权限还是 Permission denied?
先用 ls -l "$app" 查看权限,再检查文件所在分区是否带有 noexec 挂载选项。受此限制时,可将文件移到允许执行的用户目录后重试;不要直接放宽整个移动磁盘或共享目录的挂载策略。
提示 FUSE 相关错误怎么办?
部分 AppImage 运行时依赖 FUSE。记录终端中缺失的库名,按当前发行版的软件包说明安装对应兼容库;不同发行版与系统版本的包名可能不同,不应统一复制某个发行版的安装命令。
出现 Exec format error?
先执行 uname -m,对照下载页的架构标注,并用 file "$app" 查看文件类型。架构不符或下载内容不是可执行程序时,重新选择文件;反复执行 chmod 不会解决架构问题。
双击后看不到窗口怎么办?
在图形桌面内打开终端,直接执行 "$app",读取第一条明确错误。若是在远程 SSH 会话中启动,应先回到本机桌面测试,不把缺少图形会话误判为文件损坏。
安装后怎么检查:先确认启动,再检查连接配置
窗口能打开与网络能连通是两个不同检查项。先确认应用可在普通用户桌面中启动,再使用用户已有服务商提供的连接资料;安装客户端本身不会自动生成可用服务器。本站不提供、不销售、不推荐节点或订阅。
- 检查启动:deb / rpm 安装后从应用菜单启动;AppImage 从其实际文件路径启动。若崩溃,保留终端错误及发行版、架构信息。
- 检查资料:导入用户自己的配置时,核对服务端地址、端口、协议与凭据是否完整。端口必须以服务商提供的值为准,不能因安装教程而统一改成某个数字。
- 区分设置作用:若当前界面提供 Home、Config、Settings 等入口,以本机实际显示为准。Global Routing 的 Direct 表示直接连接,不能把这一姿态下的访问结果当成代理连接测试结果。
- 检查匹配范围:使用 Config 姿态时,结果还受配置规则影响。更新订阅与更新应用是两件事,前者更新用户的连接资料,后者替换客户端程序。
遇到授权提示时,应确认提示来自当前启动操作,并阅读它请求的具体权限。安装命令使用管理员权限,不等于应用以后都要以管理员身份运行;不同桌面环境、网络接管方式与发行版的授权表现可能不同,不应套用 iPhone / iPad 的 VPN 配置提示来判断 Linux 是否安装成功。
更新与卸载:使用真实包名,保留自己的配置
deb 与 rpm 更新可下载对应格式的新包,再由同一包管理器安装;不要仅凭文件名变化判断更新结果,也不假定安装本地包就自动添加了更新软件源。AppImage 更新则先退出程序,再用新文件替换旧启动文件,并重新确认执行权限。
- deb 卸载:先从原安装文件读取 Package 字段,再把真实名称交给 APT。卸载前检查事务摘要,不把安装文件的完整文件名当成包名。
- rpm 卸载:先从原文件读取 NAME 字段,再用 DNF 删除对应软件包;同样需要阅读依赖处理结果。
- AppImage 移除:退出应用后删除该文件;如果手动建立过桌面快捷方式,也应移除对应入口。
- 配置保留:卸载程序不一定删除用户目录中的设置。需要迁移时,先使用应用实际提供的导出功能保存自己的配置,不猜测配置目录,更不要对未知目录执行递归删除。
下面命令只展示从本地安装文件取得真实包名的卸载方式,选择与当前安装格式对应的一组执行。仍需先输入实际存在的绝对路径;如果已经删除了安装文件,应通过系统包管理器的已安装列表确认包名,而不是猜测。
# APT 系统:从 deb 元数据取得名称
read -r -p "请输入原 deb 文件的绝对路径: " pkg
name=$(dpkg-deb -f "$pkg" Package) && sudo apt remove "$name"
# DNF 系统:从 rpm 元数据取得名称
read -r -p "请输入原 rpm 文件的绝对路径: " pkg
name=$(rpm -qp --queryformat '%{NAME}' "$pkg") && sudo dnf remove "$name"