跳转到内容

配置文件与目录索引 ​

OMV 的配置分三层:界面保存的设置先进配置数据库,点应用后由 Salt 状态把数据库内容写成各服务的配置文件,再重启服务。所以 /etc 下很多文件都是「生成物」。这一页帮你认路:哪些文件是 OMV 生成的、哪些目录放什么、想改界面没有的选项该改哪里。

text
界面保存 → /etc/openmediavault/config.xml(配置数据库)
        → 点「应用」→ omv-salt deploy run <模块>
        → /srv/salt/omv/deploy/<模块>/ 里的 Salt 状态
        → 重写 /etc 下的配置文件并重启服务

标「否」的文件不要手改

OMV 会完整重写这些文件,手改的内容在下一次部署对应模块时丢失,也不会出现在界面上。要加界面没有的选项,依次考虑:界面里的扩展选项(Extra options)、环境变量、自定义 Salt 状态。本页只教你认路,不教你手改;原理见 OMV 是怎么工作的。

怎么判断一个文件是不是 OMV 生成的:生成的文件开头大多有这两行注释。下面的命令只读,在 OMV 的 shell(root)里执行,列出 /etc 下带这行注释的文件。

text
# This file is auto-generated by openmediavault (https://www.openmediavault.org)
# WARNING: Do not edit this file, your changes will get lost.
sh
# 在 OMV 的 shell(root)执行,只读
grep -rl 'auto-generated by openmediavault' /etc 2>/dev/null

数据库与运行状态 ​

路径内容能手改吗
/etc/openmediavault/config.xml配置数据库(XML),界面上的每次保存都先写这里否,只读查看。真要改见配置数据库
/etc/openmediavault/config.xml.<序号>修订副本:每次保存前复制一份当前数据库,四位序号否。点应用或撤销后全部清除,只服务于「撤销」和 omv-firstaid 的「Restore configuration backup」,不是长期备份
/var/lib/openmediavault/dirtymodules.json待应用的模块清单,黄色提示条的来源否,文件损坏时用 omv-firstaid 的「Check configuration status file」处理
/etc/default/openmediavault环境变量(OMV_*)用 omv-env 或「环境变量」插件改,见环境变量
/srv/salt/omv/deploy/<模块>/各服务的 Salt 状态自定义状态放进对应目录,文件名 <N>xxxx.sls(N 取 0 到 100),按升序执行,见 Salt 部署与自定义配置
/usr/share/openmediavault/数据模型、默认值、RPC、omv-firstaid 模块、Workbench 定义、翻译否,随软件包更新
/var/lib/openmediavault/运行状态:插件索引 apt/pluginsindex.json、性能图表 rrd/、cron 脚本 cron.d/、engined.sock否
/var/www/openmediavault/Web 界面静态文件,nginx 站点根目录否,装卸插件时由 omv-mkworkbench 重建菜单、路由和翻译
/run/openmediavault/sessionsPHP 会话文件否,8.5.10 起放在内存目录 /run 下,重启后要重新登录

存储与共享服务 ​

路径内容能手改吗
/etc/fstab挂载表只有 # >>> [openmediavault] 与 # <<< [openmediavault] 之间的段由 OMV 重写,段外的内容可以自己加。默认挂载选项用 OMV_FSTAB_MNTOPS_EXT4 这一类环境变量调,只影响之后新挂载的文件系统,见文件系统挂载选项与 fstab
/srv/dev-disk-by-uuid-<UUID>文件系统挂载点,共享文件夹的实际路径是「挂载点 + 相对路径」否
/etc/samba/smb.confSamba否。加选项用 SMB 设置页和共享页的扩展选项
/etc/exports、/etc/nfs.conf.d/99-openmediavault.conf、/etc/idmapd.confNFS否。NFSv4 伪根目录默认是 /export(OMV_NFSD_EXPORT_DIR),它的选项用环境变量调
/etc/rsyncd.conf、/etc/cron.d/openmediavault-rsyncrsync 服务端、rsync 任务的计划否
/etc/smartd.conf、/etc/default/smartmontoolsS.M.A.R.T. 监控否
/etc/mdadm/mdadm.conf软件 RAID否,openmediavault-md 插件接管
/etc/proftpd/proftpd.confFTP否,官方 openmediavault-ftp 插件接管,用 FTP 页的扩展选项
/sharedfolders/共享文件夹的别名目录默认不创建(OMV_SHAREDFOLDERS_DIR_ENABLED 默认是 NO)。源码里打开它会为每个共享文件夹生成 systemd 挂载单元;官方文档没有说明,也没有实机验证,需要的话先在测试机上试

