16 июня 2008 г.

Как получить доступ к сетевому NTFS-разделу.

Оригинал этого руководства находится здесь: http://www.svcommunity.org/forum/index.php?topic=55193.0

Данное руководство посвящено монтированию разделов при помощи ntfs-3g (основана на fuse) посредством NFS. Руководство писалось под системы Ubuntu 7.10 (как сервер) и Kubuntu 8.04 (как клиент).

В чём заключается проблема? В отличии от файловых систем Ext*, ReiserFS и др. функционально похожих, NTFS используется в Linux как неродная, соответственно вызывая различные проблемы с правами доступа и др. Это касается всех драйверов, основанных на fuse и их работы через протокол NFS. В частности Ubuntu имеет дефект, который запрещает монтировать ntfs по сети.

1. Необходимые материалы.

1.a Вам потребуются исходники FUSE (2.7.3): http://fuse.sourceforge.net/
1.b Вам потребуются исходники ntfs-3g (1.2531): http://www.ntfs-3g.org/
[Очевидно, подойдут и более поздние версии].
1.c Для любых сетевых операций необходимы пакеты, связанные с NFS, для установки пишем в терминале: 'sudo apt-get install nfs-kernel-server nfs-common'

2. Подготовительные операции

2.a Действия выполняем над всеми устройствами, использующими FUSE (для безопасности).
2.b Остановим FUSE: 'sudo /etc/init.d/fuse stop'
2.c Удалим модуль FUSE: 'sudo rmmod fuse'
2.d У нас есть исходники нового FUSE, которые мы и установим.
2.e У нас есть исходники нового ntfs-3g, которые мы и установим.

3. Компиляция

3.a Переходим в каталог, куда распакован FUSE и выполняем: './configure --enable-kernel-module && make && sudo make install' (возможно, потребуется ввести ваш пароль)
2.b Переходим в каталог, куда распакован ntfs-3g и выполняем: './configure && make && sudo make install' (возможно, потребуется ввести ваш пароль)

4. Загрузка и настройка FUSE

4.a Выполняем 'sudo modprobe fuse && sudo ldconfig'

5. Заключительные действия

Сейчас уже можно расшарить NTFS-раздел в своём файле /etc/exports. У меня этот файл выглядит вот так:



# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
#
/media/Datos 192.168.1.5(rw,sync,no_subtree_check)
/media/eMule 192.168.1.5(rw,sync,no_subtree_check)
/media/Extra 192.168.1.5(rw,sync,no_subtree_check)



После редактирования /etc/exports, необходимо выполнить 'sudo /etc/init.d/nfs-kernel-server restart'

Теперь с другого компьютера, в принципе, уже можно получить доступ к нашему разделу через NFS. Я прописываю в файле /etc/fstab (на компьютере-клиенте) эти разделы:


# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
192.168.1.6:/media/Extra /media/Extra nfs rw,hard,intr 0 0
192.168.1.6:/media/Datos /media/Datos nfs rw,hard,intr 0 0
192.168.1.6:/media/eMule /media/eMule nfs rw,hard,intr 0 0


Отлично. Ну, вот и всё!

6. Ссылки, которые помогли мне разобраться в теме:
http://ntfs-3g.org/support.html#nfs
http://nixcraft.com/networking-firewalls-security/965-can-t-export-windows-ntfs-partition-using-nfs.html
http://forums.fedoraforum.org/archive/index.php/t-159877.html



От меня лично дополнение: fuse-2.7.3 почему-то выпадает при сборке с 2умя ошибками, так что, я ставил 2.7.2 - там всё без проблем.






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