16.17 Linux NTFS文件系統安裝
在 CentOS 6.x 中,默認 NTFS 文件系統是沒有安裝的,也就是說在 CentOS 6.x 中是不能直接掛載 NTFS 分區的。但是目前 Windows 的分區絕大多數是 NTFS 分區,這就需要在 CentOS 6.x 中安裝 NTFS 文件系統的模塊之后,才能使用 NTFS 分區。

安裝 NTFS 文件系統模塊的方法有三種:
第一種方法是完整地重新編譯內核,然后在內核中選擇 NTFS 功能,但這種方法過于麻煩,如果只是為了加入 NTFS 支持,則不建議采用這么復雜的方法;
第二種方法是得到 NTFS 文件系統模塊(可以到互聯網上下載,也可以利用本機的內核部分編譯之后產生,不用完整地編譯內核,要簡單方便得多),然后使用 modprobe 命令安裝,本小節就來介紹這種方法;
第三種方法是安裝 NTFS 文件系統的第三方插件,如 NTFS-3G,這種插件安裝簡單、功能完整,我們也會講講這種方法;
得到NTFS文件系統模塊后,手工安裝
如果使用這種方法,則首先需要得到 NTFS 文件系統模塊,這些模塊一般是用 *ko 作為擴展名的。我們可以直接在互聯網上找到 ntfs.ko 的模塊文件下載之后安裝;也可以下載完整的內核源碼,自己編譯生成 ntfs.ko 模塊,然后安裝。
我們采用第二種方法。具體步驟如下。
我們可以到內核的官方網站下載和本機安裝的內核版本相同的內核源碼。本機內核的版本可以使用 uname -r 命令查看,命令如下:
[root@localhost ~]# uname -r 2.6.32-279.el6.i686
這里下載的是 linux-2.6.32.tar.bz2 這個內核源碼。我們可能會發現,在內核官網上找到的內核源碼的版本可能和本機內核的版本不完全相同,這不會有太大影響,只需找到和本機版本差不多的內核源碼即可。
另外,在 2.4.x 內核版本中,我們可以通過 RPM 包安裝完整的內核源碼到本機,而不用去官網下載。但是在 2.6.x 內核版本之后,如果采用 RPM 包的方式安裝內核源碼,則只會安裝部分源碼文件,而不會安裝完整的內核源碼文件。RPM 包安裝的內核源碼是不能進行正常編譯和安裝的,所以只能到內核的官方網站上下載完整的內核源碼。
下載的內核是壓縮包,需要解壓。解壓命令如下:
[root@localhost ~]# tar -jxvf linux-2.6.32.tar.bz2 [root@localhost ~]# cp -r linux-2.6.32 /usr/src/kernels/ \#復制內核源碼到默認內核源碼保存位置
在進行內核編譯時,是需要依賴 .config 配置文件來配置內核功能的,這個文件是通過 make menuconfig 命令生成的。
不過,我們在這里不講解完整的內核編譯過程,只是為了生成 ntfs.ko 文件,那么我們就不需要執行復雜的 make menuconfig 命令了。我們可以安裝 RPM 包的內核,雖然 RPM 包安裝的內核源碼并不完整(早期 Linux 版本會安裝完整的內核源碼),但是有 .config 配置文件,我們可以直接利用這個配置文件,而不需要使用 make menuconfig 命令自己生成 .config 配置文件(在進行真正的內核編譯時,是需要使用 make menuconfig 命令來配置自己需要的功能,并生成 .config 配置文件的)。 命令如下:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ [root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ kemel-devel-2.6.32-279.el6.i686.rpm \#安裝RPM包的不完整的內核源碼 [root@localhost ~]# cp /usr/src/kemels/2.6.32-279.el6.i686/.config/usr/src/ kemels/linux-2.6.32/ \#從RPM包的內核源碼中復制.config配置文件到源碼包的內核源碼中
這樣我們就有了 .config 配置文件,當然也可以通過 make menuconfig 命令生成這個配置文件。不過我們現在還沒有學習內核的編譯過程,所以采用了這種簡單的辦法。當然,還要修改一下 .config 配置文件,讓它支持 NTFS 文件系統。需要把 #CONFIG_NTFS_FS is not set 這行代碼改為 CONFIG_NTFS_FS=m,意思是用模塊形式加載 NTFS 文件系統。命令如下:
[root@localhost ~]# vi /usr/src/kernels/ linux-2.6.32/.config …省略部分輸出… \# CONFIG_NTFS_FS is not set \#改為 CONFIG_NTFS_FS=m …省略部分輸出…
使用 make modules 命令來編譯所有的模塊,因為我們開啟了 NTFS 文件系統模塊,所以會生成 ntfs.ko 文件。當然,編譯要想正確進行,gcc 編譯器是必須安裝的。命令如下:
[root@localhost ~]# cd /usr/src/kernels/linux-2.6.32/ \#編譯命令一定要進入內核目錄才能執行,因為編譯命令編譯的是模塊當前所在目錄 [root@localhost linux-2.6.32]# make modules \#在命令執行過程中,需要選擇安裝哪些模塊,這時只選擇NTFS相關模塊,其他模塊都不安裝,這樣能加快安裝速度。注意:需要選擇的選項較多,不要漏選 …省略部分輸出… NTFS file system support (NTFS_FS) [M/n/y/?] m NTFS debugging support (NTFS_DEBUG) [N/y/?] (NEW)y NTFS write support (NTFS_RW) [N/y/?] (NEW)y \#只有這幾個功能選擇y(安裝)或m(安裝成模塊),其他功能都不需要安裝 …省略部分輸出…
接下來需要等待編譯過程結束,就能看到 ntfs.ko 模塊了。命令如下:
[root@localhost linux-2.6.32]# ll /usr/src/kemels/ linux-2.6.32/fe/ntfs/ntfs.ko -rw-r--r--. 1 root root 3175255 6 月 4 18:57 /usr/src/ kemels/linux-2.6.32/ fs/ntfs/ntfs.ko
我們有了 ntfs.ko 模塊,接下來的安裝過程就比較簡單了。先把 ntfs.ko 復制到指定位置,命令如下:
[root@localhost linux-2.6.32]# cp fs/ntfs/ntfe.ko/lib/ modules/2.6.32-279.el6.i686/kemel/fs/
然后開始模塊安裝,命令如下:
[root@localhost linux-2.6.32]# depmod -a \#掃描所有模塊 [root@localhost linux-2.6.32]# modprobe ntfs \#安裝ntfs模塊
如果 modprobe ntfs 命令報錯,那是因為版本不符。這個問題很好解決,只要執行如下命令:
[root@localhost linux-2.6.32]# modprobe -f ntfs \#-f:強制
強制安裝 ntfs 模塊即可。然后查詢一下:
[root@localhost linux-2.6.32]#lsmod | grep ntfs ntfs 93874 0 [permanent]
這樣 ntfs 模塊就安裝成功了,我們就可以嘗試掛載和使用 NTFS 的分區或移動硬盤了。
注意,雖然我們使用了部分內核編譯命令,但是我們的目的不是編譯內核,而只是生成 ntfs.ko 模塊,所以不需要完成內核的完整編譯與安裝過程。而且,如果執行了 make install 命令,那么安裝的新內核有 ntfs 功能,其他功能都不存在,新內核是不能正確使用的。
利用 NTFS-3G 插件安裝 NTFS 文件系統模塊
我們已經學習了利用 ntfs.ko 模塊安裝 NTFS 文件系統,這種方法生成 ntfs.ko 模塊比較麻煩。如果采用安裝 NTFS-3G 插件的方式安裝 NTFS 文件系統,則更加簡單和方便。具體步驟如下。
首先,下載 NTFS-3G 插件到 Linux 服務器上。
在編譯安裝 NTFS-3G 插件之前,要保證 gcc 編譯器已經安裝。具體安裝命令如下:
[root@localhost ~]# tar -zxvf ntfs-3g_ntfsprogs-2013.1,13.tgz \#解壓 [root@localhost ~]#cd ntfs-3g_ntfeprogs-2013.1.13 \#進入解壓目錄 [root@localhost ntfs-3g_ntfsprogs-2013.1.13]#./ configure \#編譯器準備。沒有指定安裝目錄,安裝到默認位置 [root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make \#編譯 [root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install \#編譯安裝
這樣安裝就完成了,可以掛載和使用 Windows 的 NTFS 分區了。不過需要注意,掛載分區時的文件系統不是 NTFS,而是 NTFS-3G。掛載命令如下:
[root@localhost ~]# mount -t ntfs-3g 分區設備文件名 掛載點
例如:
[root@localhost ~]# mount -t ntfe-3g /dev/sdb1 /mnt/win
這樣看來,使用安裝 NTFS-3G 插件的方式比安裝 NTFS 文件系統更加簡便方便。
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。