通过SSH使用设备吗?


14

我家里有2台装有Ubuntu的PC,它们之间有网络链接。

如果我做

 $ sshfs pc2root@192.168.0.2:/ /media/pc2

可以将远程设备用作本地设备吗?(在这种情况下:/media/pc2/dev/sr0作为本地DVD-RW)。最后,Unixes中的所有内容都是一个文件,对吗?

我做了

 culebrón@culebrón:/dev$ sudo ln -s /media/pc2/dev/sr0 dvdrw

但没有成功:Brasero和K3b没有看到任何DVD设备。

我知道,对于大多数任务而言,SSH和sshfs绰绰有余,但想知道是否存在通用解决方案。


SSHFS无法处理块设备。如果确实需要,请查看网络阻止设备
Zaz

Answers:


15

SSHFS不能那样工作-它处理文件,但不能处理设备。一切都是文件,但是文件类型很多,包括:常规文件,目录,符号链接,套接字,字符设备和块设备。

% ls -l /dev/sda
brw-r----- 1 root disk 8, 0 Oct  9 20:59 /dev/sda

该字母b表示这是一个块设备。ioctl除了正常的读取和写入功能外,还支持这些类型的文件。的目的ioctl是允许对设备执行“额外”操作。对于每种类型的设备,这些操作都不同:DVD设备可以打开/关闭门,但以太网设备不能。

这就是SSHFS软件无法使设备文件通过网络可用的原因。

您将需要为此目的而设计的其他系统,例如webCDwriter


1
我有点不敢相信webCDwriter仍然存在。
phresus

1
我从来没有尝试过-如果很烂,别怪我:D
凯文·潘科

11

如果要远程访问块设备,则有一个名为“ nbd ”(网络块设备)的工具。过去,我曾用它来克隆硬盘,dd if=/dev/nbd0 of=/dev/hda并取得了一定的成功。

但是,我怀疑这是否适用于光盘驱动器。

我认为您最好在远程计算机上本地运行刻录软件(例如使用X或VNC),并让它使用常规文件共享机制(如samba或NFS)提取文件。


6

Linux / UNIX不是Plan9。“一切都是文件”并不意味着它们都是相同的文件。FIFO和设备节点就是最好的例子。

不,你不能这样。我的建议是使用虚拟刻录机(celebron刻录映像,.iso或其他映像),并通过ssh通过管道将其刻录到cdrecord。


2

Brasero和K3b看不到DVD设备,因为本地计算机的OS内核看不到DVD设备。

远程挂载文件系统很容易;有诸如CIFS,NFS,AFS甚至SSHFS之类的网络协议可以处理文件访问的所有详细信息。但是低级设备访问是另一回事-请注意,这些协议都不允许例如对正在访问的文件系统进行重新分区或重新格式化。

您需要像iSCSI,FCoE(以太网光纤通道)或ATAoE(以太网ATA)这样的低级协议来完成您想做的事情。这将涉及到远程设备上的驱动程序级软件来导出设备,以及本地设备上的驱动程序级软件来附加到该设备。有一个称为Starport的Windows软件声称具有此功能,而一个Linux-iSCSI站点可以为您提供有关当前可能性的更多信息。

但是通常,这些技术在具有昂贵硬件的公司数据中心中使用。对于一般的家庭使用,您确实想在远程计算机上运行Brasero,而只是在本地系统上显示GUI窗口(通过X,VNC或其他远程桌面技术)。


1
AFAIK,iSCSI将不会发送ATAPI命令。远程X,FreeNX,VNC是很好的建议。
phresus

hmmm,也许不是,但是在Starport站点上作为iSCSI示例给出了刻录到远程光学设备的信息。为此可能需要SCSI刻录机设备。或使用ATAoE,(理论上)应该可以很好地处理ATAPI。
quack quixote 09年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.