Sunday, July 6, 2008

centos挂载ntfs

How to Mount an NTFS Filesystem

[Note: if you are running a centosplus kernel, see this section]

Installing required packages

*

While older ntfs drivers were prone to eat your data in r/w-mode, ntfs-3g seems to be r/w safe. See the ntfs-3g QA page for more information.

Make sure you have the rpmforge repo installed. If not, refer to Repositories.

Install the following packages.

yum install fuse fuse-ntfs-3g dkms dkms-fuse

(dkms and dkms-fuse install the fuse kernel module)

If the rpmforge repo is disabled by default,

yum --enablerepo=rpmforge install fuse fuse-ntfs-3g dkms dkms-fuse

If you are using the ATrpms repository there is no need to install dkms and dkms-fuse (you still need fuse-ntfs-3g from rpmforge).

The line to install from ATrpms then is

yum install fuse-kmdl fuse

*

Do not mix from both repositories if you have rpmforge and atrpms installed. Choose one to install fuse from. You might want to take a look at the yum priorities plugin to priorize one repository over the other.

Make sure that you have the correct kernel-devel package installed - especially having one that matches your running kernel. dkms has kernel-devel as a requirement, but that only pulls in the standard kernel-devel package.

If you are running the xen kernel (kernel-xen), you need to

yum install kernel-xen-devel

If you're running kernel-PAE, you need to install

yum install kernel-PAE-devel

Same goes for kernel-smp and so on.

*

yum will install the latest kernel-*-devel package. Make sure that it fits the kernel you are using. You might have to reboot to run the latest installed kernel after a "yum update". The installed running kernel and the kernel-*-devel package have to match.

Mounting an NTFS filesystem

Suppose your ntfs filesystem is /dev/sda1 and you are going to mount it on /mnt/win, do the following.

First, create a mount point.

mkdir /mnt/win

Next, edit /etc/fstab. To mount read-only:

/dev/sda1 /mnt/win ntfs-3g ro,umask=0222,defaults 0 0

To mount read-write:

/dev/sda1 /mnt/win ntfs-3g rw,umask=0000,defaults 0 0

Users of the centosplus kernel

In centosplus (Repositories/CentOSPlus) kernels, both ntfs and fuse kernel modules are enabled. A main difference between ntfs and ntfs-3g is that the former is read-only. Therefore, if you do not need write access to the ntfs filesystem, add this line to /etc/fstab :

/dev/sda1 /mnt/win ntfs ro,umask=0222,defaults 0 0

If you wish to have read-write access, you would need the fuse-ntfs-3g package. But because the fuse module is already available in the kernel, you do not need dkms :

yum install fuse fuse-ntfs-3g

*

However, the fuse kernel module included in CentOS 5 (as of August 2007) produces a message: WARNING: Deficient FUSE kernel module detected. It still works, but it is advised that the fuse module from RPMforge (newer) be used instead.

Therefore, run:

yum install fuse fuse-ntfs-3g dkms dkms-fuse

to replace the existing fuse kernel module with the one from RPMforge.

See also:

http://wiki.linux-ntfs.org/doku.php?id=ntfs-en#can_i_mount_an_ntfs_volume (read-only mounting)

No comments: