睡眠或休眠后 CIFS 挂载无法恢复

睡眠或休眠后 CIFS 挂载无法恢复

我有 Linux Mint Mate 17.3。我的 fstab 中定义了以下挂载点:

//at.xxxxxx-it.net/ORG  /mnt/L  cifs    user,auto,credentials=/home/liptak/.cifs.secret 0   1
//at.xxxxxx-it.net/shared   /mnt/M  cifs    user,auto,credentials=/home/liptak/.cifs.secret 0   1

如果我启动,它就可以工作。一旦我让计算机进入睡眠或休眠状态,它就不再工作了。

liptak@vnwha-ent034 ~ $ ls -la /mnt/
összesen 20
drwxr-xr-x  5 root root 4096 febr  29 13:33 .
drwxr-xr-x 25 root root 4096 márc  30 10:14 ..
drwxr-xr-x  2 root root 4096 dec   22 12:33 L
drwxr-xr-x  2 root root 4096 febr  29 13:33 M
drwxr-xr-x  2 root root 4096 febr  29 13:33 U

我尝试了以下操作:

  • ls /mnt/L-> 挂起,无法中断
  • sudo mount -a-> 挂起
  • sudo umount -a -t cifs-> umount: /mnt/L: device is busy
  • lsof | grep /mnt/L-> 挂起
  • fuser -km /mnt/L-> 挂起,无法中断
  • sudo umount -f /mnt/L->/mnt/L: device or resource is busy
  • sudo umount -l /mnt/L-> 正常返回,但随后sudo mount -a再次挂起。

我哪里做错了?我该如何调查?

答案1

如果您对此共享有疑问,您可以在休眠/挂起时卸载它,并在恢复时重新挂载它。
为此,您应该在中创建一个脚本/etc/pm/sleep.d/,调用它50-share_handling(例如),并在其中输入以下几行:

#!/bin/sh
# Unmount CIFS share on hibernate/suspend and remount it on resume

case "$1" in
        hibernate|suspend)
                umount /mnt/L
                umount /mnt/M
                ;;
        thaw|resume)
                mount /mnt/L
                mount /mnt/M
                ;;
        *) exit $NA
                ;;
esac

确保它是可执行的。
更多脚本示例可在此处找到:/usr/lib/pm-utils/sleep.d

来源对于 Debian Lenny 来说,应该对 Ubuntu 有效。

相关内容