Sunday, May 5, 2024
 Popular · Latest · Hot · Upcoming
31
rated 0 times [  31] [ 0]  / answers: 1 / hits: 41845  / 2 Years ago, tue, september 13, 2022, 12:15:03

I have a headless Ubuntu 12.04 server in a datacenter 1500 miles away. Twice now on reboot the system decided it had to fsck. Unfortunately Ubuntu ran fsck in interactive mode, so I had to ask someone at my datacenter to go over, plug in a console, and press the Y key. How do I set it up so that fsck runs in non-interactive mode at boot time with the -y or -p (aka -a) flag?



If I understand Ubuntu's boot process correctly, init invokes mountall which in turn invokes fsck. However I don't see any way to configure how fsck is invoked. Is this possible?



(To head off one suggestion; I'm aware I can use tune2fs -i 0 -c 0 to prevent periodic fscks. That may help a little but I need the system to try to come back up even if it had a real reason to fsck, say after a power failure.)



In response to followup questions, here's the pertinent details of my /etc/fstab. I don't believe I've edited this at all from what Ubuntu put there.



UUID=3515461e-d425-4525-a07d-da986d2d7e04 /               ext4    errors=remount-ro 0       1
UUID=90908358-b147-42e2-8235-38c8119f15a6 /boot ext4 defaults 0 2
UUID=01f67147-9117-4229-9b98-e97fa526bfc0 none swap sw 0 0

More From » boot

 Answers
5

The setting I am looking for is in /etc/default/rcS, FSCKFIX=yes. This means "automatically repair filesystems with inconsistencies during boot" and causes fsck to run with the -y flag. It was set to no in both of my Ubuntu systems.



Even when set to no, the boot time fsck is still somewhat noninteractive. mountall runs fsck with -a, a synonym for -p, which means "automatically fix any filesystem problems that can be safely fixed without human intervention". Apparently -p drops to interactive mode if there are unsafe fixes to be made. To run fully automatically, you need -y or FSCKFIX=yes.



Here's the relevant bit of code from mountall.c



if (fsck_fix || mnt->fsck_fix) {
NIH_MUST (nih_str_array_add (&args, NULL, &args_len, "-y"));
} else {
NIH_MUST (nih_str_array_add (&args, NULL, &args_len, "-a"));
}

[#37584] Tuesday, September 13, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
skipu

Total Points: 366
Total Questions: 114
Total Answers: 112

Location: Saudi Arabia
Member since Mon, Sep 5, 2022
2 Years ago
;