Использовать устройство через SSH?

14

У меня есть 2 ПК с Ubuntu дома и сетевой канал между ними.

Если я сделаю

 $ 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 более чем достаточно, но хотелось бы знать, есть ли общее решение.

culebrón
источник
SSHFS не может обрабатывать блочные устройства. Посмотрите на устройство сетевого блока, если это то, что вам действительно нужно.
Заз

Ответы:

15

SSHFS не работает таким образом - он обрабатывает файлы, но не устройства. Все является файлом, но существует много типов файлов, включая: обычные файлы, каталоги, символические ссылки, сокеты, символьные устройства и блочные устройства.

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

Буква bуказывает на то, что это блочное устройство. Эти типы файлов поддерживают ioctlв дополнение к обычным функциям чтения и записи. Цель ioctlсостоит в том, чтобы предоставить способ выполнять «дополнительные» операции с устройством. Эти операции различны для каждого типа устройства: устройство DVD может открывать / закрывать свою дверь, но устройство Ethernet не может.

Вот почему программное обеспечение SSHFS не может сделать файлы устройств доступными по сети.

Для этого вам понадобится другая система, например webCDwriter .

Кевин Панко
источник
1
Я вроде не могу поверить, что webCDwriter все еще рядом.
Фрес
1
Я никогда не пробовал - если это отстой, не вините меня: D
Кевин Панко
11

Если вы хотите получить удаленный доступ к блочному устройству, есть такой инструмент, который называется nbd (Сетевое блочное устройство). Я использовал это в прошлом для клонирования жесткого диска dd if=/dev/nbd0 of=/dev/hdaс разумным успехом.

Однако я сомневаюсь, что это будет работать для оптических приводов.

Я думаю, что вам лучше запустить локально записывающее программное обеспечение на удаленной машине (скажем, с X или VNC), и оно будет извлекать файлы, используя обычные механизмы обмена файлами, такие как samba или NFS.

Suppressingfire
источник
6

Linux / UNIX - это не План 9. «Все это файл» не означает, что это все файлы одного типа. FIFO и узлы устройств являются яркими примерами.

Нет, вы не можете сделать это таким образом. Я бы порекомендовал использовать виртуального писателя (например, celebron пишет в образ, .iso или другой) и направить его в cdrecord через ssh.

phresus
источник
2

Brasero и K3b не видят устройство DVD, потому что ядро ​​ОС вашего локального компьютера не видит устройство DVD.

Удаленно монтировать файловые системы; Существуют сетевые протоколы, такие как CIFS, NFS, AFS и даже SSHFS для обработки всех деталей доступа к файлам. Но низкоуровневый доступ к устройствам - это другое животное - обратите внимание, что ни один из этих протоколов не позволил бы, например, перераспределить или переформатировать файловую систему, к которой осуществляется доступ.

Вам понадобится протокол низкого уровня, такой как iSCSI, FCoE (Fibre Channel через Ethernet) или ATAoE (ATA через Ethernet), чтобы делать то, что вы хотите делать. Это может включать программное обеспечение уровня драйвера на удаленном устройстве для экспорта устройства и программное обеспечение уровня драйвера на локальном устройстве для подключения к нему. Есть программное обеспечение Windows под названием Starport, которое претендует на эту возможность, и сайт Linux-iSCSI, который может дать вам больше информации о том, что в настоящее время возможно.

Но, как правило, эти технологии используются в корпоративных дата-центрах с дорогостоящим оборудованием. Для общего домашнего использования вы действительно хотите запустить Brasero на своем удаленном компьютере и просто отобразить окно GUI в вашей локальной системе (через X, VNC или другую технологию удаленного рабочего стола).

шарлатан
источник
1
AFAIK, iSCSI не будет отправлять команды ATAPI. Remote X, FreeNX, VNC - отличные предложения.
Фрес
хм, может и нет, но запись на удаленное оптическое устройство приведена в качестве примера iSCSI на сайте Starport. для этого может понадобиться устройство записи SCSI. или используйте ATAoE, который (теоретически) должен нормально обрабатывать ATAPI.
Квик-кихот