sevka 20.06.2011 16:50

Я рекомендуюСеть NFS в Nautilus

Мне долго не давала покоя ситуация с NFS (Network file system) в Ubuntu. В итоге я написал плагин для Наутилуса, который позволяет расшаривать папки в NFS и броузить NFS.

Плагин состоит из двух частей.

1. nfs-share.

Добавляет пункт в контекстное меню папки, который позволяет расшаривать папки. Плагин правит файл /etc/exports и перезагружает nfs-сервер.

2. nfs-browse.

В папке /net появляется панель с кнопкой Refresh, после нажатия которой происходит поиск компьютеров с NFS-шарами. Плагин использует autofs и avahi. Чтобы компьютер был найден, на нем должен быть запущен avahi-daemon.

Качать deb-пакет отсюда: http://nfs-lan.sevka.info/

P.S. Я назвал пост "Сеть NFS в Nautilus", потому что это плагин к наутилусу. Но фишка в том, что после того как компьютер примаунтен в папку /net, к нему можно доступаться из любой программы и терминала. В отличии от реализации Samba в наутилусе (я имею в виду smb://)


Тэги: autofs gnome nautilus network nfs python ubuntu
+ 14 -
Похожие Поделиться

dedsy 20.06.2011 18:24 #
Красиво, хорошо.. =)
У меня просто скриптик лежит который маунтит нужный мне ресурс в нужную папку.. а т.к. NFS таки не самый распространённый сервис, скрипт работает только дома.. :)
sevka 20.06.2011 18:32 #
Спасибо. Ну вот хочу популяризировать NFS.
У меня например дома несколько компьютеров. Раньше прописывал на каждом в hosts айпишники остальных компов и маунтил через autofs, теперь этого делать не надо. Просто захожу в /net и нажимаю Refresh.
exelens 20.06.2011 18:53 #
Запости свой скрипт в блог СКРИПТЫ плиз
ananas 20.06.2011 19:02 #
для этого скрипты не нужны, хватает записи в fstab и mount /path/to/mount/point
dedsy 21.06.2011 17:37 #
:) А если это ноут который не только дома используется? Уж лучше я буду по нужне скрипт включать , чем в fstab дохлую строку пихать :)

#!/bin/bash
sudo mount -t nfs -o rw,soft,intr 192.168.1.1:/media/pub ~/pub
sevka 20.06.2011 19:04 #
Запостил в Скрипты.
exelens 20.06.2011 19:05 #
Да не ты запости!

А он. Он ведь пишет что есть скрипт.
Верни свой пост обратно =)))
sevka 20.06.2011 19:12 #
Черт. Честно говоря я кинул в "Я рекомендую" потому что не нашел больше ничего подходящего.
exelens 20.06.2011 19:15 #
Всё правильно сделал!
Я бы тоже туда поместил
dedsy 28.06.2011 17:13 #
:) Я антисоциальный тип, всё время забываю, что можно не только в коменты полезности кидать...
ZED 20.06.2011 18:56 #
Если умирает линк до шары, точка монтирования вешается или нет?
sevka 20.06.2011 19:00 #
Вешается также как если воспользоваться обычным mount. Я решаю это настройкой autofs. Файл etc/auto.master:

sevka 20.06.2011 19:01 #
/net -hosts --timeout=60

