CentOS下支持exFAT与NTFS
时间:2015-04-01 20:57 来源:linux.it.net.cn 作者:IT
exFAT:
1、下载fuse-exfat支持软件:
exfat支持是通过fuse模块的方式支持的,其项目地址是: https://code.google.com/p/exfat/ ,当前版本是:1.0.1。
目前exfat的支持已经是全功能支持,支持读写。
可以下载源代码包,并自行使用scons和gcc编译,也可以在rpmfusion下载源代码RPM,然后通过构建RPM来安装。这里采用构建RPM的方式(这样安装卸载都很方便)。
下载地址:http://download1.rpmfusion.org/free/el/updates/6/SRPMS/repoview/index.html
分别下载:fuse-exfat-1.0.1-1-el6.src.rpm 和 exfat-utils-1.0.1-1.el6.src.rpm
2、编译安装:
编译前,请先检查系统,如果系统中没有scons和gcc,请通过yum安装:
$ sudo yum install scons gcc
这个软件是fuse模块,编译需要fuse-devel包支持:
$ sudo yum install fuse-devel
下载后,安装源代码RPM:
$ rpm -ivh fuse-exfat-1.0.1-1-el6.src.rpm exfat-utils-1.0.1-1.el6.src.rpm
在主目录下,会出现rpmbuild目录:
$ cd ~/rpmbuild/SPECS
$ rpmbuild -ba fuse-exfat.spec
$ rpmbuild -ba exfat-utils.spec
构建完成后,即可在 ~/rpmbuild/RPMS里面找到生成的RPM(根据系统架构,分别在x86_64或i386目录下,其中名字中带有debuginfo的包不必安装):
$ cd ~/rpmbuild/RPMS/x86_64
$ sudo rpm -ivh fuse-exfat-1.0.1-1.el6.x86_64.rpm exfat-utils-1.0.1-1.el6.x86_64.rpm
这样就安装完成了。
3、挂载:
可以通过以下命令来挂载exfat的U盘了:
$ sudo mount.exfat /dev/sdXn /mnt
其中sdXn中的X代表你的U盘设备名,n代表分区号,比如:/dev/sdb1这样。
此外,为了方便,你可以将以上安装在/usr/sbin下的命令在/sbin下做个符号链接:
$ sudo ln -s /usr/sbin/mount.exfat /sbin/mount.exfat
便于直接使用mount来安装:
$ sudo mount -t exfat /dev/sdXn /mnt
NTFS:
一、安装ntfs-3g模块
1. 使用yum的安装方法:
请确定你已经安装了rpmforge软件库的源。请参考:RHEL/CentOS 5.5使用第三方软件库
然后安装下列组件。
yum install fuse ntfs-3g -y
注:如果你在使用 CentOS 5.3 或更旧版本,那么你需要安装来自 ELRepo 的 kmod-fuse。
2. 使用ntfs-3g官方源码编译安装的方法:
ntfs-3g下载页面:http://www.tuxera.com/community/ntfs-3g-download/
安装步骤:
wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2011.4.12.tgz
tar zxvf ntfs-3g_ntfsprogs-2011.4.12.tgz
cdntfs-3g_ntfsprogs-2011.4.12
./configure
make
make install
以上两种方法二选一,yum只适用于Redhat系,编译安装适用于所有Linux发行版
二、挂载NTFS文件系统
假设你的NTFS文件系统是 /dev/sda1 而你将会把它挂载在 /mnt/windows/c,请执行以下步骤。
1. 创建挂载点。(一般建议挂在mnt目录里)
mkdir /mnt/windows/c
2. 挂载NTFS分区:
mount -t ntfs-3g /dev/sda1 /mnt/windows/c
注:这里的sda1是指SATA或SCSI硬盘的第一个分区,如果是老式的IDE硬盘,会是hda1,具体请用fdisk -l查看。如偶的一台机:
[root@CentOS ~]# fdisk -l
Disk /dev/sda: 164.6 GB, 164696555520 bytes
255 heads, 63 sectors/track, 20023 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 7 HPFS/NTFS
/dev/sda2 2551 20022 140343840 f W95 Ext’d (LBA)
/dev/sda5 5101 8924 30716248+ 7 HPFS/NTFS
/dev/sda6 8925 12748 30716248+ 7 HPFS/NTFS
/dev/sda7 12749 16572 30716248+ 7 HPFS/NTFS
/dev/sda8 16573 20022 27712093+ 7 HPFS/NTFS
/dev/sda9 2551 2584 273042 83 Linux
/dev/sda10 2585 4928 18828148+ 83 Linux
/dev/sda11 4929 5016 706828+ 82 Linux swap / Solaris
Partition table entries are not in disk order
3. 如果想开机系统启动时自动挂载NTFS分区,编辑vim /etc/fstab文件,加入类似如下内容:
只读式挂载:/dev/sda1 /mnt/windows/c ntfs-3g ro,umask=0222,defaults 0 0
读写式挂载:/dev/sda1 /mnt/windows/c ntfs-3g rw,umask=0000,defaults 0 0
或者: /dev/sda1 /mnt/windows/c ntfs-3g defaults 0 0
如偶的/etc/fstab文件如下:
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda11 swap swap defaults 0 0
/dev/sda1 /mnt/windows/c ntfs-3g ro,umask=0222,defaults 0 0
/dev/sda5 /mnt/windows/e ntfs-3g defaults 0 0
/dev/sda6 /mnt/windows/f ntfs-3g defaults 0 0
/dev/sda7 /mnt/windows/g ntfs-3g defaults 0 0
/dev/sda8 /mnt/windows/h ntfs-3g defaults 0 0
其他注意问题:
从 CentOS 5.4 起(2.6.18-164 或更新的内核),fuse 模块已经包含在内核里。因此,已不再需要 dkms 及dkms-fuse。如果你先前安装了 dkms-fuse,请用 yum remove dkms-fuse 命令把它卸装。请注意 CentOS4.x 的用户需要这两个组件。
使用 centosplus 内核的用户
由CentOS-5.3开始,centoplus内核没有启用NTFS模块。这是由于5.3内的 NTFS 是不能运行的。详情请参阅https://bugzilla.redhat.com/show_bug.cgi?id=481495。如果你想使用来自 CentOS内核的NTFS模块,你可以安装来自ELRepo的kmod-ntfs。但这个模块没有ntfs-3g好,只提供极度有限的写入功能。
(责任编辑:IT)
exFAT: 1、下载fuse-exfat支持软件: exfat支持是通过fuse模块的方式支持的,其项目地址是: https://code.google.com/p/exfat/ ,当前版本是:1.0.1。 目前exfat的支持已经是全功能支持,支持读写。 可以下载源代码包,并自行使用scons和gcc编译,也可以在rpmfusion下载源代码RPM,然后通过构建RPM来安装。这里采用构建RPM的方式(这样安装卸载都很方便)。 下载地址:http://download1.rpmfusion.org/free/el/updates/6/SRPMS/repoview/index.html 分别下载:fuse-exfat-1.0.1-1-el6.src.rpm 和 exfat-utils-1.0.1-1.el6.src.rpm 2、编译安装: 编译前,请先检查系统,如果系统中没有scons和gcc,请通过yum安装: $ sudo yum install scons gcc 这个软件是fuse模块,编译需要fuse-devel包支持: $ sudo yum install fuse-devel 下载后,安装源代码RPM: $ rpm -ivh fuse-exfat-1.0.1-1-el6.src.rpm exfat-utils-1.0.1-1.el6.src.rpm 在主目录下,会出现rpmbuild目录: $ cd ~/rpmbuild/SPECS $ rpmbuild -ba fuse-exfat.spec $ rpmbuild -ba exfat-utils.spec 构建完成后,即可在 ~/rpmbuild/RPMS里面找到生成的RPM(根据系统架构,分别在x86_64或i386目录下,其中名字中带有debuginfo的包不必安装): $ cd ~/rpmbuild/RPMS/x86_64 $ sudo rpm -ivh fuse-exfat-1.0.1-1.el6.x86_64.rpm exfat-utils-1.0.1-1.el6.x86_64.rpm 这样就安装完成了。 3、挂载: 可以通过以下命令来挂载exfat的U盘了: $ sudo mount.exfat /dev/sdXn /mnt 其中sdXn中的X代表你的U盘设备名,n代表分区号,比如:/dev/sdb1这样。 此外,为了方便,你可以将以上安装在/usr/sbin下的命令在/sbin下做个符号链接: $ sudo ln -s /usr/sbin/mount.exfat /sbin/mount.exfat 便于直接使用mount来安装: $ sudo mount -t exfat /dev/sdXn /mnt NTFS: 一、安装ntfs-3g模块 1. 使用yum的安装方法: 请确定你已经安装了rpmforge软件库的源。请参考:RHEL/CentOS 5.5使用第三方软件库 然后安装下列组件。 yum install fuse ntfs-3g -y 注:如果你在使用 CentOS 5.3 或更旧版本,那么你需要安装来自 ELRepo 的 kmod-fuse。 2. 使用ntfs-3g官方源码编译安装的方法: ntfs-3g下载页面:http://www.tuxera.com/community/ntfs-3g-download/ 安装步骤: wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2011.4.12.tgz tar zxvf ntfs-3g_ntfsprogs-2011.4.12.tgz cdntfs-3g_ntfsprogs-2011.4.12 ./configure make make install 以上两种方法二选一,yum只适用于Redhat系,编译安装适用于所有Linux发行版 二、挂载NTFS文件系统 假设你的NTFS文件系统是 /dev/sda1 而你将会把它挂载在 /mnt/windows/c,请执行以下步骤。 1. 创建挂载点。(一般建议挂在mnt目录里) mkdir /mnt/windows/c 2. 挂载NTFS分区: mount -t ntfs-3g /dev/sda1 /mnt/windows/c 注:这里的sda1是指SATA或SCSI硬盘的第一个分区,如果是老式的IDE硬盘,会是hda1,具体请用fdisk -l查看。如偶的一台机: [root@CentOS ~]# fdisk -l Disk /dev/sda: 164.6 GB, 164696555520 bytes 255 heads, 63 sectors/track, 20023 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 2550 20482843+ 7 HPFS/NTFS /dev/sda2 2551 20022 140343840 f W95 Ext’d (LBA) /dev/sda5 5101 8924 30716248+ 7 HPFS/NTFS /dev/sda6 8925 12748 30716248+ 7 HPFS/NTFS /dev/sda7 12749 16572 30716248+ 7 HPFS/NTFS /dev/sda8 16573 20022 27712093+ 7 HPFS/NTFS /dev/sda9 2551 2584 273042 83 Linux /dev/sda10 2585 4928 18828148+ 83 Linux /dev/sda11 4929 5016 706828+ 82 Linux swap / Solaris Partition table entries are not in disk order 3. 如果想开机系统启动时自动挂载NTFS分区,编辑vim /etc/fstab文件,加入类似如下内容: 只读式挂载:/dev/sda1 /mnt/windows/c ntfs-3g ro,umask=0222,defaults 0 0 读写式挂载:/dev/sda1 /mnt/windows/c ntfs-3g rw,umask=0000,defaults 0 0 或者: /dev/sda1 /mnt/windows/c ntfs-3g defaults 0 0 如偶的/etc/fstab文件如下: LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-sda11 swap swap defaults 0 0 /dev/sda1 /mnt/windows/c ntfs-3g ro,umask=0222,defaults 0 0 /dev/sda5 /mnt/windows/e ntfs-3g defaults 0 0 /dev/sda6 /mnt/windows/f ntfs-3g defaults 0 0 /dev/sda7 /mnt/windows/g ntfs-3g defaults 0 0 /dev/sda8 /mnt/windows/h ntfs-3g defaults 0 0 其他注意问题: 从 CentOS 5.4 起(2.6.18-164 或更新的内核),fuse 模块已经包含在内核里。因此,已不再需要 dkms 及dkms-fuse。如果你先前安装了 dkms-fuse,请用 yum remove dkms-fuse 命令把它卸装。请注意 CentOS4.x 的用户需要这两个组件。 使用 centosplus 内核的用户 由CentOS-5.3开始,centoplus内核没有启用NTFS模块。这是由于5.3内的 NTFS 是不能运行的。详情请参阅https://bugzilla.redhat.com/show_bug.cgi?id=481495。如果你想使用来自 CentOS内核的NTFS模块,你可以安装来自ELRepo的kmod-ntfs。但这个模块没有ntfs-3g好,只提供极度有限的写入功能。 (责任编辑:IT) |