LINUX.ORG.RU
ФорумTalks

устройство через сеть


0

0

есть две машины, на одной из них в /dev есть некое символьное устройство, на другой машине нужно это устройство юзать так, как будто оно там.

казалось бы, вполне логично примонтировать через nfs и вперёд.. но поскольку файлы устройств всего лишь указывают на модули ядра _на данной машине_, то, естесственно, ничерта не получится.

есть ли какие-то пути решения?


зависит от силы взаимодействия. можно пробовать создать фифо здесь, на втором конце демон пересылает данные по сети и на удаленной машине другой демон пишет в устройство

generatorglukoff ★★
()
Ответ на: комментарий от generatorglukoff

ну пока только этот выход и вижу, хотелось узнать нет ли чего попроще -- чтобы пнуть и полетело

stigger
() автор топика

>есть ли какие-то пути решения?

plan9 :)

anonymous
()
Ответ на: комментарий от stigger

> что? как? подробнее, плз.

права выставляшь, что бы обычный пользователь мог читать двенулл, потом делаешь симлинк и черех smb даешь доступ

phasma ★☆
()

> в /dev есть некое символьное устройство, на другой машине нужно это устройство юзать так, как будто оно там.

AFAIK, в Линуксе это невозможно. В какойто BSD есть специальный демон для этого (FreeBSD, кажется).

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>AFAIK, в Линуксе это невозможно.

возможно. Некоторые сетевые файловые системы позволяют это сделать. Точно не умеет этого nfs и samba

p9 умеет, вроде. AFS тоже, емнип

geek ★★★
()
Ответ на: комментарий от geek

> p9 умеет, вроде. AFS тоже, емнип

а HURD, там ведь, например, транслятор можно прикрутить?

anonymous
()
Ответ на: комментарий от generatorglukoff

> зависит от силы взаимодействия.

бугага =)

vilfred ☆☆
()

netcat и не ипёт.

anonymous
()

Если устройство символьное и не предвидится, что прога будет его мучать на предмет ioctl(), то можно.

marsijanin ★★
()
Ответ на: комментарий от redgremlin

ругнулось что ioctl не соответствующий =( а жаль..

stigger
() автор топика
Ответ на: комментарий от marsijanin

устройство символьное, прога на ioctl не мучает. как?

stigger
() автор топика

Для винтов и прочего есть iSCSI и iIDE

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от isden

вобщем, не получилось. по-любому на "клиентской" стороне нужно иметь дело с fifo. сымитировать ситуацию когда netcat постоянно читает из fifo возможно только если после каждого считывания он будет прибиваться, т.е. что-то вроде

while [ true ]; do nc 192.168.0.200 1024 < ./fifo done

только вот прибиваться он не может, так как не знает когда. если юзать -w чтобы после n секунд ничего не передавания оно дисконнектилось -- оно распространяется и на время ожидания соединения, так что очень часто будут ситуации когда сервер недоступен из-за того что netcat вылетел по таймауту и перезапускается...короче бардак =(

stigger
() автор топика

Network Block Device ?

What is it: With this compiled in the kernel (or as a module), Linux
can use a remote server as one of its block devices. So every time
the client computer wants to read, e.g., /dev/nb0, it sends a
request over TCP to the server, which will reply with the data read.
This can be used for stations with low disk space (or even diskless -
if you boot from floppy) to borrow disk space from another computer.
Unlike NFS, it is possible to put any filesystem on it, etc. It should
even be possible to use NBD as a root filesystem (I've never tried),
but it requires a user-level program to be in the initrd to start.
It also allows you to run block-device in user land (making server
and client physically the same computer, communicating using loopback).

manntes ★★
()
Ответ на: комментарий от manntes

Туплю, прочёл дальше заголовка и осознал ошибку

manntes ★★
()
Ответ на: комментарий от stigger

уфф, таки прокинул. всем спасибо за наводку на netcat =)

stigger
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.