升级 Passwall2 26.9.9-2,应按路由器的包管理器和软件包架构挑附件,再备份配置与旧包。不要把依赖 ZIP 解压后整目录安装。LuCI 页面版本变化,也不能证明 sing-box、Xray 或 OpenWrt 系统一起更新了。

9 月 9 日这批附件分别装什么?

固定 Release 发布于 2026 年 9 月 9 日。主包为 luci-app-passwall2_26.9.9-r2_all.ipkluci-app-passwall2-26.9.9-r2.apk,中文翻译另有 luci-i18n-passwall2-zh-cn 包。依赖压缩包的文件名同时带包格式和架构。

下面把发布版本与升级时的判断放在一起。它不是系统必装列表。

文件或组件本批版本或文件特征升级时如何处理
LuCI 主包26.9.9-r2,ipk / apk 分开与现有包管理器对应
简体中文语言包26.9.9,zh-cn需要中文界面才选此语言
sing-box / xray-core1.14.0 / 26.9.9查当前已装与启用的内核
geoview / chinadns-ng0.2.6 / 2025.08.09依据包依赖与现有配置处理
架构依赖 ZIP如 ipk_aarch64_cortex-a53解压后挑选所需依赖

该标签 Makefile 同时定义基础内核选项和防火墙相关依赖。构建选项会影响依赖组合,所以 Release 表不能证明每台设备都会全装,也不能替上游判断稳定通道。查找项目入口可用Passwall2 客户端目录

ARM64 为什么还不能直接选包?

同是 ARM64,附件仍区分 aarch64_cortex-a53aarch64_cortex-a72aarch64_generic。不要用设备宣传页的 CPU 位数代替包架构,也不要改架构配置去强行接受不匹配的包。

以下是 SSH 查询示例,不会安装软件。设备与固件信息由 OpenWrt 的 ubus system board 提供:

ubus call system board

opkg 系统使用官方 opkg 文档列出的查询命令:

opkg print-architecture
opkg list-installed

apk 系统可以读取其架构文件,并按官方命令对照表查看已装包:

cat /etc/apk/arch
apk list --installed

把以下现象分开看,能避免在选包阶段就走错方向。

安装时的表现更可能涉及哪一层先查什么
架构不接受可执行程序构建目标完整架构后缀是否一致
依赖无法满足固件软件源或依赖版本错误中具体缺少的包名
页面已更新、内核仍旧主包与代理程序分别管理已装列表里的内核版本

保存完整架构名称及已装版本。官方 OpenWrt 25.12 起采用 apk,但第三方固件可能有自己的打包安排,实际系统比版本印象可靠。两种格式不能靠改后缀转换;架构相同也不等于跨固件依赖兼容。

LuCI 备份里真的有 Passwall2 配置吗?

打开 LuCI 的 System → Backup / Flash Firmware,点击 Generate archive 下载归档,中文名称可能随翻译变化。LuCI 的备份页面源码定义了生成与上传恢复入口。配置含节点凭据,应留在自己的电脑上。

再检查归档范围,尤其是 /etc/config/passwall2 和自己新增的规则文件。该标签还声明了 /etc/config/passwall2_server/usr/share/passwall2/direct_ip/usr/share/passwall2/domains_excluded 为配置文件。按设备实际存在的文件逐项核对;sysupgrade 源码支持以下命令:

sysupgrade -l
sysupgrade -b /tmp/passwall2-before-26.9.9.tar.gz

第一条列出将备份的文件,第二条生成配置归档,不刷固件。若自定义文件没在列表中,将其实际路径加入 /etc/sysupgrade.conf 后重新检查。把归档下载到电脑;/tmp 中的唯一副本不能跨重启保留。

查看备份文件列表时,不要只看归档大小。包含 LuCI 设置的配置文件与运行时生成文件用途不同:前者关系到节点和分流选择,后者可能在服务启动时重新生成。自定义规则若位于默认范围外,应单独备份,不能仅凭页面上还能看到名称就认定文件已入档。

配置备份还缺一半恢复材料:原版主包、语言包和实际使用的依赖安装包。保存它们以及已装版本清单,才能在程序回归时退回原组合。

同格式更新,只动所需的软件包

从固定标签下载,按官方下载与校验方法确认文件。下面仅演示已上传到路由器 /tmp 的主包安装;先确保依赖满足,不要照搬成整目录通配安装。

opkg 系统的示例为:

opkg install /tmp/luci-app-passwall2_26.9.9-r2_all.ipk

apk 系统的本地文件示例为:

apk add /tmp/luci-app-passwall2-26.9.9-r2.apk

缺依赖时记下包名,并从同格式、同架构的依赖包或匹配当前固件的软件源补齐。若出现签名不受信任提示,应核实项目的签名与安装说明,不把跳过校验作为默认步骤。内核模块版本冲突也不适合用强制依赖参数掩盖。

安装语言包时也要保持同一发布批次。中文页面文字正常只说明翻译可用,不代表透明代理、防火墙规则和代理进程已成功工作。若原来的内核仍能满足用途,这次维护没有必要顺带切换到另一套内核,更不用为了追上发布表数字替换所有组件。

升级后重新查询已装列表,比较主包和原有内核版本。进入 LuCI 检查节点、规则、DNS 设置是否保留,再测试原来使用的连接。订阅内容异常可接着看OpenWrt 订阅导入检查。这里给的是文档操作方案,没有在具体路由器上执行安装测试。

应用更新后,为什么系统内核没变?

这里有三层:LuCI 管理页面、sing-box 或 Xray 代理内核、OpenWrt 的 Linux 内核。更新第一层不自动证明第二层已换,更新代理内核也不会把第三层变成新版固件。OpenWrt 官方明确不建议批量升级所有软件包,系统升级应按设备固件流程另做。

若新程序异常,先另存当前配置,再决定是否覆盖。将电脑保存的归档重新上传到路由器 /tmp,核对文件名后,才运行以下配置恢复命令:

sysupgrade -r /tmp/passwall2-before-26.9.9.tar.gz

它恢复归档中的文件,不降级已装程序。程序回归需另装保存的兼容旧包;单纯配置改坏才恢复对应配置。恢复后重新载入服务或重启,检查管理地址、节点与 DNS,别把整机旧备份直接套到不同设备或不同固件分支。