気まぐれSE日記

地方でエンジニアしてます

FUSE と libntfs(ntfsprogs)を実験

先日言っていたNTFS書き込みの件

libntfs (ntfsprogs)を利用してマウントさせるんですが、まずFUSEが必要になります。
FUSEってフューズって読むのかな。ま、そういうことにしておいてください。

FUSE (Filesystem in USErspace)

ダウンロード先
http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=132802

# 最新版をとってくる


wget http://jaist.dl.sourceforge.net/sourceforge/fuse/fuse-2.5.3.tar.gz
tar xfz fuse-2.5.3.tar.gz
cd fuse-2.5.3
./configure --enable-kernel-module --enable-lib --enable-util
make && sudo make install

libntfs

# CVS版をとってkる


wget http://data.linux-ntfs.org/cvs-snapshots/ntfsprogs-200605222012.tar.bz2
tar xfj ntfsprogs-200605222012.tar.bz2
cd ntfsprogs-200605222012
./configure --enable-fuse-module
make && sudo make install

マウントさせる

この辺参照
http://wiki.linux-ntfs.org/doku.php?id=ntfsmount


su -
mkdir /mnt/ntfs2
ntfsmount /dev/hdb2 /mnt/ntfs2 -o fmask=0111,dmask=0,succeed_chmod((詳しくは→http://man.linux-ntfs.org/ntfsmount.8.html))

## mount コマンドで確認
mount
...
/dev/sdb2 on /mnt/ntfs2 type fuse (rw,nosuid,nodev,default_permissions,allow_other)


## ls で見てみる
cd /mnt/ntfs2
ls -l
合計 1048576
drwxrwxrwx 1 root root 0 2月12日 11:58 RECYCLER/
drwxrwxrwx 1 root root 0 2月12日 00:00 System Volume Information/
drwxrwxrwx 1 root root 0 2月12日 00:41 msdownld.tmp/
-rw-rw-rw- 1 root root 1073741824 3月14日 21:18 pagefile.sys
drwxrwxrwx 1 root root 0 2月12日 00:43 temp/

## touch してみる
touch hoge.txt

ls -l
-rw-rw-rw- 1 root root 0 5月26日 23:04 hoge.txt

# 書き込めた。

echo "これはてすと" > hoge.txt
cat hoge.txt
これはてすと

# OK でっした。

# mkdir してみる

mkdir test
ls -l
drwxrwxrwx 1 root root 0 5月26日 23:06 test/




試してはいないが、fstabにも書けるらしい。
日本語のあたりがどうなるかは未確認。

少し試してみましたが、NTFSパーティションへのファイル書き込みがいまいち調子悪いです。
というのは、新しいフォルダを作成して、そのフォルダの中にファイルを7個以上保存しようとすると
「アクセスが拒否されました」って怒られます。

ログを見ると、


ntfsmount[8652]: Failed to add entry to the index: サポートされていない操作です.

未対応?バグなんかな?