起動時にsystemdを使用してネットワークドライブをマウントする

起動時にsystemdを使用してネットワークドライブをマウントする

systemd-serviceというスクリプトを使用して、起動時にローカルNASをマウントしようとしています。昨日、私はDebian 11-Installで同じことをしました。今日、私はArchでスクリプトを実行するとネットワークに接続できない問題に直面しました。これはサービスです:

[Unit]
Description=mount FRITZ.NAS network share
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/etc/systemd/system/connect_fritz_nas

[Install]
WantedBy=multi-user.target

実行スクリプトは次のとおりです。

#!/bin/bash

### connecting to fritz nas
### cannot copy without "noserverino"-option

sudo mount -t cifs -o credentials=/home/user/.smbcredentials,vers=2.1,_netdev,noserverino,uid=1000,gid=1000 //192.168.178.1/FRITZ.NAS /home/user/networkshare

他の記事や記事で読んだように(アーチスウィキ無料デスクトップウィキ)を達成するにはsystemd-networkd.service有効にする必要があります。systemd-networkd-wait-online.servicenetwork-online.target

systemctl status connect-fritz-nas.service それにもかかわらず、システムを再起動して実行すると、次のような出力が表示されます。

× connect-fritz-nas.service - mount FRITZ.NAS network share
     Loaded: loaded (/etc/systemd/system/connect-fritz-nas.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Tue 2022-01-04 09:24:08 CET; 17min ago
    Process: 513 ExecStart=/etc/systemd/system/connect_fritz_nas (code=exited, status=32)
   Main PID: 513 (code=exited, status=32)
        CPU: 19ms

Jan 04 09:24:08 wooden-arch-box systemd[1]: Starting mount FRITZ.NAS network share...
Jan 04 09:24:08 wooden-arch-box sudo[517]:     root : PWD=/ ; USER=root ; COMMAND=/usr/bin/mount -t cifs -o credentials=/home/hendrik/.smbcredentials,vers=2.1,_netdev,noserverino,uid=1000,gi>
Jan 04 09:24:08 wooden-arch-box sudo[517]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Jan 04 09:24:08 wooden-arch-box connect_fritz_nas[532]: mount error(101): Network is unreachable
Jan 04 09:24:08 wooden-arch-box connect_fritz_nas[532]: Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
Jan 04 09:24:08 wooden-arch-box sudo[517]: pam_unix(sudo:session): session closed for user root
Jan 04 09:24:08 wooden-arch-box systemd[1]: connect-fritz-nas.service: Main process exited, code=exited, status=32/n/a
Jan 04 09:24:08 wooden-arch-box systemd[1]: connect-fritz-nas.service: Failed with result 'exit-code'.
Jan 04 09:24:08 wooden-arch-box systemd[1]: Failed to start mount FRITZ.NAS network share.

ネットワークに接続できないことを伝えます。私はこれをfstab代わりに使用できることを知っていますが、fstabでも同じ問題があります。私が監督したのか、それとも何か間違っているのでしょうか?

ベストアンサー1

systemdユニットによって実行されるマウントスクリプトを使用する代わりに、2つのファイル(マウントユニット)を生成する必要があるsystemd.automountを使用しました。 Systemd.automountは、自動マウントデバイスを使用してマウントデバイスを参照します。どちらのファイルも同じ名前でなければなりません(拡張子を除く)。一つはhome-user-networkshare.automount

[Unit]
Description=Automount networkshare

[Automount]
Where=/home/user/networkshare

[Install]
WantedBy=multi-user.target

もう一つはhome-user-networkshare.mount

[Unit]
Description=mounting the fritz nas
Wants=network-online.target
After=network-online.target

[Mount]
What=//192.168.178.1/FRITZ.NAS
Where=/home/user/networshare
Type=cifs
Options=credentials=/home/user/.smbcredentials,vers=2.1,noserverino,uid=1000,gid=1000

[Install]
WantedBy=multi-user.target

それからsystemctl enable home-user-networkshare.mountそしてsystemctl enable home-user-networkshare.mount。次に再起動すると、ネットワーク共有がマウントされます。詳細については、手動

おすすめ記事