Материал из Wiki.X-news.org
Перейти к: навигация, поиск

Дружба навек. Прикручиваем ntfs к FreeBSD

Т.к. до перехода на FreeBSD на машине стояла Windows 2003 то соответственна вся немалая коллекция фильмов хранилась на ntfs-томах. Переводить все это дело под ufs не было никакого желания.


Для нормальной (чтение и запись) поддержки ntfs существует пакет ntfs-3g. Ставим из портов:

snake-hostel5# cd /usr/ports/ snake-hostel5# make search name='ntfs' Port: fusefs-ntfs-1.1004 Path: /usr/ports/sysutils/fusefs-ntfs Info: Mount NTFS partitions (read/write) and disk images Maint: alepulver@FreeBSD.org B-deps: fusefs-libs-2.7.0_1 libtool-1.5.24 libublio-20070103 pkg-config-0.22_1 R-deps: fusefs-kmod-0.3.9.p1_2 fusefs-libs-2.7.0_1 libublio-20070103 pkg-config-0.22_1 WWW: http://www.ntfs-3g.org/Port: ntfsprogs-1.13.1_3 Path: /usr/ports/sysutils/ntfsprogs Info: Utilities and library to manipulate NTFS partitions Maint: farrokhi@FreeBSD.org B-deps: libublio-20070103 R-deps: libublio-20070103 WWW: http://www.linux-ntfs.org/

snake-hostel5#Нам нужен пакет от fuse. После установки прописываем его в автозагрузку:

snake-hostel5#echo 'fusefs_enable="YES"' >> /etc/rc.confи запускаем:

snake-hostel5# /usr/local/etc/rc.d/fusefs startМонтируем том:

snake-hostel5#ntfs-3g -o rw,locale=ru_RU.KOI8-R /dev/ad0s1 /mediaНаступаем на первые грабли – ntfs для именования использует utf-кодировку. А пакет ntfs-3g тоже работает только с utf-8. Значит, монтируем с utf:

snake-hostel5#ntfs-3g -o rw,locale=ru_RU.UTF-8 /dev/ad0s1 /mediaВ системной консоли по прежнему кракозябры Но т.к. 95% всего времени мы работаем по ssh или samba, то делаем следующее:

$ ee ~/.login_confДобавляем/редактируем:

me:snake:\

charset=UTF-8:\
lang=ru_RU.UTF-8:Сохраняемся, выходим. В параметрах PuTTY или другого ssh клиента выставляем кодировку по умолчанию: UTF-8.

Коннектимся. Получаем нормально отображаемые русские буквы. (не забудьте при необходимости пересобрать mc с поддержкой utf-8).

Некоторые советуют пересобрать ядро со следующими опциями:

options LIBICONV options NTFS options NTFS_ICONVНо как по мне, что с ними, что без них было одинаково приятно. На моей машине скорость записи на ntfs-том была примерно 20Мбайт/с, чтение – около 50Мбайт. Не ахти конечно, но пойдет

С добавлением в fstab так же есть небольшие проблемы, потому fuse стартует позже, чем проверяется fstab. Я вышел из положения, добавив в rc.local необходимые команды (синтаксис тот же, что и при монтировании в консоли):

#!/bin/sh

ntfs-3g -o rw,locale=ru_RU.UTF-8 /dev/ad4s1/ /mnt/media0 ntfs-3g -o rw,locale=ru_RU.UTF-8 /dev/ad1s5/ /mnt/media1 ntfs-3g -o rw,locale=ru_RU.UTF-8 /dev/ad0s1/ /mnt/media2 ntfs-3g -o rw,locale=ru_RU.UTF-8 /dev/ad3s5/ /mnt/media3







admin пишет: 24 апреля 2009 в 10:58 А почему на UFS не перейти? Конечно если коллекция большая, и нет промежуточного винта, то сложности есть…

Впрочем как иллюстрация к работе с NTFS…

Я правда просто mount_smbfs юзал для подобной задачи, там правда сетевой диск был с windows машины. Надо будет попробовать локально к FreeBSD подключить винт с NTFS. Snake пишет: 25 апреля 2009 в 5:28 Как-то страхово переводить 2Тб фильмов в UFS Хотя со временем мб и перейду Ad1ce пишет: 17 мая 2009 в 0:29 А в чем приемущество fuse? Посмотрел, у меня во фряхе есть команда mount_ntfs. DROOPY пишет: 29 мая 2009 в 3:25 2Ad1ce: fuse ntfs-3g позволяет монтировать тома для чтения/записи, системный драйвер – только для чтения

Чтобы решить проблемы с автомонтированием через /etc/fstab читаем внимательно /usr/local/share/doc/ntfs-3g/README.FreeBSD

