我有一个带有外部硬盘的Raspbian9系统,它在引导期间作为/srv/file挂载。我正在运行PostgreSQL和BIND,这两个文件都驻留在该磁盘上。
在启动时,PostgreSQL通常无法启动,因为外部磁盘文件系统尚未挂载。绑定将启动,但出于同样的原因,对于存储在文件系统上的任何内容,名称解析都会失败。
systemctl list-units | grep mount告诉我,文件系统的系统d单元是srv-file.mount。然后我又去加了一句
Requires=srv-file.mount[Unit]部分的bind9.service和postgresql.service (没有任何其他的启动要求),但仍然没有用。
我遗漏了什么?
发布于 2021-06-13 16:57:45
根据医生们的说法,有一个专门针对挂载的选项:
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之外什么也不做。这似乎是一个与我想象中的不同的问题;显然,我编辑错了文件。
https://unix.stackexchange.com/questions/654112
复制相似问题