外观
软件源、国内镜像与第一次更新
ISO 里的 OMV 比软件源里的旧,所以装好之后的第一件事是更新。这一篇讲清 OMV 从哪里下载软件,国内网络怎么换成 TUNA 镜像,然后带你做完第一次更新。以后的日常更新、安全更新和重启时机见系统更新。
更新会重启服务,有时要重启整机
- 影响范围:升级过程中 nginx、OMV 引擎、Samba 等服务可能被重启,正在进行的 SMB 传输会中断;更新了内核、systemd 等核心组件之后,需要重启整机才生效。
- 前置条件:新装系统没有数据,现在更新风险最低。以后在有数据的机器上更新,先停掉正在进行的大文件传输,并保证系统盘有备份或虚拟机快照。更新过程中不要关机、断电或关掉网络。
- 怎么回退:界面不提供降级。降级要靠备份或快照还原整个系统盘,见备份系统盘。
OMV 用到哪几类软件源
OMV 本身是一批 Debian 软件包,所以更新走的就是 Debian 的 APT。但它同时用到几个来源,其中大部分由 OMV 自己生成,不要手改:
| 来源 | 文件 | 说明 |
|---|---|---|
| OMV 自己的软件包 | /etc/apt/sources.list.d/openmediavault.list,加 /etc/apt/mirrors/openmediavault.txt | 8.5.12 起改成镜像列表:按优先级依次尝试 packages.openmediavault.org、packages.openmediavault.io、openmediavault.github.io/packages、SourceForge,一个连不上自动换下一个 |
| Debian 安全更新 | /etc/apt/sources.list.d/openmediavault-os-security.list | 默认 security.debian.org/debian-security,由环境变量 OMV_APT_USE_OS_SECURITY 控制,默认开启 |
| Debian 内核 backports | /etc/apt/sources.list.d/openmediavault-kernel-backports.list 和 /etc/apt/preferences.d/openmediavault-kernel-backports.pref | 默认开启(OMV_APT_USE_KERNEL_BACKPORTS)。只把 linux-image-*、linux-headers-*、firmware-* 这几类包固定到 backports,所以内核会跟着 backports 走,通常比 Debian 13 稳定版自带的新 |
| Debian 主源 | /etc/apt/sources.list(或 /etc/apt/sources.list.d/ 下 Debian 自己的文件) | 安装系统时写的,ISO 安装时你选的镜像就在这里。OMV 只在找不到 trixie 和 trixie-updates 的源时,才往 sources.list 里追加 deb.debian.org 的两行 |
| omv-extras 与 Docker | omvextras.sources、omvdocker.sources | 装了 omv-extras 才有 |
想看当前系统实际启用了哪些源:
sh
# 在 OMV 的 shell 里执行
apt-cache policy | grep -E '^ *[0-9]+ '每行开头的数字是优先级,后面是源的地址和组件。
不要自己加 Debian 的 backports、testing 或 apache
官方文档的红线:不要从 Debian 的 backports、testing、experimental 装软件包,OMV 和它所基于的 Debian 版本绑得很紧;不要装 apache,它会导致 openmediavault 包被卸载。OMV 自己为内核启用的 backports 是例外,那是它管理的。清华 TUNA 的帮助页也提醒:不要在 /etc/apt/sources.list 里再配置 backports,会和 OMV 自带的冲突。
要装额外的软件,优先用容器,见为什么在 NAS 上用容器。
在界面里看更新
系统 → 更新管理(System → Update Management)有三个页面:
- 更新(Updates):待安装的更新列表。
- 设置 → 软件(Settings → Software):要不要启用预发布和社区软件源。
- 设置 → 更新(Settings → Updates):通知频率和自动安装安全更新。
软件源开关
设置 → 软件 页的标题是「安装更新来源」,有两个勾选项,默认都不勾:
| 选项 | 作用 |
|---|---|
| 预发布更新(Pre-release updates) | 加入 OMV 官方库的 synchrony-proposed 软件源 |
| 由社区维护的更新(Community-maintained updates) | 加入官方库的 partner 组件,里面是第三方开发者提供的软件 |
NAS 上不要开预发布。截至 2026-10-23,这两个源在官方库里的 amd64 索引都是空的,开了也没有东西可装。
自动安装安全更新与通知
设置 → 更新 页有两项:
| 选项 | 默认值 | 作用 |
|---|---|---|
| 通知日程(Notification schedule) | 每天 | 每天或每周,用邮件汇总待安装的更新。需要先配置邮件通知,并在 系统 → 通知 → 事件 里保持「更新管理」事件开启 |
| 无人值守安装安全更新(Install security updates unattended) | 开 | 每天自动安装 Debian 的安全更新 |
官方文档里写的 cron-apt 已经过时。OMV 8 依赖的是 unattended-upgrades、apt-listchanges 和 apticron,从源码看,它们的行为是:
- APT 每天更新软件包列表并预先下载可升级的包,下载缓存每 7 天清理一次。
- 开启「无人值守」后,每天自动安装的只有 Debian 的安全更新。OMV 自己的包和 Debian 的普通更新不会被自动装,要你在界面里点。
- 不会自动重启。 安全更新装了内核、libc 这类东西,需要你自己择机重启。
- 开启了邮件通知的话,装了东西会发邮件报告,并按设定的日程发待更新汇总。
换成国内镜像
OMV 自己的软件源默认在境外,国内可能很慢,可以换成清华大学 TUNA 镜像站。下面按 TUNA 的 OpenMediaVault 帮助页来,写作时核对过它的内容(2026-10-23)。
OMV 8 里换源,用环境变量,不要手改 openmediavault.list,那个文件会被 OMV 重写。环境变量保存在 /etc/default/openmediavault,OMV 生成配置文件时会读取它们。
换 OMV 自己的源
sh
# 在 OMV 的 shell 里以 root 执行
omv-env set OMV_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/public"
omv-env set OMV_APT_ALT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/packages"
omv-salt stage run prepare
omv-salt deploy run aptomv-salt stage run prepare 让新的环境变量生效,omv-salt deploy run apt 重写 APT 的配置。TUNA 的帮助页写的是 omv-salt stage run all,效果包含这两步,但会重新部署所有模块、重启一批服务,没必要。
之后镜像列表里 TUNA 的两个地址排第一、第二,openmediavault.github.io 和 SourceForge 依旧排在后面当后备。
其他可选的源
下面这些按需换,TUNA 的页面把它们列为可选:
| 要换的源 | 环境变量 | 填什么 |
|---|---|---|
| Debian 内核 backports | OMV_APT_KERNEL_BACKPORTS_REPOSITORY_URL | https://mirrors.tuna.tsinghua.edu.cn/debian |
| Debian 安全更新 | OMV_APT_SECURITY_REPOSITORY_URL | https://mirrors.tuna.tsinghua.edu.cn/debian-security |
| omv-extras | OMV_EXTRAS_APT_REPOSITORY_URL | https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers |
| Docker | OMV_DOCKER_APT_REPOSITORY_URL | https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian |
前两项设完同样执行 omv-salt stage run prepare 和 omv-salt deploy run apt。
omv-extras 和 Docker 的源不是 Salt 管的,而是由 omv-extras 的 omv-aptclean repos 重写(系统 → omv-extras 页面上的 apt clean repos,中文「清理源」,按钮做的是同一件事)。按源码,设完这两个环境变量后要再执行一次它才生效,TUNA 的页面没有写这一步,我们没有实测。注意它会删掉 /etc/apt/sources.list.d/ 里内容含 docker 的文件,包括你自己加的 Docker 官方源。
Debian 主源
Debian 主源在 /etc/apt/sources.list(或者 /etc/apt/sources.list.d/ 下的 .sources 文件),不是 OMV 生成的,可以按 TUNA 的 Debian 帮助页修改,选 Debian 13。先看一眼你的系统用的是哪种格式:
sh
# 在 OMV 的 shell 里执行
ls /etc/apt/sources.list /etc/apt/sources.list.d/照 TUNA 页面给的对应格式改。backports 那一段不要加,OMV 已经自己管了。
换源之后
在 OMV 的 shell 里确认地址已经换了:
sh# 在 OMV 的 shell 里执行 grep -r tuna /etc/apt/sources.list.d/ /etc/apt/mirrors/ 2>/dev/null8.5.12 及以后,OMV 的源写在
/etc/apt/mirrors/openmediavault.txt里,应该能看到两行 TUNA 地址,后面带priority:1和priority:2。更早的版本直接写在openmediavault.list里。在界面的
系统 → 更新管理 → 更新里点检测更新,能正常列出就说明源是通的。
换源之后要自己核对密钥
OMV 的软件源公钥是通过源本身分发的,所以存在被篡改的可能。TUNA 的帮助页明确提醒:换源后要通过别的渠道核对公钥。OMV 软件源公钥的指纹在下载、校验并制作安装 U 盘里,可以对照。另外,TUNA 说明本站不对欧盟用户提供服务,镜像也有同步延迟,刚发布的版本可能晚一点才能看到。
需要代理的网络
如果这台机器必须通过代理上网,在 网络 → 代理(Network → Proxy)里设置,APT 会用它。见代理与无线网络。
第一次更新
- 打开
系统 → 更新管理 → 更新。 - 点工具栏上的放大镜图标,悬停提示是检测是否有更新...(Check for new updates)。会弹出进度窗口,提示「软件源将检查是否有删除或更新的软件包信息。」,等它跑完。
- 列表里是所有待升级的包,有名称、新版本、旧版本、软件源等列。想看某个包改了什么,选中它,点显示变更日志(Show changelog)。
- 点下载图标,悬停提示是安装更新 ...(Install updates)。对话框标题是「升级系统」,内容是「所有软件包将升级,您确定要继续?」勾选确认,点是。注意它升级的是全部包,没有只升某几个的选项。
- 进度窗口里输出实时滚动。任务没跑完时,关闭按钮是灰的,跑完再关。如果浏览器页面中途断了,任务还在后台跑,不要重启机器,重新登录后可以从铃铛通知栏里找回进度。
- 完成后点关闭。顶部如果出现黄色提示条,点应用。如果被退回到登录页,重新登录即可,8.5.10 起 PHP 的会话文件换了位置,更新后需要重新登录一次。
- 更新列表里有
linux-image、systemd、libc6这类包的话,重启一次:右上角电源图标,选重启。 - 重启后再点一次检测更新,列表应该是空的。
在 OMV 的 shell 里也可以用命令行,效果一样。它会先更新包列表,再模拟一遍,如果发现升级会把 openmediavault 包本身卸掉就中止:
sh
# 在 OMV 的 shell 里以 root 执行
omv-upgrade通过 SSH 跑的话,注意别让连接中途断掉,可以用 tmux 这类工具保护。
检查结果
系统 → 更新管理 → 更新点检测更新后,列表为空。仪表盘上「有可用更新」小部件显示没有更新。
在 OMV 的 shell 里看版本:
sh# 在 OMV 的 shell 里执行 dpkg -l openmediavault版本号比 ISO 的新,比如已经到了 8.5.x。具体版本以软件源为准。
常见问题
检测更新报错,Release file ... is not valid yet,或证书错误。 多半是系统时间不对,见下一篇时间、时区与主机名。
Could not resolve 或连接超时。 DNS 没配好,或者境外源太慢。先确认静态 IP 时填了 DNS,见网络接口;国内网络按上面换 TUNA。
更新失败,提示包被锁或者依赖错误。 见更新失败与软件源报错。omv-firstaid 里的「Refresh APT package lists and clean caches」可以清理缓存和锁(8.3.0 起提供)。
想加额外的 APT 源。 官方插件 openmediavault-apt 在 系统 → 更新管理 → 设置 → 其它软件(Other Software)里管理额外的软件源,见小工具合集。再强调一遍:OMV 和 Debian 版本绑得很紧,第三方源可能破坏它,能用容器就用容器。
参考资料
- Software & Update Management(官方文档),其中 cron-apt 的说法已过时,本篇以 OMV 8 源码为准
- 清华 TUNA:OpenMediaVault 镜像帮助
- 清华 TUNA:Debian 镜像帮助
- 源码:
aptSalt 状态、95openmediavault-unattended-upgrade