如何像常规服务一样在启动时添加 fsck?

如何像常规服务一样在启动时添加 fsck?

我记得某些发行版过去常常fsck在 x 启动后以常规方式运行。

fsck如何将服务添加到启动进程中

  1. 部署在 rpm 发行版/Fedora、RHEL、Oracle、Suse 中?
  2. 部署在任何发行版/Arch、Debian、Slackware 中?

谢谢

答案1

创建文件/etc/systemd/system/MyFsckScript.service(随意替换“我的Fsck脚本”,其余部分不要更改),内容如下:

[Unit]
Description=Filesytem check
Documentation=man:fsck(8)
Before=local-fs.target

[Service]
ExecStart=/sbin/fsck REPLACETHISBYYOURDRIVE

[Install]
Alias=fsck.service

现在运行:systemctl enable fsck从现在开始,它将在每次启动时启动。

对于某些发行版,需要对此答案进行一些“调整”,但这应该是一个好的开始。

答案2

您可以将各个 ext* 文件系统设置为fsck每次挂载时都需要使用

tune2fs -c 1 /dev/sda1  # replace with each device name

fsck.xfs是一个空操作。它只是返回 true。不fsck.zfs存在。我还没有检查其他文件系统类型。不需要 systemd 服务。

答案3

Systemd 自带systemd-fsck,可以启用它在启动时检查 FS:

sudo systemctl enable systemd-fsck-root.service

或者

sudo systemctl enable [email protected]

man systemd-fsck

相关内容