我有一个带有外部硬盘的 Raspbian 9 系统,它在/srv/file
启动期间安装。我正在运行 PostgreSQL 和 BIND,两者都有驻留在该磁盘上的数据文件。
启动时,PostgreSQL 通常无法启动,因为外部磁盘文件系统尚未安装。 BIND 启动,但出于同样的原因,文件系统上存储的任何内容的名称解析都会失败。
systemctl list-units | grep mount
告诉我文件系统的 systemd 单位是srv-file.mount
.然后我去添加了
Requires=srv-file.mount
到和[Unit]
部分(都没有任何其他启动要求),但仍然无济于事。bind9.service
postgresql.service
我缺少什么?
答案1
根据文档,有一个专门用于安装的选项:
RequiresMountsFor=/srv/file/named
确保在本装置启动之前访问所需的所有安装/srv/file/named
都已就位。
这对 BIND 有效。
然而,对于 PostgreSQL,似乎还有一些其他错误。该服务似乎已关闭(Webmin 告诉我确实如此,并且使用它的应用程序也无法工作),但又systemctl status postgresql
告诉我它已启动:
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Sun 2021-06-13 18:48:18 CEST; 4min 57s ago
Process: 543 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 543 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/postgresql.service
查看单元文件告诉我它除了运行之外什么也不做true
。这似乎是一个与我想象的不同的问题;显然我编辑了错误的文件。