Używać urządzenia przez SSH?

14

Mam 2 komputery z Ubuntu w domu i połączenie sieciowe między nimi.

Jeśli zrobię

 $ sshfs [email protected]:/ /media/pc2

czy mogę używać urządzenia zdalnego jako lokalnego? (w tym przypadku: /media/pc2/dev/sr0jako lokalny dysk DVD-RW). Ostatecznie wszystko w Uniksach jest plikiem, prawda?

Zrobiłem

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

ale bez powodzenia: Brasero i K3b nie widzą żadnego urządzenia DVD.

Wiem, że dla większości zadań SSH i sshfs są więcej niż wystarczające, ale chciałbym wiedzieć, czy istnieje ogólne rozwiązanie.

culebrón
źródło
SSHFS nie obsługuje urządzeń blokowych. Zajrzyj do Network Block Device, jeśli jest to coś, czego naprawdę potrzebujesz.
Zaz

Odpowiedzi:

15

SSHFS nie działa w ten sposób - obsługuje pliki, ale nie urządzenia. Wszystko jest plikiem, ale istnieje wiele rodzajów plików, w tym: zwykłe pliki, katalogi, dowiązania symboliczne, gniazda, urządzenia znakowe i urządzenia blokowe.

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

Litera boznacza, że ​​jest to urządzenie blokowe. Te typy plików obsługują ioctloprócz zwykłych funkcji odczytu i zapisu. Celem ioctljest umożliwienie wykonania dodatkowych operacji na urządzeniu. Operacje te są różne dla każdego typu urządzenia: urządzenie DVD może otwierać / zamykać drzwi, ale urządzenie Ethernet nie.

Dlatego oprogramowanie SSHFS nie może udostępniać plików urządzeń w sieci.

Będziesz potrzebował innego systemu stworzonego do tego celu, na przykład webCDwriter .

Kevin Panko
źródło
1
Nie mogę uwierzyć, że webCDwriter wciąż istnieje.
fresus,
1
Nigdy tego nie próbowałem - jeśli jest do bani, nie obwiniaj mnie: D
Kevin Panko
11

Jeśli chcesz uzyskać zdalny dostęp do urządzenia blokowego, istnieje takie narzędzie o nazwie „ nbd ” (Network Block Device). Używałem tego w przeszłości do klonowania dysku twardego przy dd if=/dev/nbd0 of=/dev/hdarozsądnym sukcesie.

Wątpię jednak, aby to zadziałało w przypadku napędów optycznych.

Myślę, że lepiej będzie, jeśli uruchomisz oprogramowanie do nagrywania lokalnie na zdalnej maszynie (powiedzmy X lub VNC) i niech pobierze pliki przy użyciu zwykłych mechanizmów udostępniania plików, takich jak samba lub NFS.

Tłumienie ognia
źródło
6

Linux / UNIX nie są planem 9. „Wszystko jest plikiem” nie oznacza, że ​​wszystkie są tego samego rodzaju plikami. FIFO i węzły urządzeń są najlepszymi przykładami.

Nie, nie możesz tego zrobić w ten sposób. Radziłbym użyć wirtualnego programu do zapisu (celebron zapisuje obraz, .iso lub inny) i przesłać go do cd-record na ssh.

fresus
źródło
2

Brasero i K3b nie widzą urządzenia DVD, ponieważ jądro systemu operacyjnego komputera lokalnego nie widzi urządzenia DVD.

Zdalny montaż systemów plików jest łatwy; istnieją protokoły sieciowe, takie jak CIFS, NFS, AFS, a nawet SSHFS do obsługi wszystkich szczegółów dostępu do plików. Ale dostęp do urządzenia na niskim poziomie jest innym zwierzęciem - należy pamiętać, że żaden z tych protokołów nie zezwalałby na przykład na ponowne partycjonowanie lub formatowanie systemu plików, do którego uzyskiwany jest dostęp.

Potrzebujesz protokołu niskiego poziomu, takiego jak iSCSI, FCoE (Fibre Channel przez Ethernet) lub ATAoE (ATA przez Ethernet), aby robić to, co chcesz. Wymagałoby to oprogramowania na poziomie sterownika na zdalnym urządzeniu w celu wyeksportowania urządzenia oraz oprogramowania na poziomie sterownika na urządzeniu lokalnym w celu podłączenia do niego. Istnieje oprogramowanie Windows o nazwie Starport, które korzysta z tej możliwości, oraz witryna Linux-iSCSI, która może dostarczyć więcej informacji o tym, co jest obecnie możliwe.

Ale ogólnie rzecz biorąc, technologie te są wykorzystywane w korporacyjnych centrach danych z drogim sprzętem. Do ogólnego użytku domowego naprawdę chcesz uruchomić Brasero na komputerze zdalnym i po prostu wyświetlić okno GUI w systemie lokalnym (za pomocą X, VNC lub innej technologii pulpitu zdalnego).

quack quixote
źródło
1
AFAIK, iSCSI nie wysyła poleceń ATAPI. Remote X, FreeNX, VNC to świetne propozycje.
fresus,
hmmm, może nie, ale wypalanie na zdalnym urządzeniu optycznym jest podane jako przykład iSCSI na stronie Starport. może potrzebować do tego urządzenia nagrywającego SCSI. lub użyj ATAoE, który (teoretycznie) powinien dobrze obsługiwać ATAPI.
quack quixote