网络、Web 界面与远程访问 ​

路径内容能手改吗
/etc/netplan/ 下带 openmediavault 的文件网络接口配置。10-openmediavault-default.yaml 是默认配置;20-openmediavault-<接口名>.yaml 里的 20 表示以太网,30 无线、40 Bond、50 VLAN、60 网桥否。界面做不到的配置见自定义网络配置
/etc/network/interfaces只有注释和一行 source-directory /etc/network/interfaces.d 的占位文件否。官方 files 文档仍把它列为接管对象,OMV 8 里真正的网络配置在 netplan
/etc/systemd/network/05-openmediavault-default.link默认的网卡命名规则否
/etc/resolv.confDNS 解析否。OMV 把它做成指向 /run/systemd/resolve/stub-resolv.conf 的符号链接,DNS 在 网络 → 接口(Network → Interfaces)里设置
/etc/hosts主机名解析OMV 管理其中的主机名条目,自定义条目用 hosts 插件
/etc/iptables/openmediavault-firewall.sh、/etc/systemd/system/openmediavault-firewall.service防火墙否,规则在 网络 → 防火墙 → 规则(Network → Firewall → Rules)
/etc/ssh/sshd_configSSH 服务否,改 服务 → SSH(Services → SSH);少数选项用环境变量,例如 8.2.0 起的 OMV_SSHD_KBDINTERACTIVEAUTHENTICATION
/etc/nginx/sites-available/openmediavault-webguiWeb 界面的 nginx 站点,sites-enabled 里有同名符号链接否。端口与 HTTPS 在 系统 → 工作台 → 设置(System → Workbench → Settings)。自己的网站放在 sites-available 里,用 nginx_ensite <站点名> 启用
/etc/nginx/openmediavault-webgui.d/OMV 站点引入的片段,其中 headers.conf、security.conf 由 OMV 生成否
/etc/php/8.4/fpm/pool.d/openmediavault-webgui.confPHP-FPM 进程池否。官方 files 文档里的 php5 路径已经过时
/etc/ssl/certs/openmediavault-<UUID>.crt、/etc/ssl/private/openmediavault-<UUID>.keySSL 证书与私钥在 系统 → 证书 → SSL(System → Certificates → SSL)管理
/etc/ssh/openmediavault-<UUID> 及 .pubSSH 密钥对在 系统 → 证书 → SSH(System → Certificates → SSH)管理
/etc/avahi/services/、/etc/wsdd-server/defaults局域网发现(Avahi、wsdd)否

系统服务、通知与日志 ​

路径内容能手改吗
/etc/chrony/chrony.conf时间同步,默认用 pool 指令(OMV_CHRONY_SERVER_POOL_DIRECTIVE)否
/etc/postfix/main.cf 及 /etc/postfix/ 下其他文件邮件通知否,改乱会让通知失效。8.2.14 起有 OMV_POSTFIX_MAIN_SMTP_TLS_SERVERNAME 等变量可以调 TLS 相关设置
/etc/monit/monitrc、/etc/monit/conf.d/openmediavault-*.confmonit 监控否
/etc/collectd/collectd.conf、/etc/collectd/collectd.conf.d/、/etc/default/rrdcached性能统计,曲线图片在 /var/lib/openmediavault/rrd/否
/etc/cron.d/openmediavault-userdefined、/etc/cron.d/openmediavault-powermngmt计划任务、电源管理的计划否,用 系统 → 计划任务(System → Scheduled Tasks)、系统 → 电源管理(System → Power Management)
/etc/systemd/journald.conf.d/90-openmediavault.confjournald 日志上限,OMV_SYSTEMD_JOURNALD_SYSTEMMAXUSE 默认 1G,约合三个月日志否
/etc/rsyslog.conf、/etc/rsyslog.d/openmediavault-*.confrsyslog 与日志转发否
/etc/sysctl.d/99-openmediavault-*.conf内核参数否
/etc/cpupower-service.confCPU 调频。8.1.0 起由 系统 → 电源管理 → 设置 的 CPU 频率调节生成,只在物理机上、且这一项不是「禁用」时才写否
/etc/issue控制台登录提示,会显示 Web 界面的地址否

软件源与更新 ​

