[ale] systemd - howto wait for _all_ fsck's to finish before starting system

Phil Turmel philip at turmel.org
Fri Dec 1 10:02:34 EST 2023


Hmm.  Probably need:

 > [Unit]
 > Requires=home.mount
 > After=home.mount

based on systemd.unit(5)

On 12/1/23 09:59, Phil Turmel via Ale wrote:
> Hi Steve,
> 
> The tool you need is a dependency on the mount in the affected services.
> 
> If you do
> 
> # systemctl list-units
> 
> you should find the precise name of your home directory's dynamic mount 
> unit (automatically generated), typically "home.mount".
> 
> Create a supplement for cron with:
> 
> # systemctl edit cron.service
> 
> and put this in the supplement (aka override):
> 
>  > [Unit]
>  > Requires=home.mount
> 
> Then your cron service won't start until /home is mounted.
> 
> Do similar to any other services affected.
> 
> On 12/1/23 08:00, Steve Tynor via Ale wrote:
>> Ubuntu Server 22.04 LTS.  I have a fairly large file system (/home) 
>> that I wish to fsck at boot.  /etc/fstab has:
>>
>>      /dev/disk/by-uuid/b4d368cd-e22e-4c85-b261-c0d785de344e /boot ext4 
>> defaults 0 1
>>      /dev/md/ricotta:1     /home     ext4 defaults,nofail,discard 0 2
>>
>> On boot, the /boot filesystem get's fsck'd and then systemd seems to 
>> immediately start the rest of the system in parallel with fsck'ing 
>> /home.    This is a problem since I have some cron jobs, docker 
>> containers and other services that rely on directories in /home. Those 
>> services don't startup nicely if the fsck hasn't finished.
>>
>> I'm guessing I could add [Wants] annotation to various .service files 
>> (if I could figure out what base service to target), but 1) it seems 
>> like this should work "out of the box", 2) editing half a dozen system 
>> provided .service files seems fiddly and error prone.
>>
>> I've not found any ready-made advice via google.   Which surprises me 
>> - surely wanting to check _all_ file systems before starting the rest 
>> of the system is not _that_ uncommon?
>>
>> (please don't let this devolve into a systemd bashing thread - I don't 
>> like systemd, but I've chosen to use Ubuntu and want to live within 
>> its expectations...)
>>
>> Thanks for any advice!
>>
>> Steve



More information about the Ale mailing list