cdrskin 出现“设备或资源繁忙”

cdrskin 出现“设备或资源繁忙”

myiso.iso我正在尝试使用在空白 CD R 上刻录 iso ( ) cdrskin,但是出现以下错误:

# cdrskin  myiso.iso
cdrskin 1.4.6 : limited cdrecord compatibility wrapper for libburn
cdrskin: scanning for devices ...
cdrskin: SORRY : Cannot open busy device '/dev/sr0'
cdrskin: ( Most recent system error: 16  'Device or resource busy' )
cdrskin: SORRY : Cannot open busy device '/dev/sr0'
cdrskin: ( Most recent system error: 16  'Device or resource busy' )
cdrskin: ... scanning for devices done
cdrskin: NOTE : No usable drive detected.
cdrskin: FATAL : No drive found. Cannot prepare track.
cdrskin: FATAL : failed to attach fifo.

我如何识别使用该设备的程序?

lsof /dev/sr0并且fuser /dev/sr0不产生任何输出。

答案1

您是以 root 身份运行该程序的吗?大多数情况下,当访问 CD 或磁盘驱动器时,ubuntu 在尝试以当前用户身份访问时会出现权限问题。

答案2

尝试

mount | fgrep sr0

cdrskin 消息表明某个进程已打开设备文件,并且O_EXCL带有 Linux 设备文件特定含义中的标志。这不是访问权限问题,而是安装和刻录程序之间的锁定协议。

现在lsof似乎检测fuser不到。我刚刚在 Debian 8、内核 3.16 上测试过。没有输出。mount/dev/sr4

如果我打开/dev/sr4由某些用户进程安装的程序,它会被检测到 fuser但不会被检测到lsof

一旦我卸载驱动器,lsof就会发现用户进程。


最后一招:

cdrskin有一个选项--drive_not_o_excl可以禁用锁定机制。我刚刚测试过,使用此选项,挂载的/dev/sr4 可以通过 访问cdrskin

当然,我们无法预测这会对文件的不可见用户进程产生什么影响,或者该用户是否会干扰 CD 刻录运行。

相关内容