路径内容能手改吗
/etc/apt/sources.listDebian 官方源。OMV 发现缺少 Debian 主仓库和 updates 行时会追加,并删掉 deb cdrom: 行不建议。额外的软件源放进 /etc/apt/sources.list.d/,官方建议不要从 backports、testing、experimental 里安装软件包
/etc/apt/sources.list.d/openmediavault.list、/etc/apt/mirrors/openmediavault.txtOMV 软件源。8.5.12 起使用镜像列表,一个源连不上时自动尝试下一个否
/etc/apt/sources.list.d/openmediavault-os-security.listDebian 安全更新源,由 OMV_APT_USE_OS_SECURITY 控制否
/etc/apt/sources.list.d/openmediavault-kernel-backports.list、/etc/apt/preferences.d/openmediavault-kernel-backports.prefDebian backports 内核,默认启用,由 OMV_APT_USE_KERNEL_BACKPORTS 控制否。系统 → omv-extras(System → omv-extras)的启用、停用 backports 按钮改的就是它
/etc/apt/apt.conf.d/50unattended-upgrades、98openmediavault-*、99openmediavault-proxy无人值守更新、更新邮件、代理否
/etc/apticron/apticron.conf更新提醒邮件否
/var/lib/openmediavault/apt/pluginsindex.json插件列表索引,apt-get update 后自动重建,系统 → 插件(System → Plugins)的列表来自它否

官方文档的「软件与更新管理」页仍写着每日检查由 cron-apt 负责,而 OMV 8 的包依赖和 Salt 状态用的是 unattended-upgrades 和 apticron,以源码为准。

插件与容器产生的文件 ​

路径内容能手改吗
<Compose 共享文件夹>/<名称>/<名称>.yml、<名称>.env、compose.override.yml一个 Compose 栈的文件;同目录的 compose.yml、.env 是指向前两者的符号链接在 Compose 插件里编辑。直接改了磁盘上的文件,要用插件的 Sync changes from file 同步回数据库
<Compose 共享文件夹>/global.env传给所有栈的环境变量文件在 Compose 插件的 Files 页里改
/etc/docker/daemon.jsonDocker 引擎配置Compose 设置里「Docker 存储」非空时由插件写入;留空时插件不碰它,可以自己管理
/var/lib/dockerDocker 默认数据目录别放在容量小的系统盘上,见 Compose 插件设置详解
/var/log/omv-compose-run.logCompose 插件执行过的命令记录只读
/etc/apt/sources.list.d/omvextras.sources、/etc/apt/mirrors/omvextras.txt、/usr/share/keyrings/omvextras.gpgomv-extras 软件源与签名密钥否,系统 → omv-extras 的 apt clean repos 会重写它们
/etc/apt/sources.list.d/omvdocker.sourcesDocker 官方软件源,勾选 omv-extras 页的 Docker repo 才有否。apt clean repos 会删除 sources.list.d 里内容含 docker 的其他文件,这一点来自源码,尚未实机验证
/etc/apt/sources.list.d/pvekernel.sourcesProxmox 内核源,内核插件安装 Proxmox 内核时添加否
/etc/default/grub.d/omv-kernel-family.cfg内核插件的「启动家族」设置否
/etc/modprobe.d/zfs.confZFS 模块选项,来自 zfs 插件设置页的额外模块选项否
/etc/snapraid.conf、/etc/snapraid/omv-snapraid-*.confSnapRAID 配置,前者是默认阵列的符号链接否
/var/log/omv-backup.logbackup 插件的日志只读
/var/cache/restic、/var/log/restic/restic.logrestic 插件的缓存与日志否

mergerfs 池由 systemd 挂载单元管理,不写进 /etc/fstab。

日志在哪 ​

界面里的 诊断 → 系统日志(Diagnostics → System Logs)大多数是在调用 journalctl,只有少数日志是文件。

界面里的日志来源
系统日志(Syslog)、守护进程(Daemon)、验证(Authentication)、消息(Messages)、启动(Boot)、内核(Kernel)systemd 日志,用 journalctl 加不同过滤条件读取
Rsync - 服务器(Rsync - Server)、S.M.A.R.T.、SMB/CIFS - 审核(SMB/CIFS - Audit)systemd 日志,按标识符 rsyncd、smartd、smbd_audit 过滤
更新管理(Update Management)/var/log/apt/term.log
Rsync - 任务(Rsync - Jobs)/var/log/rsync.log
Web 界面的 nginx 日志/var/log/nginx/openmediavault-webgui_error.log 与 openmediavault-webgui_access.log,目录由 OMV_NGINX_SITE_WEBGUI_LOG_DIR 决定

日志怎么看、先看哪一类,见查看系统日志。

继续浏览 ​

OpenMediaVault 非官方中文使用指南,与 openmediavault 项目及其开发者无隶属关系。