คุณควรใช้ระบบไฟล์ Linux ใด

เมื่อฟอร์แมตพาร์ติชันบนพีซี Linux คุณจะเห็นตัวเลือกระบบไฟล์ที่หลากหลาย ตัวเลือกเหล่านี้ไม่จำเป็นต้องมีมากเกินไป หากคุณไม่แน่ใจว่าจะใช้ระบบไฟล์ Linux ใดมีคำตอบง่ายๆ

คำตอบด่วน: ใช้ Ext4 หากคุณไม่แน่ใจ

เราจะเข้าไปในวัชพืชและทำลายความแตกต่างระหว่างระบบไฟล์ต่างๆในอีกสักครู่ แต่ถ้าคุณไม่แน่ใจ: ใช้ Ext4

Ext4 เป็นระบบไฟล์เริ่มต้นบนลีนุกซ์ส่วนใหญ่ด้วยเหตุผล เป็นระบบไฟล์ Ext3 รุ่นเก่าที่ปรับปรุงแล้ว ไม่ใช่ระบบไฟล์ที่ล้ำสมัยที่สุด แต่เป็นสิ่งที่ดีนั่นหมายความว่า Ext4 นั้นแข็งแกร่งและเสถียร

ในอนาคตการกระจาย Linux จะค่อยๆเปลี่ยนไปสู่ ​​BtrFS BtrFS ยังคงล้ำยุคและเห็นการพัฒนามากมายดังนั้นคุณจะต้องหลีกเลี่ยงมันในระบบการผลิต ความเสี่ยงของความเสียหายของข้อมูลหรือปัญหาอื่น ๆ ไม่คุ้มกับการปรับปรุงความเร็วที่อาจเกิดขึ้น

ที่เกี่ยวข้อง: อะไรคือความแตกต่างระหว่าง FAT32, exFAT และ NTFS?

อย่างไรก็ตามโปรดทราบว่าคำแนะนำ“ ใช้ Ext4” นี้ใช้กับพาร์ติชันระบบ Linux และพาร์ติชันบนดิสก์อื่น ๆ เท่านั้นที่ Linux จะเข้าถึง หากคุณกำลังฟอร์แมตไดรฟ์ภายนอกที่คุณต้องการแชร์กับระบบปฏิบัติการอื่นคุณไม่ควรใช้ Ext4 เนื่องจาก Windows, macOS และอุปกรณ์อื่น ๆ ไม่สามารถอ่านระบบไฟล์ Ext4 ได้ คุณจะต้องใช้ exFAT หรือ FAT32 เมื่อฟอร์แมตไดรฟ์ภายนอกบน Linux

หากคุณกำลังตั้งค่าพาร์ติชันบนไดรฟ์สำหรับบูต Linux หลักคุณจะต้องสร้างพาร์ติชัน swap ที่มีขนาดอย่างน้อยสองสาม GB เมื่อตั้งค่าพาร์ติชันเหล่านั้น พาร์ติชันนี้ใช้สำหรับ "swap space" คล้ายกับไฟล์เพจใน Windows ลินุกซ์จะเปลี่ยนหน่วยความจำไปยังพื้นที่แลกเปลี่ยนเมื่อ RAM เต็ม พาร์ติชันนี้ต้องถูกฟอร์แมตเป็น "swap" แทนที่จะเป็นระบบไฟล์เฉพาะ

Journaling คืออะไร?

สิ่งหนึ่งที่คุณจะสังเกตเห็นเมื่อเลือกระหว่างระบบไฟล์ก็คือระบบไฟล์บางระบบถูกทำเครื่องหมายเป็นระบบไฟล์ "การเจอร์นัล" และบางระบบไม่ นี้เป็นสิ่งสำคัญ.

Journaling ออกแบบมาเพื่อป้องกันความเสียหายของข้อมูลจากการล่มและการสูญเสียพลังงานอย่างกะทันหัน สมมติว่าระบบของคุณเป็นส่วนหนึ่งของการเขียนไฟล์ลงในดิสก์และระบบสูญเสียพลังงานอย่างกะทันหัน หากไม่มีบันทึกประจำวันคอมพิวเตอร์ของคุณจะไม่รู้เลยว่าไฟล์นั้นถูกเขียนลงดิสก์อย่างสมบูรณ์หรือไม่ ไฟล์จะยังคงอยู่ในดิสก์เสียหาย

