Ubuntu、Debian 系统先选 deb,Fedora 等使用 dnf 的系统先选 rpm;希望保留独立程序文件时再考虑 AppImage。本文从确认系统与处理器架构开始,说明本地包安装、执行权限、首次启动及连接验证。以下以已从你的服务商处获取订阅为前提,安装完成不等于已经配置好网络连接。
一、先确认发行版、架构与安装包
Shadowrocket(小火箭)的 Linux 版免费,从本站下载页的 Linux 区域选择安装包。deb、rpm、AppImage 是交付形式,不代表三套不同的订阅,也不能仅凭扩展名判断是否适合当前处理器。下载前同时核对发行版、包架构和页面标注的运行要求。
先打开终端运行下面两条命令。/etc/os-release 用于识别发行版;uname -m 返回当前运行内核的架构。常见的 x86_64 与 aarch64 并不通用,包管理器里的对应名称还可能写成 amd64 或 arm64。
cat /etc/os-release
uname -m
- Ubuntu、Debian 及其兼容发行版:优先选 deb,通过 apt 安装本地文件,让包管理器处理依赖。
- Fedora 等使用 dnf 的发行版:优先选 rpm,通过 dnf 安装;不能因为扩展名相同,就假定所有 RPM 系发行版都兼容同一个包。
- 其他桌面发行版:可检查 AppImage 的架构与运行环境要求。AppImage 不是任意 Linux 环境都能运行的保证。
二、用 apt 安装本地 deb 文件
以下命令在 Bash 中执行。先把下载的 deb 文件放到一个容易找到的位置,再复制它的完整绝对路径,例如通过文件管理器查看文件属性。输入路径时不要额外包裹引号,也不要把浏览器里的下载链接当作本地路径;命令中的变量引用会处理路径内的空格。
read -r -p "粘贴 deb 文件的完整绝对路径:" pkg
test -f "$pkg" && sudo apt install "$pkg"
apt install 后面跟本地文件路径,表示安装这个文件,而不是到软件源里搜索同名应用。使用绝对路径可以避免当前目录不对导致的找不到文件。终端要求输入密码时,输入的是当前 Linux 用户的授权密码,输入过程通常不会显示字符。
-
确认文件
在下载页选择 deb 后,等待浏览器完成下载。确认文件不是下载中的临时文件,并核对页面给出的架构。
-
执行安装
将完整路径粘贴到终端提示后,按 Enter。检查 apt 列出的安装、升级和移除项目,再确认继续。
-
处理依赖
如提示依赖无法满足,先运行
sudo apt update,再重试原安装命令。仍失败时记录缺少的依赖名称,不要直接忽略依赖。 -
首次打开
安装成功后,从桌面应用菜单搜索 Shadowrocket,以普通用户打开。若菜单未立即刷新,可重新登录桌面后再检查。
若系统提示包架构不匹配,应回下载页重选,而不是使用强制安装选项。若提示某个库的版本过低,刷新软件源并不一定能解决:当前发行版提供的系统库可能确实不满足要求。此时应核对支持环境,不要为了安装单个应用随意替换系统核心库。
三、用 dnf 安装本地 rpm 文件
在使用 dnf 的系统中,安装思路与 deb 相同:明确指定已下载的本地文件,让发行版的包管理器解析依赖。下面同样使用绝对路径,不要求把文件改名,也不预设下载文件的名称。
read -r -p "粘贴 rpm 文件的完整绝对路径:" pkg
test -f "$pkg" && sudo dnf install "$pkg"
- 出现确认列表:检查依赖来源及事务内容,确认没有意外移除重要桌面组件后再继续。
- 提示找不到依赖:先确认当前系统的软件源可用,可运行
sudo dnf makecache --refresh刷新元数据,再重试安装。 - 提示架构或发行版不兼容:停止安装,核对下载页要求。不要使用跳过依赖或强行替换系统文件的方式绕过错误。
- 出现完整性、签名或信任相关错误:保留原始提示,确认文件来自本站下载流程并重新下载;不要直接关闭包管理器的安全检查。
安装成功只表示包文件与依赖已经写入系统,不代表代理已启用。先从应用菜单启动 Shadowrocket,再完成订阅导入与连接设置。排查时将“软件安装失败”和“安装成功但请求失败”分开处理,避免反复重装掩盖真正的网络问题。
四、AppImage 加执行权限后运行
AppImage 通常作为独立文件运行,不经过 apt 或 dnf 注册成系统软件包。建议先把文件移动到固定的个人目录,再添加执行权限。不要长期从浏览器临时目录启动,否则清理下载文件时可能同时删除程序。
read -r -p "粘贴 AppImage 文件的完整绝对路径:" app
if test -f "$app"; then
chmod u+x "$app" && "$app"
fi
chmod u+x 只给文件所有者增加执行权限;后面的命令直接运行该文件。普通启动不需要在前面加 sudo。若图形桌面没有响应,保留终端窗口中的错误输出,比反复双击更容易判断原因。
文件运行条件
- 执行权限
- 使用
chmod u+x添加 - 文件位置
- 放在稳定的个人目录
- 处理器架构
- 与下载页标注及本机架构匹配
- 启动身份
- 以普通桌面用户运行
独立文件仍依赖宿主系统的兼容环境。
常见错误线索
- Permission denied
- 检查执行权限与挂载选项
- Exec format error
- 优先核对架构与文件是否完整
- FUSE 相关错误
- 按发行版确认兼容运行组件
- 共享库缺失
- 检查运行要求与系统库版本
按错误内容处理,不用提升整个应用权限代替诊断。
如果文件所在分区带有 noexec 挂载选项,即使已经添加执行权限,也可能无法启动。可将文件移到允许执行的个人目录后重试。FUSE 相关组件名称会随发行版变化,应先查看系统的软件包信息;不要将其他发行版的安装命令直接复制到本机。
五、首次打开后导入订阅与验证分流
先确认应用可以正常显示窗口,再配置网络。订阅链接从你的服务商处获取,并作为敏感信息保存。若界面提供相应入口,在 Home 右上角“+”中将 Type 设为 Subscribe,填写链接并保存,再更新订阅;桌面布局若与移动端不同,以当前界面显示的入口为准。
导入后检查列表是否出现预期条目,再选择一个已有条目进行连接。仅有订阅名称不代表更新成功;若列表为空,应先处理订阅请求错误。Config 中的配置文件与 Home 中的服务器条目也不是同一个对象,导入服务器不会自动保证规则符合你的使用需求。
Config
推荐按当前所选配置文件处理已接管的请求。规则自上而下匹配,具体走代理还是直连取决于命中的规则与策略,不是固定的地区判断。
适合:已经检查配置文件的日常分流
Proxy
让已接管的请求使用代理路径,适合与 Config 作短时对照。这不会使原本没有进入代理的应用流量自动被接管。
适合:区分代理连接问题与规则匹配问题
Direct
让已接管的请求使用直连路径。切换后仍需使用同一目标、同一应用测试,才便于判断直连与代理路径的差异。
适合:短时建立直连对照结果
规则检查可以从下面三行的含义入手。这是语法示例,不是完整配置文件;PROXY 必须能对应到当前配置中的有效策略。不要将示例直接覆盖到已有配置,更不要据此判断某个真实网站应该走哪条线路。
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX:匹配指定域名后缀,示例域名只用于说明语法。IP-CIDR:按目标 IP 网段匹配,示例范围是私有地址段。FINAL:前面的规则均未命中时使用的最终策略,应放在规则末尾。
在 Linux 上还要区分“代理程序正在运行”与“目标应用使用了代理”。应用是否接管系统流量、是否需要单独设置浏览器或终端,取决于当前启用的网络模式。若界面显示本地监听地址与端口,应照实际值填写,不能假定端口固定为某个数字。
六、安装成功后常见问题处理
双击 AppImage 没反应,要重新安装吗?
先在终端按第四节的方式运行,读取错误输出。若是 Permission denied,检查执行权限和 noexec;若是 FUSE 或共享库错误,按发行版处理运行组件。没有错误信息前,不要把问题直接归因于下载包。
首次启动弹出系统授权,我该点什么?
先读取请求者和操作内容。安装软件包时的管理员授权,与运行时修改网络设置的授权不是一回事。只有在刚执行了对应操作、且提示内容与该操作一致时再确认;不要为了消除提示,将整个图形应用长期以 root 身份运行。
浏览器能打开网页,终端请求却失败?
检查终端是否仍使用直连,或保留了旧的代理环境变量。可运行 env | grep -i proxy 查看,再与当前监听地址及端口核对。HTTP 代理与 SOCKS 代理的类型不能混填,修改后要在同一个终端会话里重新测试。
订阅更新失败,需要换安装包格式吗?
不需要先换格式。检查订阅链接是否完整、是否过期,以及当前网络能否访问订阅地址;再向你的服务商确认返回内容。记录报错时隐藏链接中的 token 等凭据,避免把完整订阅地址贴到截图或日志中。
验证时一次只改变一个条件。例如同一浏览器、同一目标地址,先测 Direct,再测 Proxy,最后回到 Config 检查规则。浏览器成功而终端失败,通常应先检查应用的代理设置差异;两者都失败,则继续检查连接状态、DNS 与服务商提供的配置,而不是先重复安装。
七、后续更新与移除注意事项
通过本地 deb 或 rpm 安装,并不自动说明系统已订阅应用的软件更新源。后续获取新安装包时仍应查看本站下载页,并在退出应用后按对应方式安装。AppImage 则保留为独立文件,替换前应先关闭旧进程,确认桌面快捷方式没有继续指向旧路径。
- 更新前:备份自己的配置,并妥善保管订阅信息。包管理器更新程序文件,不等于备份个人配置。
- 移除 deb / rpm:先在图形软件管理器的已安装列表确认包名,再执行移除;不要凭应用显示名称猜测系统包名。
- 移除 AppImage:退出进程后删除对应文件,并检查自己创建的快捷方式。删除程序文件不一定同时删除用户配置。
- 清理网络设置:如果曾手动为浏览器或终端设置本地代理,停止应用后应一并恢复,否则请求仍可能发往已经关闭的监听端口。
选择安装格式的原则是匹配发行版、架构与维护方式。安装故障看包管理器或终端报错,连接故障看订阅、接管范围与分流设置。把这两条排查路径分开,可以减少无效重装,并保留有用的诊断信息。