суббота, 9 апреля 2011 г.

Файловый сервер на Linux по протоколу 9p.

   Собственно, для соединения машины plan9 и linux есть множество разных вариантов. В этой статье мы рассмотрим наиболее нативный для плана9 вариант, использование протокола 9p.
   Итак, задача: предоставить доступ к файлам linux сервера для машины с plan9.



1. Убеждаемся что ядро собрано с поддержкой 9p.
CONFIG_NET_9P=y
CONFIG_9P_FS=y


2.  Так как initd устарел, скорее всего у вас xinitd(если нет не того не другого- ставим).

3. В файле /etc/xinetd.conf коментим строку:

# only_from = localhost

 4. Создаем файл /etc/xinetd.d/u9fs

service u9fs
{
socket_type = stream
protocol = tcp
wait = no

user = root
group = root
port = 564
server = /usr/bin/u9fs
server_args = -m 65560 -a none -u root
disable = no

#only_from = 192.168.0.100
 }

Для безопасности, раскоментите строку only_from и напишите там ip машины с plan9. 

5. Редактируем файл /etc/services

u9fs 564/tcp # plan 9 file service
u9fs 564/udp


6. Качаем исходники u9fs
Исходники можно также взять с машины plan9 /sys/src/cmd/unix/u9fs.

 Собираем командой make в каталоге с исходником. Полученный исполняемый файл u9fs копируем в /usr/bin/

7. Запускаем/перезапускаем xinitd. Смотрим в лог, убеждаемся что все без ошибок, и сервис запущен:

xinetd[3024]: Started working: 1 available service

8. Бинго! На машине с plan9 пишем:
9fs ip_linux_server
mount /srv/ip_linux_server /n/linux

Все, после этого в /n/linux будет корень linux сервера.

Комментариев нет:

Отправить комментарий