Debian、Ubuntu 及兼容衍生发行版优先选 deb,Fedora 等使用 dnf 的环境选 rpm,需要按文件保存和启动时再考虑 AppImage。本文适合已有 Linux 桌面环境的用户:先核对发行版与处理器架构,再从本站下载页取得实际安装包,最后完成安装、首次启动与连接检查。Shadowrocket(小火箭)的安装与已有订阅的导入是两个独立步骤。
一、按发行版选择 deb、rpm 或 AppImage
先看系统的包管理方式,不要只按文件大小选择。deb 与 rpm 会把软件交给系统包管理器登记;AppImage 通常作为单个应用文件运行,不等于给系统安装一个 deb 或 rpm 软件包。三种格式也不能消除处理器架构、系统库和图形环境的兼容要求。
| 当前环境 | 优先格式 | 处理方式 |
|---|---|---|
| Debian、Ubuntu 及兼容衍生发行版 | deb | 使用 apt 安装本地文件,并处理仓库中可获得的依赖。 |
| Fedora,以及使用 dnf 的兼容 RPM 环境 | rpm | 使用 dnf 安装;仍须确认软件包所需的系统库可用。 |
| 希望按单个文件保存应用的桌面环境 | AppImage | 增加执行权限后启动,必要时检查 FUSE 与运行库。 |
| 其他发行版或无桌面的服务器 | 先核对兼容条件 | 不要转换包格式来推断兼容性,也不要默认存在命令行运行模式。 |
在终端执行下面两条只读命令。第一条显示发行版信息,重点看 ID、ID_LIKE 和 VERSION_ID;第二条显示机器架构。输出 x86_64 或 aarch64 时,应分别核对下载页对应的架构说明,不能因为扩展名相同就混用。
cat /etc/os-release
uname -m
本文不列固定的软件包文件名,也不假定每种架构都有每种格式。请以Linux 下载区当前列出的安装包与要求为准。选择完成后保留下载文件的原名,后续命令直接读取其真实路径。
二、下载前检查与终端准备
客户端安装不需要先导入订阅。建议先确认桌面会话正常、系统网络能访问所配置的软件仓库,再下载安装包。apt 与 dnf 安装本地文件时仍可能从发行版仓库获取依赖,因此“文件已经下载完成”并不代表安装过程可以完全离线进行。
-
核对环境
执行
cat /etc/os-release与uname -m,记录发行版、系统版本和架构,与下载页的说明逐项对应。 -
获取安装包
打开Shadowrocket 下载页,进入 Linux 区域,选择适合当前系统的 deb、rpm 或 AppImage 文件;本文不提供安装包直链。
-
确认文件路径
在文件管理器中找到下载文件,记录完整路径。若下载目录名称经过本地化,不要直接假定它是
~/Downloads。 -
打开终端
以下交互命令按 Bash 编写。若当前使用其他 shell,可先输入
bash;输入文件路径时可用 Tab 补全,避免手动漏掉空格或扩展名。
三、deb 安装:用 apt 处理本地文件
Debian、Ubuntu 环境优先使用 apt install 安装本地 deb。相较于仅把文件交给底层安装工具,apt 可以根据当前配置的软件仓库尝试补齐依赖。下面先读取实际文件路径,再转换为绝对路径,避免 apt 把文件名当成仓库中的软件包名称。
read -r -e -p '输入已下载 deb 文件的路径:' pkg
pkg="$(realpath -- "$pkg")"
if [ -f "$pkg" ] && [[ "$pkg" == *.deb ]]; then
sudo apt install "$pkg"
else
printf '%s\n' '未找到 deb 文件,请重新核对路径。'
fi
在提示处输入文件路径本身,不要把用于 shell 命令的外层引号一起输入;变量在命令中已经使用双引号,路径里含空格也能传给 apt。执行前阅读 apt 列出的依赖与磁盘变更;若出现意外移除大量系统组件的计划,先取消,不要直接确认。
- 提示依赖无法满足:核对发行版版本与软件包要求,再检查系统仓库是否可用;不要从其他发行版随意拼装依赖。
- 提示找不到本地文件:重新确认路径以及下载是否完成。输入路径时可用 Tab 补全,不要把浏览器中的下载地址当作本地路径。
- 提示架构不匹配:重新执行
uname -m,回下载页核对架构,强制安装不能改变二进制程序的目标架构。
成功后从桌面的应用列表查找 Shadowrocket 并启动。包管理器是否完成安装与客户端能否建立连接属于不同层次;依赖安装完成后,应先检查窗口能否正常打开,再处理订阅与网络配置。
四、rpm 安装:使用 dnf,先看事务内容
Fedora 等使用 dnf 的系统可按下面方式安装本地 rpm。并非所有使用 rpm 格式的发行版都使用 dnf;若系统采用其他包管理器,应按该发行版的本地包安装方法操作,不要为了照抄命令额外替换系统包管理工具。
read -r -e -p '输入已下载 rpm 文件的路径:' pkg
pkg="$(realpath -- "$pkg")"
if [ -f "$pkg" ] && [[ "$pkg" == *.rpm ]]; then
sudo dnf install "$pkg"
else
printf '%s\n' '未找到 rpm 文件,请重新核对路径。'
fi
dnf 会显示本次事务需要安装的包、依赖及相关提示。确认来源与变更内容符合预期后再继续;遇到依赖冲突时,记录完整错误消息与系统版本,不要立即增加强制覆盖或跳过检查的参数。
deb 安装核对
- 文件格式
.deb- 示例工具
apt install- 文件定位
- 读取真实路径并使用绝对路径
- 依赖来源
- 当前系统已配置的软件仓库
安装成功后由系统包管理器登记,不代表自动加入在线更新源。
rpm 安装核对
- 文件格式
.rpm- 示例工具
dnf install- 适用前提
- 当前发行版本身使用 dnf
- 事务检查
- 确认新增依赖与冲突信息
同为 rpm 格式不表示跨发行版、跨系统版本必然兼容。
五、AppImage 添加执行权限与首次启动
AppImage 不走前两节的包管理安装流程。先把文件放在当前用户能够长期保存的位置,再增加执行权限。不要一直把它放在浏览器临时目录,也不要在移动文件后继续使用指向旧位置的启动快捷方式。
read -r -e -p '输入已下载 AppImage 文件的路径:' app
app="$(realpath -- "$app")"
if [ -f "$app" ] && [[ "$app" == *.AppImage ]]; then
chmod u+x -- "$app" && "$app"
else
printf '%s\n' '未找到 AppImage 文件,请重新核对路径。'
fi
chmod u+x 只为文件所有者增加执行权限,不需要把权限改成所有人可写。如果文件属于其他用户,先核对文件来源和保存位置。命令在终端中直接启动应用,窗口没有出现时可以保留错误输出,便于区分权限、运行库与图形会话问题。
包管理安装与单文件运行的维护方式
deb / rpm
- 由系统包管理器记录安装状态和依赖。
- 更新时从本站下载页获取适配的新包,再交给同一包管理器处理。
- 卸载时在系统软件管理工具中核对实际包名,按正常流程移除。
AppImage
- 自行保管应用文件的位置与执行权限。
- 替换文件前先退出正在运行的应用,并保留需要的配置备份。
- 删除应用文件不等于删除用户配置,快捷方式也可能需要单独清理。
按维护方式选择格式,不把 AppImage 理解为适配所有发行版的通用保证。
六、安装后导入已有配置并核对连接
窗口正常打开以后,再导入用户已有服务商提供的配置。本站仅说明客户端的安装与使用。安装客户端不会自动产生可用线路,也不会改变已有服务商的账号状态、流量额度和设备限制。
- 先导入配置:按当前版本提供的导入入口添加已有订阅或单条配置。若界面使用
Home → + → Type → Subscribe,将自己的完整订阅链接填入后保存并更新;不同平台布局有差异时,以实际界面为准。 - 检查列表:确认更新后出现预期条目,再选择要使用的服务器。空列表优先核对链接完整性与服务商侧状态,不要重新安装软件来代替订阅排查。
- 核对路由:若当前界面提供
Global Routing,注意Direct表示直连,Proxy与按规则运行的Config用途不同;需要规则分流时先确认已选中的 Config。 - 区分测试:先在客户端停止连接时确认系统网络正常,再启用连接并测试目标站点。若提供
Connectivity Test,用它辅助检查所选服务器,但不要把测试结果当作所有应用流量都已进入代理的证明。
如果客户端已经启动、但浏览器表现没有变化,应进一步核对当前启用的是系统代理还是其他流量接管方式,以及目标应用是否遵循该方式。不要默认安装完成就已经接管所有进程,也不要照搬其他设备上的授权步骤。遇到系统权限提示时,应先阅读所请求的权限范围。
七、安装失败与启动异常的常见问题
AppImage 已加权限,为什么仍提示 Permission denied?
先用 ls -l 加实际文件路径查看执行位,再检查文件所在分区是否以 noexec 挂载。执行位正确但分区禁止执行时,可将文件移到允许执行的用户目录后重试,不要直接修改整个系统的挂载策略。
双击 AppImage 没反应,终端提示 FUSE 错误怎么办?
保留终端中的完整错误信息,按当前发行版的软件包说明安装适配的 FUSE 兼容运行库。不同系统的包名不一定相同;不要直接替换已有的 FUSE 组件。若仍不兼容,可回下载页选择适合该系统的 deb 或 rpm。
出现 Exec format error,是权限不够吗?
通常应先检查目标架构和文件类型,而不是反复增加权限。执行 uname -m 并核对下载项;文件尚未下载完整时也应重新获取。chmod 只能改变执行权限,不能把一种架构的程序转换成另一种。
apt 或 dnf 显示安装成功,应用列表却找不到?
先重新打开桌面应用列表,必要时退出并重新登录桌面会话。随后在系统软件管理工具中确认软件确实已安装;若启动后立即退出,记录启动错误而不是猜测可执行文件名。通过 SSH 进入的纯终端会话也不等于可用的本地图形桌面。
更新应用需要先删除旧配置吗?
不要把删除配置作为常规更新步骤。先退出客户端并备份已有配置,再从下载页取得适配的包进行更新。若新旧版本之间有明确迁移说明,应按说明处理;重新安装应用也不一定会清除用户目录中保留的设置。
仍无法定位时,记录发行版信息、架构、安装格式、执行的命令以及错误输出的关键行。若需要向服务商核对订阅状态,不要公开完整订阅链接、账号密码或访问令牌。更多连接层面的检查可按故障排查逐项进行。