this post was submitted on 06 Aug 2023
172 points (97.3% liked)

linuxmemes

20484 readers
948 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 14 points 1 year ago* (last edited 1 year ago) (4 children)

Here's how to mount an nfs share:

#cat /etc/systemd/system/mnt.data.mount

[Unit]
Description=nfs mount script

[Mount]
What=192.168.0.30:/mnt/tank/Media
Where=/mnt/data
Type=nfs4

[Install]
WantedBy=remote-fs.target
[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (3 children)

I’ve always mounted network shares in fstab, what’s the benefit to doing it with systemd?

(Also, for those of you learning, this method only works on systemd-based distros)

[–] [email protected] 2 points 1 year ago

you can stop and start it via systemctl and systemd is going to make mounts for fstab entries automatically, I just put local drives in my fstab so that way I can copy mount files between machines

[–] [email protected] 1 points 1 year ago

With these systemd mount files I don't need to touch the fstab, I can use ansible to copy the file, enable the service then start it. I can also have other services like Docker, Jellyfin or whatever to depend on that service. If the nfs share can't be mounted then systemd won't try to start docker.

[–] [email protected] 1 points 1 year ago

Systemd can retry mounting based on the restart policy in case you have an interruption.

[–] [email protected] 3 points 1 year ago (1 children)

Kinda interested now, why would you use systemd script for this instead of fstab ?

[–] [email protected] 1 points 1 year ago (1 children)

With these systemd mount files I don't need to touch the fstab, I can use ansible to copy the file, enable the service then start it. I can also have other services like Docker, Jellyfin or whatever to depend on that service. If the nfs share can't be mounted then systemd won't try to start docker.

[–] [email protected] 1 points 1 year ago

Oh that's actually really good reason with docker containers that rely on the NFS share. Thanks, I'm gonna steal this

[–] [email protected] 0 points 1 year ago (1 children)

Meanwhile I found a solution using fstab.

What's the advantage of using a systemd script?

I'll probably switch to simple script, since I don't like the idea of my laptop shouting my NAS access credentials into any available random network on startup.

[–] [email protected] 1 points 1 year ago (1 children)

How would you do this with fstab? (Working with an smb share which I'm assuming is standard)

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago

You may want to consider adding nofail and x-systemd.device-timeout opinions on the mount as well if the NFS isn't critical to the device booting, and speed up your boot process a bit.