• UntouchedWagons@lemmy.ca
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    1
    ·
    edit-2
    1 year ago

    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
    
    • Technoguyfication@lemmy.ml
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      1 year ago

      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)

      • Still@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        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

      • UntouchedWagons@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        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.

      • exu@feditown.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

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

      • UntouchedWagons@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        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.

        • hemko@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          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

      • ShustOne@lemmy.one
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Linux user here, this would have been super helpful to me in the past. I don’t think it’s that the world is full of master Linux users that don’t post, it’s that new people need more help and have more questions.

    • Sanjoooo@feddit.deOP
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      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.

          • sudo@lemmy.today
            link
            fedilink
            arrow-up
            1
            ·
            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.