Shadowrocket Linux 版安装:deb、rpm、AppImage 怎么选与 apt/dnf 安装命令

Linux 版免费,提供 deb、rpm、AppImage 三种安装包。本文按发行版说明该选哪一种,给出 apt 与 dnf 的安装命令,以及为 AppImage 添加执行权限的步骤。

本文速览

安装 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 页面标注为准。

  1. 确认系统

    在终端执行 cat /etc/os-release 与 uname -m,记录发行版、包管理器和架构,不按电脑品牌猜测。

  2. 打开下载页

    进入本站“客户端下载”→ Linux,选择与环境对应的 deb、rpm 或 AppImage,等待浏览器显示下载完成。

  3. 取得文件路径

    在文件管理器中查看下载文件的属性,取得包含文件名的绝对路径。下载目录可能经过本地化或被用户修改,不默认它一定是 Downloads。

  4. 选择安装流程

    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。

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 会话中启动,应先回到本机桌面测试,不把缺少图形会话误判为文件损坏。

安装后怎么检查:先确认启动,再检查连接配置

窗口能打开与网络能连通是两个不同检查项。先确认应用可在普通用户桌面中启动,再使用用户已有服务商提供的连接资料;安装客户端本身不会自动生成可用服务器。本站不提供、不销售、不推荐节点或订阅。

  1. 检查启动:deb / rpm 安装后从应用菜单启动;AppImage 从其实际文件路径启动。若崩溃,保留终端错误及发行版、架构信息。
  2. 检查资料:导入用户自己的配置时,核对服务端地址、端口、协议与凭据是否完整。端口必须以服务商提供的值为准,不能因安装教程而统一改成某个数字。
  3. 区分设置作用:若当前界面提供 Home、Config、Settings 等入口,以本机实际显示为准。Global Routing 的 Direct 表示直接连接,不能把这一姿态下的访问结果当成代理连接测试结果。
  4. 检查匹配范围:使用 Config 姿态时,结果还受配置规则影响。更新订阅与更新应用是两件事,前者更新用户的连接资料,后者替换客户端程序。

遇到授权提示时,应确认提示来自当前启动操作,并阅读它请求的具体权限。安装命令使用管理员权限,不等于应用以后都要以管理员身份运行;不同桌面环境、网络接管方式与发行版的授权表现可能不同,不应套用 iPhone / iPad 的 VPN 配置提示来判断 Linux 是否安装成功。

更新与卸载:使用真实包名,保留自己的配置

deb 与 rpm 更新可下载对应格式的新包,再由同一包管理器安装;不要仅凭文件名变化判断更新结果,也不假定安装本地包就自动添加了更新软件源。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"
下载 Shadowrocket