ลีนุกซ์รองรับ filesystem ของฮาร์ดดิสก์ได้หลายรูปแบบ ทำให้เราสามารถใช้ลีนุกซ์อ่านหรือเขียนไฟล์บนดิสก์ที่มาจาก OS อื่นๆ ได้
ลักษณะการใช้ที่เจอบ่อยคือลงลีนุกซ์บนเครื่องเดียวกับ Windows แล้วอยากให้ลีนุกซ์อ่านหรือเขียนไฟล์ลงบนดิสก์หรือพาร์ทิชั่นที่เป็น Windows
หรืออีกแบบคือนำฮาร์ดดิสก์ หรือ USB Disk ที่ format มาเป็น NTFS มาต่อเครื่องที่ติดตั้งลีนุกซ์
ในบทความนี้ขอแนะนำวิธีการติดตั้ง ntfs-3g บน CentOS 6 เพื่อใช้ mount ดิสก์ที่เป็น NTFS บนลีนุกซ์ ให้สามารถอ่าน เขียนไฟล์ได้
สมมติว่าดิสก์ที่เป็น NTFS ต่ออยู่เป็น /dev/sdb ลองใช้คำสั่ง fdisk -l ดู จะเห็นพาร์ทิชั่นที่เป็น NTFS
[root@cent6 ~]# fdisk -l /dev/sdb Disk /dev/sdb: 200 GB
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 9729 78148161 7 HPFS/NTFS
ทดลองใช้คำสั่ง mount ดู
[root@cent6 ~]# mount /dev/sdb1 /mnt mount: unknown filesystem type 'ntfs'
ไม่สามารถ mount ได้ สาเหตุเพราะว่าตอนนี้ลีนุกซ์ที่รันอยู่ (ดีฟอลต์ที่ได้จากการติดตั้ง CentOS 6) ยังไม่รองรับ filesystem แบบ NTFS
เราสามารถดู filesystem ที่ตอนนี้ลีนุกซ์รองรับหรือพร้อมใช้งาน โดยการใช้คำสั่ง cat ไฟล์ /proc/filesystems
[root@cent6 ~]# cat /proc/filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev cgroup nodev cpuset nodev tmpfs nodev devtmpfs nodev binfmt_misc nodev debugfs nodev securityfs nodev sockfs nodev usbfs nodev pipefs nodev anon_inodefs nodev inotifyfs nodev devpts nodev ramfs nodev hugetlbfs iso9660 nodev pstore nodev mqueue nodev selinuxfs
ต้องติดตั้งแพ็คเกจเพิ่มชื่อ ntfs-3g ซึ่งมีอยู่ใน EPEL repo (ดูวิธีการติดตั้ง EPEL repo ได้ที่ yum แพ็คเกจบน CentOS 6 ได้มากขึ้นด้วย EPEL)
ใช้คำสั่ง yum install ติดตั้ง ntfs-3g
[root@cent6 ~]# yum install ntfs-3g Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile ... Dependencies Resolved
================================================================================ Package Arch Version Repository Size ================================================================================ Installing: ntfs-3g x86_64 2:2011.4.12-5.el6 epel 247 k
Transaction Summary ================================================================================ Install 1 Package(s)
Total download size: 247 k Installed size: 624 k Is this ok [y/N]: y ... Running Transaction Installing : 2:ntfs-3g-2011.4.12-5.el6.x86_64 1/1 Verifying : 2:ntfs-3g-2011.4.12-5.el6.x86_64 1/1
Installed: ntfs-3g.x86_64 2:2011.4.12-5.el6
หลังการติดตั้งเรียบร้อยแล้ว ลองใช้คำสั่ง mount ดิสก์ที่เป็น NTFS อีกครั้ง
[root@cent6 ~]# mount /dev/sdb1 /mnt
cd เข้าไปไดเร็คทอรีที่ mount ไว้ ลองใช้ ls -l ดู จะเป็นไฟล์ในดิสก์ที่เป็น NTFS ได้ เราสามารถใช้คำสั่ง cp ดึงไฟล์ออกมาได้
[root@cent6 ~]# cd /mnt/
[root@cent6 mnt]# ls -l -rwxrwxrwx. 1 root root 211 Jun 1 2009 boot.ini drwxrwxrwx. 1 root root 4096 Sep 5 2008 Documents and Settings -rwxrwxrwx. 1 root root 250032 Aug 4 2004 ntldr -rwxrwxrwx. 1 root root 262144 Sep 22 2008 ntuser.dat -rwxrwxrwx. 2 root root 1024 Oct 15 2008 ntuser.dat.LOG -rwxrwxrwx. 1 root root 402653184 Jan 1 2002 pagefile.sys drwxrwxrwx. 1 root root 16384 Dec 6 15:44 Program Files drwxrwxrwx. 1 root root 0 Oct 9 2010 RECYCLER drwxrwxrwx. 1 root root 4096 Apr 11 2006 System Volume Information drwxrwxrwx. 1 root root 53248 Jan 1 2002 WINDOWS
สำหรับการเขียนไฟล์ หลังจาก mount ดิสก์ที่เป็น NTFS ได้แล้ว เราก็สามารถเขียนไฟล์หรือสร้างไดเร็คทอรีลงไปได้ เหมือนกับดิสก์ที่เป็น ext3, ext4 ทั่วไป
หากต้องการดูชื่อชนิด (Type) ของ filesystem ที่ ntfs-3g ใช้ mount ดิสก์ที่เป็น NTFS ให้ใช้คำสั่ง df -hT ตามด้วยพาธที่ใช้ mount
[root@cent6 ~]# df -hT /mnt Filesystem Type Size Used Avail Use% Mounted on /dev/sdb1 fuseblk 200G 130G 74G 63% /mnt
โปรแกรม ntfs-3g จะใช้ fuseblk สำหรับการ mount ดิสก์ที่เป็น NTFS
ข้อมูลอ้างอิง