首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在启动服务之前等待挂载

在启动服务之前等待挂载
EN

Unix & Linux用户
提问于 2021-06-13 16:24:02
回答 1查看 2.8K关注 0票数 2

我有一个带有外部硬盘的Raspbian9系统,它在引导期间作为/srv/file挂载。我正在运行PostgreSQL和BIND,这两个文件都驻留在该磁盘上。

在启动时,PostgreSQL通常无法启动,因为外部磁盘文件系统尚未挂载。绑定将启动,但出于同样的原因,对于存储在文件系统上的任何内容,名称解析都会失败。

systemctl list-units | grep mount告诉我,文件系统的系统d单元是srv-file.mount。然后我又去加了一句

代码语言:javascript
复制
Requires=srv-file.mount

[Unit]部分的bind9.servicepostgresql.service (没有任何其他的启动要求),但仍然没有用。

我遗漏了什么?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-06-13 16:57:45

根据医生们的说法,有一个专门针对挂载的选项:

代码语言:javascript
复制
RequiresMountsFor=/srv/file/named

确保访问/srv/file/named所需的所有挂载都在此单元启动之前就位。

这对BIND有效。

然而,对于PostgreSQL来说,似乎还有其他错误。该服务似乎处于瘫痪状态(Webmin告诉我它是的,使用它的应用程序也不起作用),然而systemctl status postgresql告诉我它已经启动了:

代码语言:javascript
复制
● 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之外什么也不做。这似乎是一个与我想象中的不同的问题;显然,我编辑错了文件。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/654112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档