
Scientific Linux 6.3을 실행하는 노트북이 여러 대 있습니다.
일시 중지 기능은 한 가지 문제를 제외하고는 매우 잘 작동합니다.
노트북이 Samba 공유를 마운트하고 이 공유를 통해 몇 개의 비디오를 재생하면 일시 중지 기능이 작동을 멈추고 노트북에 갑자기5일시중지할 시간이 몇 분 남았습니다.
다시 말하지만, 이 문제는 삼바 공유를 통해 비디오를 시청한 경우에만 발생합니다.
질문: 왜? Samba는 일시 중지 기능이 포함된 직후에 무언가를 열어두고 5분의 시간 초과가 필요합니까?
무슨 일이 일어나고 있는지 알아내기 위해 어디를 봐야 할지에 대한 제안을 주시면 감사하겠습니다. 또는 일시 중지 버튼이 언제 눌렸는지 확인하는 bash 스크립트를 작성하여 시스템에 xy* 작업을 수행할 수 있는 방법도 있습니다.
(*xy=이 문제를 해결하는 모든 것)
답변1
저는 삼바 공유가 마운트되는 동안 연결이 중단되면 매우 나쁘게 반응하는 경험을 했습니다.
아마도 네트워크가 저장되기 전에 다운될 수 있으므로 시스템이 네트워크 연결 없이는 불가능한 삼바 공유를 사용하여 작업을 수행하려고 할 수 있습니다. 해결 방법은 일시 중단 시 자동으로 마운트 해제하는 것입니다(그리고 나중에 다시 마운트할 수도 있음).
#!/bin/bash
if [ $1 == "suspend" ]; then
umount -afl -t cifs
fi
이를 배치 /etc/pm/sleep.d/
하고 실행 가능하게 만들면 일시 중단될 때마다 실행되어야 합니다. 실제로 테스트할 수는 없지만 곧 발생한다면 댓글로 피드백을 남겨주세요. 그러나 프로그램이 여전히 공유에 있는 파일에 액세스하는 경우 문제가 발생합니다. -l
여전히 파일 시스템 트리에서 마운트 해제해야 하며 -f
공유 서버에 연결할 수 없을 때 작동하는지 확인해야 합니다.
이를 상태 저장으로 확장하고 이력서에서 마운트를 복원하려고 시도할 수 있습니다.
공식적인 출처를 찾을 수 없었습니다. 가장 좋은 방법은 Linux 커널 소스를 확인하고 장치가 일시 중지되도록 전송되는 순서를 확인하고 일시 중지 시 cifs가 수행하려는 작업 등을 확인하는 것입니다.
답변2
1)
sudo 권한을 구성합니다:
visudo
USERNAME ALL = NOPASSWD: /bin/mount //192.168.1.1/Share /home/USERNAME/Desktop/Share -t cifs*
USERNAME ALL = NOPASSWD: /bin/umount -f -a -t cifs
USERNAME ALL = NOPASSWD: /bin/umount -f -l -a -t cifs
USERNAME ALL = NOPASSWD: /sbin/modprobe -r -f cifs
================================================= =======================
2)
일반 사용자의 경우:
vi ~/.mountsamba.sh; chmod +x ~/.mountsamba.sh
#!/bin/bash
case $1 in
mount)
echo 'In progress...'
/usr/bin/sudo /bin/mount //192.168.1.1/Share /home/USERNAME/Desktop/Share -t cifs -o ro,bg,intr,soft,noexec,nosuid,nodev,password=,nolock
pkill nautilus
echo "MOUNTShare - `date`" | /usr/bin/logger
;;
umount)
echo 'folyamatban...'
/usr/bin/sudo /bin/umount -f -a -t cifs
/usr/bin/sudo /bin/umount -f -l -a -t cifs
sleep 5
/usr/bin/sudo /sbin/modprobe -r -f cifs
pkill nautilus
echo "UMOUNTShare - `date`" | /usr/bin/logger
;;
*)
exit 1
;;
esac
================================================= ======================
3)
그놈 패널에 아이콘을 넣으세요:
gnome-terminal -x bash -c "/home/USERNAME/.mountsamba.sh mount"
gnome-terminal -x bash -c "/home/USERNAME/.mountsamba.sh umount"
================================================= ======================
4)
autofs를 사용하려면 다음을 수행하십시오.
vi /etc/auto.master
/- /etc/auto.samba --timeout=120
vi /etc/auto.samba
/home/USERNAME/Desktop/Share -fstype=cifs,bg,intr,soft,ro,noexec,nosuid,nodev,password=,nolock ://192.168.1.1/Share