我认为您可以使用网络块设备(NBD)来完成所需的工作。在有关该主题的Wikipedia页面上,提到了一个名为的工具nbd
。它由客户端和服务器组件组成。
例
在这种情况下,我将在Fedora 19笔记本电脑(服务器)上设置CDROM,并将其共享给Ubuntu 12.10系统(客户端)。
安装
$ apt-cache search ^nbd-
nbd-client - Network Block Device protocol - client
nbd-server - Network Block Device protocol - server
$ sudo apt-get install nbd-server nbd-client
共享CD
现在回到服务器(Fedodra 19),我使用它的包管理器YUM做类似的事情。完成后,我弹出CD并运行此命令以将其作为块设备共享出去:
$ sudo nbd-server 2000 /dev/sr0
** (process:29516): WARNING **: Specifying an export on the command line is deprecated.
** (process:29516): WARNING **: Please use a configuration file instead.
$
快速检查一下它是否正在运行:
$ ps -eaf | grep nbd
root 29517 1 0 12:02 ? 00:00:00 nbd-server 2000 /dev/sr0
root 29519 29071 0 12:02 pts/6 00:00:00 grep --color=auto nbd
挂载CD
现在回到Ubuntu客户端,我们需要像这样连接到nbd-server
using nbd-client
:
$ sudo nbd-client greeneggs 2000 /dev/nbd0
Negotiation: ..size = 643MB
bs=1024, sz=674983936 bytes
我们可以使用以下命令确认Ubuntu系统上是否存在块设备lsblk
:
$ sudo lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
sda1 8:1 0 243M 0 part /boot
sda2 8:2 0 1K 0 part
sda5 8:5 0 465.5G 0 part
ubuntu-root (dm-0) 252:0 0 461.7G 0 lvm /
ubuntu-swap_1 (dm-1) 252:1 0 3.8G 0 lvm [SWAP]
sr0 11:0 1 654.8M 0 rom
nbd0 43:0 0 643M 1 disk
nbd0p1 43:1 0 643M 1 part
现在我们挂载它:
$ sudo mount /dev/nbd0p1 /mnt/
mount: block device /dev/nbd0p1 is write-protected, mounting read-only
$
奏效了吗?
悬念杀死了我,我们得到了升空:
$ sudo ls /mnt/
EFI GPL isolinux LiveOS
我在Fedora 19笔记本电脑中安装了CentOS LiveCD的内容,并能够将其作为网络的块设备安装在Ubuntu上。
自动播放和自动挂载?
在上述设置中,我必须手动安装DVD。
在调查这种方法是否适用于自动播放和自动挂载的合理性时,Ubuntu的自动播放功能不可用,但是当我弹出磁盘时nbd-client
,它nbd-server
仍然存在。当我把DVD放回去时,我能够mount
在Ubuntu上运行命令,这样就可以很好地重新安装DVD。
因此,我假设您可以在Ubuntu上使用UDEV规则来检测此更改并自动执行automount / autoplay。我不会尝试全部尝试,但是我看不到任何东西会让我认为它不起作用。
ioctl
DVD所需的特殊文件。几年前,我曾将其用于交换网络的错误想法,然后直到现在忘记了……(更好的链接:linux-mag.com/id/7118)