ด้วยบันทึกประจำวันคอมพิวเตอร์ของคุณจะทราบว่ากำลังจะเขียนไฟล์บางไฟล์ลงในดิสก์ในสมุดรายวันเขียนไฟล์นั้นลงในดิสก์แล้วลบงานนั้นออกจากเจอร์นัล หากไฟดับบางส่วนผ่านการเขียนไฟล์ Linux จะตรวจสอบเจอร์นัลของระบบไฟล์เมื่อบูทขึ้นและกลับมาทำงานที่เสร็จสมบูรณ์บางส่วนต่อ ซึ่งจะป้องกันข้อมูลสูญหายและไฟล์เสียหาย

Journaling ช่วยให้การเขียนดิสก์ช้าลงเล็กน้อย แต่ก็คุ้มค่าบนเดสก์ท็อปหรือแล็ปท็อป ค่าใช้จ่ายไม่มากเท่าที่คุณคิด ไฟล์ฉบับเต็มไม่ได้เขียนลงในวารสาร แต่จะมีการบันทึกเฉพาะข้อมูลเมตาของไฟล์ไอโหนดหรือตำแหน่งดิสก์ในวารสารก่อนที่จะเขียนลงดิสก์

ระบบไฟล์ที่ทันสมัยทุกระบบรองรับการเจอร์นัลและคุณจะต้องใช้ระบบไฟล์ที่รองรับการเจอร์นัลเมื่อตั้งค่าเดสก์ท็อปหรือแล็ปท็อป

ระบบไฟล์ที่ไม่มีการทำเจอร์นัลจะพร้อมใช้งานบนเซิร์ฟเวอร์ประสิทธิภาพสูงและระบบอื่น ๆ ที่ผู้ดูแลระบบต้องการบีบประสิทธิภาพพิเศษออกไป นอกจากนี้ยังเหมาะอย่างยิ่งสำหรับแฟลชไดรฟ์แบบถอดได้ซึ่งคุณไม่ต้องการค่าใช้จ่ายที่สูงขึ้นและการเขียนเจอร์นัลเพิ่มเติม

อะไรคือความแตกต่างระหว่างระบบไฟล์ Linux เหล่านั้นทั้งหมด?

