我记得某些发行版过去常常fsck
在 x 启动后以常规方式运行。
fsck
如何将服务添加到启动进程中
- 部署在 rpm 发行版/Fedora、RHEL、Oracle、Suse 中?
- 部署在任何发行版/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]