![growisofs 失败,无法 O_EXCL /dev/scd0:有人及时重新挂载吗?](https://linux22.com/image/1105553/growisofs%20%E5%A4%B1%E8%B4%A5%EF%BC%8C%E6%97%A0%E6%B3%95%20O_EXCL%20%2Fdev%2Fscd0%EF%BC%9A%E6%9C%89%E4%BA%BA%E5%8F%8A%E6%97%B6%E9%87%8D%E6%96%B0%E6%8C%82%E8%BD%BD%E5%90%97%EF%BC%9F.png)
当尝试刻录 DVD 时,有时会发生 growisofs 失败的情况,并显示以下信息:
$ sudo growisofs -speed=8 -dvd-compat -Z /dev/scd0 -J -r .
Executing 'genisoimage -J -r . | builtin_dd of=/dev/scd0 obs=32k seek=0'
I: -input-charset not specified, using utf-8 (detected in locale settings)
0.23% done, estimate finish Fri Sep 16 14:49:33 2011
0.46% done, estimate finish Fri Sep 16 14:49:33 2011
0.69% done, estimate finish Fri Sep 16 14:49:33 2011
:-( unable to O_EXCL /dev/scd0: someone was in time to remount?
这似乎只发生在连续刻录多张 DVD 时,我认为当我弹出自动安装的光盘而没有先手动卸载它时,就会发生这种情况,这意味着有什么东西让驱动器处于忙碌状态,lsof
但是fuser
却找不到仍在访问驱动器的进程。重新启动可以解决此问题。
我如何才能找出导致此问题的过程?
答案1
/etc/fstab
如果您的 中有以下行,则可能会发生这种情况cdrom
:
/dev/cdrom /media/cdrom auto rw,noauto,user,exec 0 0
将其更改为
/dev/cdrom /media/cdrom iso9660 rw,noauto,user,exec 0 0
如果仍然发生这种情况,请重新启动并尝试。
答案2
我现在已经再次遇到了几次这个问题,并且我有理由相信,这实际上只不过是打开了一个仍然在 /cdrom/ 中的 shell,从而阻止了驱动器的正确卸载。
仍然不知道如何找到导致 shell 出现问题的lsof
或fuser
,但还有另一种方法应该可行:
sudo ls -l /proc/*/cwd | grep -i cdrom