Portál AbcLinuxu, 30. dubna 2025 12:41
ntfs-3g je ovladač pro plný přístup k diskům s NTFS. Po menším odolávání jsem se jej rozhodl vyzkoušet na své SuSE 10.0 x86_64.
Ke své funkci ntfs-3g vyžaduje knihovny FUSE, a to minimálně ve verzi 2.6.0. Vzhledem ke stáří SuSE 10.0 není třeba se ani zmiňovat, že ani jeden z balíčků není k dispozici, je třeba tedy obojí zkompilovat ze zdrojových kódů. Zdrojové kódy ntfs-3g lze získat přímo na stránkách http://www.ntfs-3g.org/, zdrojové kódy FUSE pak na http://fuse.sourceforge.net/.
Ještě před kompilací je vhodné odmountovat partition s NTFS svazkem, například
umount /mnt/data
a ujistit se, zda není modul fuse již zaveden v jádře. To lze zjistit příkazem
lsmod | grep fuse
Je-li modul zaveden, je třeba jej příkazem
rmmod fuse
odstranit.
Jako první je třeba zkompilovat FUSE. Na první pokus se nejspíše na konci ./configure
objeví nějaká následující hláška:
checking if FUSE module is from official kernel... yes
configure:
NOTE: Detected that FUSE is already present in the kernel, so
NOTE: building of kernel module is disabled. To force building
NOTE: of kernel module use the '--enable-kernel-module' option.
Ta upozorňuje na fakt, že FUSE je již zahrnuta v jádře jako modul a ten se tedy nebude kompilovat. Stáří jádra SuSE 10.0, které je ve verzi 2.6.13 (pokud nebylo aktualizováno), však vyžaduje kompilaci nového modulu, je tedy třeba provést konfiguraci znovu příkazem
./configure --enable-kernel-module
Konfigurace již proběhne bez varování a lze provést
make && make install
Obojí se alespoň na mé konfiguraci obešlo bez problémů. Nově zkompilovaný modul zavedeme příkazem
modprobe fuse
Nyní je třeba zkompilovat ntfs-3g. Zde již podobné záludnosti nehrozí, proto stačí rovnou použít:
./configure && make && make install
Nyní je již vše připraveno na připojení NTFS svazku. Aby byl umožněn zápis na NTFS svazek všem uživatelům počítače, je třeba ještě změnit atributy mountpointu
chmod a+rwx /mnt/data
A nyní lze svazek znovu připojit
mount /dev/hda1 /mnt/data -t ntfs-3g -o rw,users,gid=users,umask=0002,nls=utf8
Nyní si již můžeme ověřit funkčnost zápisu na NTFS. Mě vše fungovalo hned na první pokus bez problémů (včetně českých znaků) a nepředpokládám, že by se nějaké větši problémy vyskytly i jinde.
Ještě zbývá dořešit zavádění modulu FUSE při startu systému a automatické připojování svazku NTFS pomocí ntfs-3g. Zavádění modulu při startu systému lze vyřešit v programu YaST2 Editorem souborů /etc/sysconfig. Zde stačí do položky System -> Kernel -> MODULES_LOADED_ON_BOOT přidat na konec výčtu fuse
. Připojování pomocí ntfs-3g pak lze vyřešit editací /etc/fstab
, kde je třeba změnit řádek:
/dev/hda1 /mnt/data ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0
na
/dev/hda1 /mnt/data ntfs-3g rw,users,gid=users,umask=0002,nls=utf8 0 0
UPDATE:
Tak nakonec se jedna chybka našla. Po automatickém připojení svazku při startu systému nelze vytvářet na NTFS adresáře s českými znaky. Řešením je ruční odmountování a přimountování svazku. Bohužel nepomáhá toto provést v /etc/init.d/boot.local
. Snad tento problém bude v příští (použil jsem ntfs-3g-0.20070118-BETA.tgz
) verzi vyřešen, ale i tak jde o velký krok dopředu v práci s NTFS svazky.
Tiskni
Sdílej:
mam tam nasledujici zapis
/dev/hda1 /media/data ntfs-3g defaults,locale=cs_CZ.utf8,umask=007,gid=46 0 1
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.