==============================================================================

3. Mounting at startup with /etc/fstab

==============================================================================

тут приводить всё не буду, но фишка в том, то надо добавить опцию “late” Snake пишет: 2 августа 2009 в 8:19 Почитаю, спасибо:) Но насколько я понял по отзывам, комбиная ntfs+utf-8 плохо срабатывает через fstab Vladimir пишет: 14 ноября 2009 в 11:12 почему, при попытке монтирования говорит: fuse: failed to open fuse device: Device not configured

что ему еще надо конфигурировать? Snake пишет: 15 ноября 2009 в 4:44 проверьте, загружен ли модуль fuse, и проверьте, тот ли раздел вы монтируете Vladimir пишет: 16 ноября 2009 в 11:00 полностью:

# mount_ntfs-3g /dev/ad3s1 /mnt/arc1/

fuse: failed to open fuse device: Device not configured

# uname -r

7.2-STABLE

# kldstat

Id Refs Address Size Name … 5 1 0xc24d9000 23000 linux.ko 6 1 0xc2525000 e000 fuse.ko

# fdisk /dev/ad3
******* Working on device /dev/ad3 *******

parameters extracted from in-core disklabel are: cylinders=484521 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won’t work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=484521 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 7 (0×07),(OS/2 HPFS, NTFS, QNX-2 (16 bit) or Advanced UNIX) start 63, size 488392002 (238472 Meg), flag 80 (active) beg: cyl 0/ head 1/ sector 1; end: cyl 1023/ head 254/ sector 63 The data for partition 2 is:

The data for partition 3 is:

The data for partition 4 is:

# fdisk /dev/ad3s1
******* Working on device /dev/ad3s1 *******

parameters extracted from in-core disklabel are: cylinders=484515 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won’t work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=484515 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 114 (0×72),(unknown) start 218129509, size 1701990410 (831050 Meg), flag 63 beg: cyl 368/ head 111/ sector 45; end: cyl 371/ head 101/ sector 51 The data for partition 2 is: sysid 116 (0×74),(unknown) start 729050177, size 543974724 (265612 Meg), flag 73 beg: cyl 67/ head 115/ sector 32; end: cyl 299/ head 114/ sector 44 The data for partition 3 is: sysid 101 (0×65),(Novell Netware/386 3.xx) start 168653938, size 0 (0 Meg), flag 74 beg: cyl 114/ head 111/ sector 32; end: cyl 353/ head 115/ sector 52 The data for partition 4 is: sysid 0 (0000),(unused) start 2692939776, size 51635 (25 Meg), flag 0 beg: cyl 0/ head 0/ sector 0; end: cyl 0/ head 0/ sector 0 Snake пишет: 16 ноября 2009 в 11:48 Попробуйте монтировать командой ntfs-3g -o rw,locale=ru_RU.UTF-8 Vladimir пишет: 16 ноября 2009 в 14:36 результат тот-же

# ntfs-3g -o rw,locale=ru_RU.UTF-8 /dev/ad3s1 /mnt/arc1/

fuse: failed to open fuse device: Device not configured Snake пишет: 17 ноября 2009 в 16:16 К сожалению, не могу проверить работу fuse, т.к. в системе нет ни одного ntfs-винта. Могу посоветовать обновить fuse. И кстати, в какой ОС создавался раздел? Vladimir пишет: 18 ноября 2009 в 0:48 был медиа-архив на Вынь2003 с радостью перевел-бы на UFS, но некуда 200 гиг слить для переформатрирования винта

Port: fusefs-ntfs-2009.4.4 B-deps: fusefs-libs-2.7.4 libiconv-1.13.1 libtool-2.2.6a_1 libublio-20070103 pkg-config-0.23_1 R-deps: fusefs-kmod-0.3.9.p1.20080208_6 fusefs-libs-2.7.4 libiconv-1.13.1 libublio-20070103 pkg-config-0.23_1 amd_miek пишет: 22 января 2010 в 14:50 Чуваку с проблемой fuse: failed to open fuse device: Device not configured

Решается просто. У тебя несовпадают версии порта и ABI мира. тебе надо обновить порты, обновить исходники мира с ядром, пересобраьт мир и ядро, поставить их и пересобрать порт- и все. проблема получается при обновлении исходных кодов и последующей пересбюорке и использовании нового ядра без пересборки мира, там часть файлов древа исходников используется для сборки порта и возникает десинхронизация anonim пишет: 27 мая 2010 в 14:38 нет, надо просто добавить в /etc/rc.conf fusefs_enable=”YES” и запустить /usr/local/etc/rc.d/fusefs start