Дружба навек. Прикручиваем 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