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
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)
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.
Kinda interested now, why would you use systemd script for this instead of fstab ?
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.
I’ve had Linux problems before too when I was still trying to use it and I’d post the issues on like 4-5 different active forums and never get anything to solve it. So posting a meme acting like something is impossible seems like an amazing way to get instant help from the Linux knights.
Fwiw, as someone also recently new to Linux, I thought this captured part of the experience brilliantly, and without malice.
Of course op probably went on to google (and find) the answer, so I agree with you that getting the answer with this post was probably not the point. But it’s a quality shitpost, and I endorse it! 😀
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.
How would you do this with fstab? (Working with an smb share which I’m assuming is standard)
Googling an issue and copy pasting the first terminal code you see on the first result.
Googling is so difficult for a Linux noob, and it takes a whole weekend to go through forums looking for solutions and commands to paste. I’m having much more success asking ChatGPT. ChatGPT and the Steam Deck have been the biggest factors in making me use Linux more and more.
man you need --help
Something that works fairly well for me:
- Make a copy of the file you’re working
sudo copy /etc/fstab /etc/fstab.bak
- Ask a particular question to ChatGPT
How do I mount a samba share in Ubuntu Server 22.04?
- Read through the commands and try them out. ChatGPT is great for stuff like this, especially with follow-up questions, and giving you detailed info on error messages.
- If you fubar, then simply restore your backup file and try again.
- ChatGPT gives bad command, system fails to boot
- Drops into emergency shell
- Ask ChatGPT how to fix fstab from emergency shell
- Goto 1), rinse and repeat
You can also replace ChatGPT with Devin and achieve the same results*
*Your mileage may vary depending on the quality of your Devin
I use SSHFS and some pretty simple helper scripts for all my shared folder needs. Works pretty well IMO. I’ve never really used NFS nor mounted SMB shares on a Linux machine.