在CentOS 中支持exFAT與NTFS

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好,只提供極度有限的寫入功能。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章