시스템 종료에 꽤 오랜 시간이 걸렸고(Debian 8.1을 사용하고 있습니다) 시스템을 종료하기 전에 네트워크 드라이브를 마운트 해제하면 문제를 해결할 수 있다는 것을 알았습니다. 모든 드라이브가 마운트 해제되기 전에 네트워크 연결이 끊어진 것 같습니다.
이를 자동화하기 위해 systemd 서비스를 생성하려고 시도했지만 작동하지 않았습니다. 즉, 제때에 제거되지 않은 것 같았고 종료 프로세스에 여전히 오랜 시간이 걸렸습니다. 내 접근 방식은 다음에서 영감을 받았습니다.이 질문에 대한 대답그리고 systemd.service 매뉴얼 페이지를 탐색해 보세요...
[unit]
description=Unmount network drives on shutdown
Before=shutdown.target reboot.target halt.target network.target
[Service]
type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/bin/sh umount /media/networkdrive1 /media/networkdrive2
[Install]
WantedBy=multi-user.target
편집하다
네트워크 드라이브는 다음 줄을 사용하여 /etc/fstab에 마운트됩니다.
//192.168.1.5/networkdrive1 /media/nw1 cifs _netdev,uid=myuser,credentials=/home/myuser/.credfile
//192.168.1.5/networkdrive2 /media/nw2 cifs _netdev,uid=myuser,credentials=/home/myuser/.credfile
답변1
3일간의 검색과 테스트 끝에 Debian-Jessie, Linux Mint, i386(32비트) 설치를 위한 작동하는 솔루션을 개발했습니다. 먼저 마운트 해제하지 않으면 종료 또는 재부팅 시 120초 동안 중단되는 네트워크 cifs 공유가 있습니다. 이 스크립트를 사용하면 재부팅하거나 종료하기 전에 공유를 수동으로 마운트 해제할 필요가 없습니다.
종료 및 재부팅 시 실행되는 자동 cifs umount 스크립트
다음 스크립트를 만듭니다
/etc/init.d/aaaumount
(스크립트는 숫자 및 알파벳 순서로 실행되므로aaa
먼저 실행됩니다).#!/bin/sh # # aaaumount initscript # ### BEGIN INIT INFO # Provides: aaaumount # Required-Start: $local_fs $remote_fs # Required-Stop: $remote_fs # Default-Start: S # Default-Stop: 0 1 6 # Short-Description: umounts cifs shares # Description: This script unmounts cifs shares ### END INIT INFO case "$1" in stop) umount -t cifs -af esac
실행 가능하게 만드세요:
sudo chmod 755 /etc/init.d/aaaumount
/lib/systemd/system/에서 서비스에 대한 심볼릭 링크를 만듭니다.
cd /lib/systemd/system/ sudo ln -s /dev/null aaaumount.service
/etc/rc0.d
/etc/rc6.d
및 (0
및6
종료/다시 시작 런레벨) 에 심볼릭 링크를 만듭니다 .sudo ln -s /etc/init.d/aaaumount /etc/rc0.d/K01aaaumount sudo ln -s /etc/init.d/aaaumount /etc/rc6.d/K01aaaumount
활성화하세요:
sudo systemctl enable aaaumount.service
답변2
_netdev
에서 원격 파일 시스템에 마운트 옵션을 추가합니다 /etc/fstab
. 그러면 systemctl daemon-reload
네트워크 설치가 remote-fs.target
종속성을 확인해야 합니다 systemctl list-dependencies remote-fs.target
. 이러한 파일 시스템은 네트워크가 종료되기 전에 마운트 해제됩니다.
답변3
몇 번의 시행착오 끝에 저는 wpa_supplicant.service
Ubuntu 16.04에서 Wi-Fi를 사용하는 데 필요한 시스템이 실제로 systemd에 의해 관리되지 않는다는 사실을 알아냈습니다(그리고 systemd 장치는 "비활성화"되었습니다). DBus를 통해 시작되는 것으로 보입니다. 아직도 왜인지는 모르겠지만 꺼졌어앞으로 network-online.target
그리고 network.target
.
마지막으로 드라이브가 제대로 마운트 해제되었는지 확인하기 위해 드라이브를 After=graphical.target
마운트 장치에 추가했습니다. 이렇게 하려면 다음과 같이 x-systemd.requires=graphical.target
파일에 옵션을 추가하면 됩니다./etc/fstab
6.5 이전 버전에서는 그렇지 않았던 mount.cifs
으로 시작하는 옵션을 무시하려면 유틸리티(제 경우에는 )를 설치해야 합니다 .x-
mount.cifs