通过 SSH 使用设备?

cul*_*rón 14 linux ssh sshfs ubuntu

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

如果我做

 $ sshfs pc2root@192.168.0.2:/ /media/pc2
Run Code Online (Sandbox Code Playgroud)

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

我做了

 culebrón@culebrón:/dev$ sudo ln -s /media/pc2/dev/sr0 dvdrw
Run Code Online (Sandbox Code Playgroud)

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

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

Kev*_*nko 17

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

% ls -l /dev/sda
brw-r----- 1 root disk 8, 0 Oct  9 20:59 /dev/sda
Run Code Online (Sandbox Code Playgroud)

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

这就是 SSHFS 软件无法通过网络提供设备文件的原因。

您将需要为此目的而制作的不同系统,例如webCDwriter


Sup*_*ire 12

如果你想远程访问一个块设备,有一个叫做' nbd '(网络块设备)的工具。我过去曾使用它来克隆硬盘驱动器,dd if=/dev/nbd0 of=/dev/hda并取得了合理的成功。

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

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


小智 6

Linux/UNIX 不是计划 9。“一切都是文件”并不意味着它们都是同一种文件。FIFO 和设备节点是主要示例。

不,你不能这样做。我的建议是使用虚拟写入器(celebron 写入图像、.iso 或其他文件)并通过 ssh 将其通过管道传输到 cdrecord。