Таким образом, если шара не используется 60 секунд, то она автоматически отмонтируется. Т.е. пока файлы копируются, или шара просто открыта в наутилусе - она живет. Через минуту после закрытия натуилуса - отмонтируется. Т.е. обычно ситуации с дохлыми шарами у меня нет.
ZED 20.06.2011 19:05 #
А если линк рвется для примонтированной шары, она будет тупить минуту и сама отвалится или надо будет наутилус убивать?
ananas 20.06.2011 19:13 #
man 5 nfs
ZED 20.06.2011 19:24 #
я читал ман, у меня начинается тупняк что для жесткого что для мягкого монтирования, но я монтирую руками, поэтому и спрашиваю как с autofs дела обстоят и именно на практике
sevka 20.06.2011 19:29 #
Я думаю autofs там где тупо mount втихаря запускает, так что все так же само. Главное надо где-то конфиг его прописать.
ananas 20.06.2011 19:37 #
в auto.misc прописываешь то, что написано в мане для конкретных шар. в принципе soft, bg и маленький таймаут от явных лаж спасают
sevka 20.06.2011 19:14 #
Надо провести эксперимент. Боюсь, что надо будет убивать, потому что у меня бывало, что Наутилус вешался, наверное именно в таких случаях. Надо курить настройки autofs наверное. Наутилус тут как бы дело десятое, насколько я понимаю.
ananas 20.06.2011 19:03 #
параметры монтирования озвучь, plz
sevka 20.06.2011 19:24 #
Параметры монтирования зависят от autofs. Я не выполняю команду mount явно. Я всего лишь делаю "cd /net/<имя_компа>.local". При этом происходит монтирование.
Могу только озвучить параметры экспорта в /etc/exports:
*(ro,async,subtree_check)
и
*(rw,async,subtree_check) для rw-доступа.
Они сейчас захардкожены, но их можно легко поменять в файле /usr/share/pyshared/nfs_lan/nfs_share.py, строчки 76 и 78.
ananas 20.06.2011 19:35 #
а в auto.mics все по дефолту?
sevka 20.06.2011 19:43 #
auto.mics не трогал. Вообще для работы плагина я всего лишь раскомментариваю в /etc/auto.master
строчку:
/net -hosts
и добавляю в ее конец --timeout=60

Можешь ты знаешь как избежать подвисаний в том случае, когда шара во время использования уходит в даун?
ananas 20.06.2011 19:49 #
баловаться с actimeo и retry
ananas 20.06.2011 19:52 #
а в принципе - все зависит от сетки. что как должно работать, в каких режимах и с какой надежностью. в зависимости от этого и подбираются опции. процесс весьма гиморный, но результат иногда оправдывает затраты
sevka 20.06.2011 19:55 #
Ну понятно, придется экспериментировать видимо. Хочется добиться более стабильной работы.
ananas 20.06.2011 19:42 #
и лучше давать no_subtree_check. иначе при удаленных подкаталогах возможны проблемы с кэшем nfs-а
sevka 20.06.2011 19:45 #
О, пасиба, попробую. У меня были проблемы с удаленными подкаталогами при соединении Ubuntu и Debian. Т.е. autofs вроде бы монтирует компьютер, я захожу на него, потом иду например в home/user/pub и тут опа - оно выбрасывает меня на уровень вверх, короче до файлов не могу добраться.
renya 20.06.2011 19:55 #
Возможно я что-то пропустил, но можно взглянуть на кишки^W сорцы? (Deb лениво ковырять)
PS: Спасибо.
sevka 20.06.2011 20:17 #
Залью на github - кину линк. А вообще deb - это архив с исходниками в случае Питон-программы.
renya 20.06.2011 20:22 #
Не ковыряя deb, я понял, что там скрипт какой-нибудь, но сорцы все же нужны и github я люблю.
sevka 20.06.2011 20:28 #
Я тоже люблю github, поэтому скоро там все будет. Просто я поначалу залил все это на launchpad, купившись на то, что я с легкостью смогу сделать свой ppa. Но потом похерил свои ssh ключи, и теперь не могу залить свежие изменения. Вообще там все очень сложно для меня.
IT.Tux.Droid 21.06.2011 00:08 #
Написал бы кто-нибудь статейку про launchpad (как с легкостью сделать свой ppa, etc) - было бы очень хорошо =)
sevka 21.06.2011 09:34 #
Я нашел таких несколько, в каждом разная информация. Кое как удалось создать репозиторий, залить туда код и сделать несколько коммитов. До ppa дело не дошло, потому что я конкретно затупил над правильным созданием deb-пакета.


IT.Tux.Droid 21.06.2011 11:47 #
Про создание deb-пакетов есть тут =)
Или можно распаковать какой-нибудь правильный deb-пакет и посмотреть как там все устроенно ;)
sevka 21.06.2011 12:01 #
Ну я как-то пакет собрал, правда например Убунту 11.04 на него ругается. Можно поставить, но ругается. Вообще я так понял, собрать правильный пакет и сделать ppa на лаунчпаде сложнее чем саму программу написать зачастую %)
sevka 21.06.2011 16:21 #
Сорцы на гитхабе:
https://github.com/sevka/nfs-lan
renya 21.06.2011 16:22 #
Спасибо!
mealsforall 26.06.2011 03:07 #
А зачем надо править exportfs и "перезагружать NFS", если можно просто exportfs -i?
sevka 29.06.2011 04:57 #
Потому что не хватает знаний. В следующей версии будет exportfs. Но ему все равно нужен root, да?