ไฟล์ Linux fstab คืออะไรและทำงานอย่างไร

เผยแพร่แล้ว: 2022-01-29

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

Fstab คืออะไร?

Fstab คือตารางระบบไฟล์ของระบบปฏิบัติการของคุณ หากคุณต้องการตรวจสอบระบบไฟล์ อย่าลืมอ่านบทความอื่นๆ ของเรา HTG อธิบาย: คุณควรเลือกระบบไฟล์ Linux ใด ในสมัยก่อน เป็นวิธีหลักที่ระบบจะเมาต์ไฟล์โดยอัตโนมัติ ทุกวันนี้ คุณสามารถเสียบไดรฟ์ USB ได้ทุกชนิด และมันจะปรากฏขึ้นใน Nautilus เช่นเดียวกับใน Windows และ Mac OS แต่กาลครั้งหนึ่ง คุณต้องเมานต์ดิสก์เหล่านั้นด้วยตนเองไปยังโฟลเดอร์เฉพาะโดยใช้ “ คำสั่งเมานต์” สิ่งนี้เป็นจริงสำหรับดีวีดี ซีดี และแม้แต่ฟลอปปี (จำได้ไหม?)

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

ไฟล์ Fstab ของคุณ

ไฟล์ fstab ตั้งอยู่ที่:

/etc/fstab

มาดูไฟล์ fstab ของฉันกัน

ไฟล์ fstab

คุณจะเห็นความแตกต่างอย่างแน่นอน แต่ถ้าคุณต้องการทำตาม fstab ของคุณเอง ให้เปิดคำสั่งนี้ลงในเทอร์มินัล:

คำสั่งโดยไม่ต้อง sudo

โฆษณา

คุณยังสามารถใช้ gedit ได้หากคุณไม่สะดวกใจกับ nano

ตัวเลือกที่ชัดเจน

คุณจะสังเกตเห็นว่ารายการทั้งหมดเริ่มต้นด้วย UUID คุณอาจจำได้ว่าเห็นสิ่งนี้ในบทความก่อนหน้าของเรา วิธีเลือกแบบแผนพาร์ติชันสำหรับพีซี Linux ของคุณ แต่เราจะอธิบายอีกครั้ง ระบบไฟล์แต่ละระบบในระหว่างการจัดรูปแบบจะได้รับ Universally Unique Identifier ซึ่งจะนำไปสู่หลุมฝังศพ เนื่องจากไม่สามารถเปลี่ยนแปลงได้ วิธีนี้จึงเป็นวิธีที่เหมาะที่สุดในการเลือกระบบไฟล์สำหรับการติดตั้ง โดยเฉพาะอย่างยิ่งสำหรับระบบที่สำคัญ สมมุติว่าพาร์ติชั่น /home ของคุณอยู่บนฮาร์ดไดรฟ์ตัวที่สอง และสุดท้ายคุณย้ายไปยังฮาร์ดไดรฟ์ภายนอก fstab จะยังพบพาร์ติชั่นนั้นและติดตั้งอย่างถูกต้องเพื่อหลีกเลี่ยงการบู๊ตล้มเหลว หากคุณเปลี่ยนไปใช้ (หรือติดอยู่กับการใช้) วิธีการแบบเก่าของการใช้ตัวระบุอุปกรณ์เพื่อเลือกพาร์ติชั่น (เช่น /dev/sda1) ข้อดีนี้จะหายไปเนื่องจากคอนโทรลเลอร์จะนับฮาร์ดไดรฟ์และพาร์ติชั่น และสามารถเปลี่ยนแปลงได้

แก้ไข: การใช้ UUID ในไฟล์ fstab ของคุณ ในขณะที่สะดวกสำหรับผู้ใช้ตามบ้านส่วนใหญ่ มีข้อแม้ที่สำคัญบางประการ วิธีนี้ใช้ไม่ได้เมื่อใช้สิ่งต่างๆ เช่น อุปกรณ์ "ประกอบ" หรือ "แบบเครือข่าย" หากคุณเป็นผู้ใช้ขั้นสูง หรือวางแผนที่จะใช้ซอฟต์แวร์ RAID ในอนาคต คุณไม่ควรใช้ UUID

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

ถัดไปเป็นส่วนที่ระบุประเภทของระบบไฟล์บนพาร์ติชัน หลายๆ อย่าง เช่น ext2/3/4, ReiserFS, jFS เป็นต้น ถูกอ่านโดย Linux ระบบเฉพาะของคุณอาจต้องติดตั้งแพ็คเกจเฉพาะเพื่อให้สามารถอ่านและเขียนได้ ตัวอย่างที่สมบูรณ์แบบคือพาร์ติชั่น NTFS ของฉัน; คุณจะเห็นว่าฉันใช้ไดรเวอร์ ntfs-3g เพื่อเข้าถึง

