本文适用于 Linux 桌面环境中的 Shadowrocket(小火箭)安装:先识别发行版和处理器架构,再选择 deb、rpm 或 AppImage,最后分别处理依赖、执行权限与首次启动错误。命令中的文件名是下载后在本机统一重命名的示例,不是安装包下载地址;应用文件统一从本站下载页获取。
1. Linux 安装包选择:先看发行版,再看架构
Linux 用户应按系统的软件包管理方式选择格式,而不是只看桌面外观。Ubuntu、Debian 及采用相同包管理体系的发行版通常选择 deb;Fedora 等使用 dnf 的系统选择 rpm;希望保留独立应用文件时,可检查 AppImage 是否符合当前系统环境。rpm 是文件格式,并不代表所有使用 rpm 的发行版都使用 dnf。
-
识别系统
打开终端执行
cat /etc/os-release,查看ID与ID_LIKE。优先按发行版官方说明确认包管理器,不凭文件管理器或桌面主题判断。 -
检查架构
执行
uname -m。常见输出x86_64表示 64 位 x86,aarch64表示 64 位 ARM;必须与下载页提供的安装包架构相符。 -
获取文件
进入下载页的 Linux 分区,按系统选择实际提供的文件。若没有匹配架构,不要通过改扩展名或反复授予权限尝试运行。
-
整理目录
在文件管理器打开下载所在目录,再选择在该目录打开终端。下文命令均在文件所在目录执行;如果目录名含空格,切换目录时用引号包住完整路径。
cat /etc/os-release
uname -m
pwd
ls -lh
对于 Linux,uname -m 只能说明机器架构,不能保证某个 AppImage 的全部运行依赖都已满足。deb 包中的 amd64 与机器输出的 x86_64 通常对应同一架构;名称不同不代表必须转换文件格式。应结合下载页标注与包内信息核对。
2. Debian / Ubuntu:用 apt 安装本地 deb
Debian、Ubuntu 用户安装本地 deb 时,优先使用 apt install ./文件名.deb,让包管理器同时处理依赖关系。先在文件管理器把刚下载的 deb 重命名为 shadowrocket.deb,确认当前目录只有本次准备安装的目标文件,再执行下面的命令。这里的重命名只便于输入,不会改变软件包内部名称或架构。
dpkg-deb -f ./shadowrocket.deb Package Architecture
sudo apt update
sudo apt install ./shadowrocket.deb
在 Debian 系统中,第一行读取包内的名称和架构,不执行安装;第二行刷新已配置软件源的索引;第三行安装当前目录中的本地文件。./ 不能随意省略,否则 apt 可能按软件包名称进行查找,而不是打开下载文件。输入 sudo 密码时终端通常不显示字符,这属于正常交互。
- 提示文件不存在:先运行
pwd和ls -lh,检查终端所在目录、大小写及实际扩展名。不要把网页地址直接放进本地文件参数。 - 提示依赖无法满足:记录缺失依赖的名称和版本约束,检查系统版本及软件源是否匹配。不要为了完成安装混入其他发行版的软件源。
- 提示架构不匹配:对照
dpkg-deb输出与系统架构,重新选择正确文件;执行权限不能解决架构问题。 - 提示锁被占用:检查系统更新器或另一个 apt 进程是否正在工作,等待其完成。不要直接删除锁文件。
3. Fedora:用 dnf 安装本地 rpm
Fedora 用户可以使用 dnf 安装下载到本地的 rpm。将本次下载的文件在本机重命名为 shadowrocket.rpm,进入文件所在目录后,先读取包信息,再执行安装。其他 rpm 系统若不使用 dnf,应采用该发行版自己的包管理流程,不直接照搬 Fedora 命令。
rpm -qp --queryformat '%{NAME} %{ARCH}\n' ./shadowrocket.rpm
sudo dnf install ./shadowrocket.rpm
在 Fedora 上,rpm -qp 查询尚未安装的软件包文件,输出内部名称和架构;dnf install 则负责安装及依赖解析。看到确认列表后,先查看待安装、升级或移除的项目,再决定是否继续。若出现与预期不符的大量移除项目,应停止并核对系统兼容性。
包管理命令按系统分别执行
Debian / Ubuntu
- 本地文件格式为 deb。
- 用
dpkg-deb -f读取包信息。 - 用
apt install ./shadowrocket.deb安装。
Fedora
- 本地文件格式为 rpm。
- 用
rpm -qp读取包信息。 - 用
dnf install ./shadowrocket.rpm安装。
先确认系统,再执行对应的一组命令;同一次安装不需要把两组命令都运行一遍。
对于 Fedora,下载失败、依赖冲突与签名提示需要分开判断。依赖下载失败通常要检查系统软件源和网络;依赖冲突要看具体包名与约束;遇到来源或签名相关提示,应核对文件是否来自本站下载页及系统策略,不把跳过检查作为通用安装步骤。
4. AppImage:添加执行权限后从终端运行
Linux 上的 AppImage 不经 apt 或 dnf 安装,但仍然受处理器架构、系统库、挂载方式和桌面环境约束。“免安装”表示保留文件即可启动,不表示任何发行版都能直接运行。将下载文件在本机重命名为 Shadowrocket.AppImage,放在当前用户拥有写入权限、允许执行程序的目录中。
ls -l ./Shadowrocket.AppImage
chmod u+x ./Shadowrocket.AppImage
./Shadowrocket.AppImage
对于 AppImage,chmod u+x 给文件所有者添加执行权限,是 chmod +x 的定向写法。命令前的 ./ 表示运行当前目录中的文件;仅输入文件名时,终端通常只搜索 PATH 中的目录。首次从终端启动,有助于保留双击时看不到的错误信息。
| 终端现象 | 优先检查 | 处理方向 |
|---|---|---|
Permission denied | 执行位与所在分区的挂载选项 | 先检查 ls -l;已有执行位时,再检查是否处于 noexec 分区。 |
Exec format error | 处理器架构或文件内容 | 用 uname -m 与 file ./Shadowrocket.AppImage 核对,必要时重新下载匹配文件。 |
| 包含 FUSE 的错误 | AppImage 运行时需要的 FUSE 环境 | 按发行版文档检查兼容库;不同发行版的软件包名可能不同,不照抄其他系统的包名。 |
| 无法连接显示服务 | 是否在图形桌面的用户会话中运行 | 回到桌面终端启动;纯 SSH 或无图形会话不能等同于桌面运行环境。 |
对于放在移动磁盘或共享目录中的 AppImage,即使 ls -l 显示可执行,也可能因挂载策略被阻止。可先把文件移动到用户主目录下允许执行的目录再试。不要用递归修改整个下载目录权限、授予所有用户写权限或关闭系统安全机制来代替定位错误。
5. 首次启动:区分安装成功与连接可用
Linux 用户看到 Shadowrocket 窗口,只能确认应用已经启动,不能据此认定代理连接可用。后续配置以用户已有自己的服务商与订阅为前提;本站不提供、不销售、不推荐节点或订阅。应先完成已有配置的导入,再检查 Home 的连接状态与 Global Routing,不要在配置为空时反复重装安装包。
- 从桌面应用列表打开已安装的应用;AppImage 则运行保存的文件。若出现系统权限请求,先阅读用途,再按实际操作授权。
- 核对 Config 中当前使用的配置,以及用户已有订阅的导入结果。示例地址
https://example.com/sub?token=xxxx仅用于说明格式,不能作为可用订阅。 - 回到 Home,检查 SERVER 列表、选中项目及 Global Routing。连接开关仍显示
Not Connected时,先处理连接状态。 - 配置与连接建立后再使用
Connectivity Test检查结果。测试超时不等同于 deb、rpm 或 AppImage 安装失败,应继续检查目标、网络和配置。
在提供 Global Routing 的界面中,Config、Proxy、Direct 与 Scene 是路由姿态,不是安装格式。下列对照仅针对应用接管范围内的连接;系统是否有流量进入应用,还取决于实际接管方式和权限。初次验证应固定一个目标、一次只更改一项设置,避免同时修改模式、DNS 与订阅导致无法定位原因。
Config
推荐使用当前配置中的规则决定策略。核对 DOMAIN-SUFFIX、IP-CIDR、GEOIP 等规则顺序,并检查末尾 FINAL 的去向;Config 不意味着未匹配连接必然直连。
适合:已有有效规则配置,需要验证日常分流。
Proxy
对接管范围内的连接采用代理路由,可用于与 Config 的规则结果对照。切换后仍失败时,应继续核对所选服务器与网络条件。
适合:临时区分规则选择问题与代理连接问题。
Direct
对接管范围内的连接采用直连路由。它不等于停止应用,也不能单凭该模式下网页可打开,就判断代理配置有效。
适合:对照当前网络的直连可达性。
对于显示 Scene 的界面,应先检查对应场景的设置,再判断其实际行为,不把 Scene 当作固定的全局代理或固定直连。如果某个 Linux 构建的界面位置不同,以当前应用中可见的名称为准;系统连接权限、应用路由和服务端连通性应分别检查。
6. 更新与故障记录:保留配置,避免重复安装
Linux 用户更新前应先保存自己需要的配置资料,尤其是订阅来源、手动填写的服务器参数和规则文件。不要假定不同安装格式一定共用相同数据目录,也不要把“删除应用文件”视为“删除全部配置”。包含 token、密码或私钥的内容应单独保护,不附在公开故障记录中。
- deb 更新:从下载页获取适用文件,再执行本地 deb 安装命令。让包管理器根据包内版本判断升级,不凭文件名猜测更新关系。
- rpm 更新:同样通过 dnf 处理本地 rpm,并阅读事务摘要。出现冲突时保留错误原文,不强行覆盖系统文件。
- AppImage 更新:先退出正在运行的实例,保存配置后替换文件;新文件需重新检查执行权限,原来的桌面快捷方式也可能需要修改目标路径。
- 重复窗口或旧程序:检查是否同时保留 deb、rpm 或 AppImage 启动入口。先明确当前运行的是哪一份,再决定保留哪种安装方式。
对于 Linux,安装排查的顺序应保持为“文件匹配 → 包管理或执行权限 → 应用启动 → 配置与连接”。只在第一阶段出错时重新选择安装包;窗口能正常打开后,优先转向应用配置与网络诊断,避免用反复卸载掩盖真正的问题。