ในขณะที่ Microsoft พัฒนา Windows และ Apple ควบคุม macOS แต่ Linux เป็นโครงการโอเพ่นซอร์สที่พัฒนาโดยชุมชน ทุกคน (หรือ บริษัท ใด ๆ ) ที่มีทักษะและเวลาสามารถสร้างระบบไฟล์ Linux ใหม่ได้ นั่นเป็นเหตุผลหนึ่งที่ทำให้มีตัวเลือกมากมาย ความแตกต่างมีดังนี้

  • Extย่อมาจาก“ Extended file system” และเป็นระบบแรกที่สร้างขึ้นสำหรับ Linux โดยเฉพาะ มีการแก้ไขที่สำคัญสี่ครั้ง “ Ext” เป็นเวอร์ชันแรกของระบบไฟล์ที่เปิดตัวในปี 1992 เป็นการอัปเกรดครั้งใหญ่จากระบบไฟล์ Minix ที่ใช้ในเวลานั้น แต่ขาดคุณสมบัติที่สำคัญ ลีนุกซ์หลายรุ่นไม่รองรับ Ext.
  • Ext2ไม่ใช่ระบบไฟล์เจอร์นัล เมื่อเปิดตัวระบบไฟล์นี้เป็นระบบไฟล์แรกที่รองรับแอตทริบิวต์ไฟล์แบบขยายและไดรฟ์ 2 เทราไบต์ การไม่มีเจอร์นัลของ Ext2 หมายความว่ามันเขียนลงในดิสก์น้อยลงซึ่งทำให้มีประโยชน์สำหรับหน่วยความจำแฟลชเช่นไดรฟ์ USB อย่างไรก็ตามระบบไฟล์เช่น exFAT และ FAT32 ยังไม่ใช้การเจอร์นัลและเข้ากันได้กับระบบปฏิบัติการอื่น ๆ ดังนั้นเราขอแนะนำให้คุณหลีกเลี่ยง Ext2 เว้นแต่คุณจะรู้ว่าคุณต้องการด้วยเหตุผลบางประการ
  • Ext3นั้นเป็นเพียง Ext2 ที่มีการเจอร์นัล Ext3 ได้รับการออกแบบให้เข้ากันได้กับ Ext2 แบบย้อนหลังทำให้สามารถแปลงพาร์ติชันระหว่าง Ext2 และ Ext3 ได้โดยไม่ต้องมีการจัดรูปแบบใด ๆ มันนานกว่า Ext4 อยู่แล้ว แต่ Ext4 มีมาตั้งแต่ปี 2008 และได้รับการทดสอบอย่างกว้างขวาง ณ จุดนี้คุณควรใช้ Ext4 ดีกว่า
  • นอกจากนี้Ext4ยังได้รับการออกแบบมาให้ใช้งานร่วมกันได้ คุณสามารถเมานต์ระบบไฟล์ Ext4 เป็น Ext3 หรือเมานต์ระบบไฟล์ Ext2 หรือ Ext3 เป็น Ext4 ประกอบด้วยคุณสมบัติใหม่กว่าที่ลดการแตกกระจายของไฟล์ช่วยให้ไดรฟ์ข้อมูลและไฟล์มีขนาดใหญ่ขึ้นและใช้การจัดสรรล่าช้าเพื่อปรับปรุงอายุการใช้งานหน่วยความจำแฟลช นี่เป็นระบบไฟล์ Ext เวอร์ชันที่ทันสมัยที่สุดและเป็นค่าดีฟอลต์สำหรับลีนุกซ์ส่วนใหญ่

  • BtrFSออกเสียงว่า“ Butter” หรือ“ Better” FS ได้รับการออกแบบโดย Oracle ย่อมาจาก“ B-Tree File System” และช่วยให้สามารถรวมไดรฟ์ในสแนปช็อตแบบทันทีการบีบอัดแบบโปร่งใสและการจัดเรียงข้อมูลออนไลน์ มันแบ่งปันแนวคิดเดียวกันกับที่พบใน ReiserFS ซึ่งเป็นระบบไฟล์ที่ลีนุกซ์บางรุ่นใช้เป็นค่าเริ่มต้น BtrFS ได้รับการออกแบบมาให้เป็นตัวแบ่งที่สมบูรณ์จากระบบไฟล์ Ext series Ted Ts'o ผู้ดูแลระบบไฟล์ Ext4 มองว่า Ext4 เป็นโซลูชันระยะสั้นและเชื่อว่า BtrFS เป็นหนทางไปข้างหน้า คาดว่า BtrFS จะกลายเป็นค่าเริ่มต้นในเซิร์ฟเวอร์ขององค์กรและการกระจาย Linux บนเดสก์ท็อปสำหรับผู้บริโภคในอีกไม่กี่ปีข้างหน้าเนื่องจากมีการทดสอบเพิ่มเติม
  • ReiserFSเป็นก้าวกระโดดครั้งใหญ่สำหรับระบบไฟล์ Linux เมื่อเปิดตัวในปี 2544 และรวมคุณสมบัติใหม่ ๆ มากมายที่ไม่สามารถใช้งานได้ ReiserFS ถูกแทนที่ด้วย Reiser4 ซึ่งปรับปรุงคุณสมบัติหลายอย่างที่ไม่สมบูรณ์หรือขาดในรุ่นแรกในปี 2004 แต่การพัฒนา Reiser4 หยุดชะงักหลังจากที่ Hans Reiser ผู้พัฒนาหลักถูกส่งเข้าคุกในปี 2008 Reiser4 ยังคงไม่ใช่ ในเคอร์เนล Linux หลักและไม่น่าจะไปถึงที่นั่น BtrFS เป็นทางเลือกระยะยาวที่ดีกว่า

    ที่เกี่ยวข้อง: วิธีติดตั้งและใช้ ZFS บน Ubuntu (และทำไมคุณถึงต้องการ)

  • ZFS  ได้รับการออกแบบโดย Sun Microsystems สำหรับ Solaris และปัจจุบันเป็นของ Oracle ZFS รองรับคุณสมบัติขั้นสูงมากมายรวมถึงการรวมไดรฟ์สแน็ปช็อตและการสตริปดิสก์แบบไดนามิกโดย BtrFS จะนำคุณสมบัติมากมายเหล่านี้มาสู่ Linux โดยค่าเริ่มต้น แต่ละไฟล์มีการตรวจสอบดังนั้น ZFS จึงสามารถบอกได้ว่าไฟล์เสียหายหรือไม่ ZFS โอเพนซอร์สภายใต้สัญญาอนุญาต Sun CDDL ซึ่งหมายความว่าไม่สามารถรวมอยู่ในเคอร์เนล Linux อย่างไรก็ตามคุณสามารถติดตั้งการสนับสนุน ZFS บนการแจกจ่าย Linux ใด ๆ ตอนนี้ Ubuntu ให้การสนับสนุน ZFS อย่างเป็นทางการโดยเริ่มจาก Ubuntu 16.04 ด้วย Ubuntu ใช้ ZFS เป็นค่าเริ่มต้นสำหรับคอนเทนเนอร์
  • XFSได้รับการพัฒนาโดย Silicon Graphics ในปี 1994 สำหรับระบบปฏิบัติการ SGI IRX และถูกย้ายไปยัง Linux ในปี 2544 ซึ่งคล้ายกับ Ext4 ในบางวิธีเนื่องจากยังใช้การจัดสรรที่ล่าช้าเพื่อช่วยในการแยกส่วนไฟล์และไม่อนุญาตให้มีการติดตั้งสแน็ปช็อต สามารถขยายได้ แต่ไม่หดได้ทันที XFS มีประสิทธิภาพที่ดีเมื่อจัดการกับไฟล์ขนาดใหญ่ แต่มีประสิทธิภาพที่แย่กว่าระบบไฟล์อื่น ๆ เมื่อจัดการกับไฟล์ขนาดเล็กจำนวนมาก อาจมีประโยชน์สำหรับเซิร์ฟเวอร์บางประเภทที่ต้องจัดการกับไฟล์ขนาดใหญ่เป็นหลัก
  • JFSหรือ“ Journaled File System” ได้รับการพัฒนาโดย IBM สำหรับระบบปฏิบัติการ IBM AIX ในปี 1990 และต่อมาพอร์ตไปยัง Linux มีการใช้งาน CPU ต่ำและประสิทธิภาพที่ดีสำหรับไฟล์ขนาดใหญ่และขนาดเล็ก พาร์ติชัน JFS สามารถปรับขนาดได้แบบไดนามิก แต่ไม่หดตัว ได้รับการวางแผนมาเป็นอย่างดีและได้รับการสนับสนุนในการแจกจ่ายหลัก ๆ ส่วนใหญ่อย่างไรก็ตามการทดสอบการผลิตบนเซิร์ฟเวอร์ Linux นั้นไม่ครอบคลุมเท่า Ext เนื่องจากออกแบบมาสำหรับ AIX Ext4 มักใช้กันมากขึ้นและมีการทดสอบกันอย่างแพร่หลายมากขึ้น
  • Swapเป็นตัวเลือกเมื่อฟอร์แมตไดรฟ์ แต่ไม่ใช่ระบบไฟล์จริง ใช้เป็นหน่วยความจำเสมือนและไม่มีโครงสร้างระบบไฟล์ คุณไม่สามารถติดตั้งเพื่อดูเนื้อหาได้ Swap ถูกใช้เป็น "scratch space" โดยเคอร์เนล Linux เพื่อเก็บข้อมูลชั่วคราวที่ไม่สามารถใส่ลงใน RAM ได้ นอกจากนี้ยังใช้สำหรับการจำศีล แม้ว่า Windows จะจัดเก็บไฟล์เพจจิ้งเป็นไฟล์บนพาร์ติชันระบบหลัก แต่ Linux ขอสงวนพาร์ติชันว่างแยกต่างหากสำหรับพื้นที่แลกเปลี่ยน

