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.service
network-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 유닛에 의해 실행되는 마운트 스크립트를 사용하는 대신, 두 개의 파일(마운트 유닛)을 생성해야 하는 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
. 다음에 재부팅하면 네트워크 공유가 마운트됩니다. 더 자세한 내용을 알아보려면수동.