สิ่งที่น่ากลัวกว่า

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

  • auto/noauto: ระบุว่าควรติดตั้งพาร์ติชั่นโดยอัตโนมัติเมื่อบู๊ตหรือไม่ คุณสามารถบล็อกพาร์ติชั่นเฉพาะไม่ให้ติดตั้งตอนบูทเครื่องโดยใช้ “noauto”
  • exec/noexec: ระบุว่าพาร์ติชั่นสามารถรันไบนารีได้หรือไม่ หากคุณมีพาร์ติชั่นเริ่มต้นที่คุณคอมไพล์ มันจะมีประโยชน์ หรือบางทีถ้าคุณมี /home ในระบบไฟล์แยกต่างหาก หากคุณกังวลเกี่ยวกับความปลอดภัย ให้เปลี่ยนเป็น “noexec”
  • ro/rw: “ro” เป็นแบบอ่านอย่างเดียว และ “rw” คือแบบอ่าน-เขียน หากคุณต้องการเขียนไปยังระบบไฟล์ในฐานะผู้ใช้ ไม่ใช่รูท คุณจะต้องระบุ “rw”
  • sync/async: อันนี้น่าสนใจ “ซิงค์” บังคับให้การเขียนเกิดขึ้นทันทีเมื่อดำเนินการตามคำสั่ง ซึ่งเหมาะสำหรับฟลอปปี (คุณเป็นคนเก่งแค่ไหน) และไดรฟ์ USB แต่ไม่จำเป็นทั้งหมดสำหรับฮาร์ดดิสก์ภายใน สิ่งที่ “async” ทำคืออนุญาตให้คำสั่งดำเนินการในช่วงเวลาที่ผ่านไป บางทีเมื่อกิจกรรมของผู้ใช้หยุดทำงานและอื่นๆ ในทำนองเดียวกัน เคยได้รับข้อความที่ขอให้คุณ "รอในขณะที่กำลังเขียนการเปลี่ยนแปลงลงในไดรฟ์หรือไม่" นี้มักจะเป็นเหตุผล
  • nouser/user: อนุญาตให้ผู้ใช้มีสิทธิ์ในการติดตั้งและยกเลิกการต่อเชื่อม หมายเหตุสำคัญคือ "ผู้ใช้" หมายถึง "noexec" โดยอัตโนมัติ ดังนั้นหากคุณต้องการรันไบนารีและยังคงต่อเชื่อมเป็นผู้ใช้ โปรดใช้ "exec" เป็นตัวเลือกอย่างชัดเจน
โฆษณา

ตัวเลือกเหล่านี้คั่นด้วยเครื่องหมายจุลภาคและไม่มีช่องว่าง และสามารถจัดลำดับใดก็ได้ หากคุณไม่แน่ใจเกี่ยวกับค่าเริ่มต้น คุณสามารถระบุตัวเลือกของคุณให้ชัดเจนได้ สิ่งต่าง ๆ ที่ติดตั้งจากที่ชั่วคราว (เช่น USB) จะไม่เป็นไปตามรูปแบบพื้นฐานนี้ เว้นแต่คุณจะสร้างรายการสำหรับพวกเขา (โดย UUID) ใน fstab สะดวกเมื่อคุณต้องการให้ฮาร์ดไดรฟ์ภายนอกติดตั้งในลักษณะเฉพาะเสมอ เนื่องจากทัมบ์ไดรฟ์ปกติและสิ่งที่คล้ายกันจะไม่ได้รับผลกระทบ

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

การทุ่มตลาดและ Fscking

ตัวเลือกถัดไปคือค่าไบนารี ("0" สำหรับเท็จและ "1" สำหรับ "จริง") สำหรับ "การทุ่มตลาด" นี่เป็นวิธีการสำรองข้อมูลที่ค่อนข้างล้าสมัยสำหรับกรณีที่ระบบล่ม คุณควรปล่อยให้สิ่งนี้เป็น “0”

ตัวเลือกสุดท้ายคือค่าตัวเลขสำหรับ "ผ่าน" สิ่งนี้จะบอกระบบถึงลำดับที่จะ fsck (ออกเสียงตามที่คุณต้องการ) หรือทำการตรวจสอบระบบไฟล์ หากดิสก์มีตัวเลือก "0" ดิสก์นั้นจะถูกข้ามไป เช่น ไดรฟ์จัดเก็บรูปแบบ NTFS ของฉัน ระบบไฟล์รูทควรเป็น “1” เสมอ และระบบไฟล์อื่นๆ สามารถดำเนินการได้ในภายหลัง วิธีนี้ใช้ได้ผลดีที่สุดกับระบบไฟล์รายการบันทึก เช่น ext3/4 และ ReiserFS ระบบไฟล์ที่เก่ากว่า เช่น FAT16/32 และ ext2 อาจใช้เวลาสักครู่ ดังนั้นจึงควรปิด fscking และทำด้วยตัวเองเป็นระยะๆ


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

ที่เกี่ยวข้อง: แล็ปท็อป Linux ที่ดีที่สุดสำหรับนักพัฒนาและผู้ที่ชื่นชอบ