ที่เกี่ยวข้อง: อะไรคือความแตกต่างระหว่าง FAT32, exFAT และ NTFS?

  • FAT16 , FAT32และ  exFAT : ระบบไฟล์ FAT ของ Microsoft มักเป็นตัวเลือกเมื่อฟอร์แมตไดรฟ์ใน Linux ระบบไฟล์เหล่านี้ไม่รวมเจอร์นัลดังนั้นจึงเหมาะอย่างยิ่งสำหรับไดรฟ์ USB ภายนอก ซึ่งเป็นมาตรฐานโดยพฤตินัยที่ทุกระบบปฏิบัติการ - Windows, macOS, Linux และอุปกรณ์อื่น ๆ สามารถอ่านได้ ทำให้เป็นระบบไฟล์ที่เหมาะสำหรับการฟอร์แมตไดรฟ์ภายนอกที่คุณต้องการใช้กับระบบปฏิบัติการอื่น ๆ FAT32 เก่ากว่า exFAT เป็นตัวเลือกที่ดีที่สุดเนื่องจากรองรับไฟล์ที่มีขนาดมากกว่า 4 GB และพาร์ติชันที่มีขนาดมากกว่า 8 TB ซึ่งแตกต่างจาก FAT32

มีระบบไฟล์ Linux อื่น ๆ เช่นกันรวมถึงระบบไฟล์ที่ออกแบบมาโดยเฉพาะสำหรับการจัดเก็บแฟลชในอุปกรณ์ฝังตัวและในการ์ด SD แต่นี่คือตัวเลือกที่คุณจะเห็นบ่อยที่สุดเมื่อใช้ Linux