อะไรคือความแตกต่างระหว่างเครื่องมือตรวจสอบข้อผิดพลาดของดิสก์ linux fsck และ e2fsck
อะไรคือความแตกต่างระหว่างเครื่องมือตรวจสอบข้อผิดพลาดของดิสก์ linux fsck และ e2fsck
คำตอบ:
fsck เป็นเพียงชื่อเดิม เมื่อพวกเขาออกมาพร้อมกับระบบไฟล์ใหม่พวกเขาจะต้องใช้เครื่องมือเฉพาะสำหรับแต่ละคน efsck สำหรับ ext, e2fsck สำหรับ ext2, dosfsck, fsckvfat ดังนั้นพวกเขาจึงทำการ fsck ส่วนหน้าว่าเพียงแค่เรียกเครื่องมือใดก็ตามที่เหมาะสม
gpt
คำสั่งจะมี "กู้จากตารางการสำรองข้อมูล" ตัวเลือกอย่างน้อยบน Mac
fsckเป็น wrapper สำหรับเครื่องมือเฉพาะตระกูลfsck. * พวกเขาสามารถใช้แทนกันได้กับหนึ่ง caveat (จาก mans fsck):
ตัวเลือกที่ไม่เข้าใจโดย fsck จะถูกส่งผ่านไปยังตัวตรวจสอบเฉพาะระบบไฟล์ อาร์กิวเมนต์เหล่านี้ต้องไม่ใช้อาร์กิวเมนต์เนื่องจากไม่มีวิธีใดที่ fsck จะสามารถเดาได้อย่างถูกต้องว่าอาร์กิวเมนต์ตัวใดมีตัวเลือกและไม่มีตัวเลือกใด
ตัวเลือกและข้อโต้แย้งที่ตาม - จะถือว่าเป็นตัวเลือกเฉพาะระบบไฟล์ที่จะส่งผ่านไปยังตัวตรวจสอบเฉพาะระบบไฟล์
โปรดทราบว่า fsck ไม่ได้ถูกออกแบบมาเพื่อส่งตัวเลือกที่ซับซ้อนโดยพลการไปยังตัวตรวจสอบเฉพาะระบบไฟล์ หากคุณกำลังทำสิ่งที่ซับซ้อนโปรดดำเนินการตัวตรวจสอบเฉพาะระบบแฟ้มโดยตรง หากคุณผ่าน fsck ตัวเลือกและอาร์กิวเมนต์ที่ซับซ้อนอย่างน่ากลัวบางอย่างและมันไม่ได้ทำตามที่คุณคาดไว้อย่ารายงานว่ามันเป็นบั๊ก คุณเกือบจะทำอะไรบางอย่างที่คุณไม่ควรทำกับ fsck
อย่างไรก็ตาม fsck จะจัดการการดำเนินงานตามปกติส่วนใหญ่ในระบบไฟล์
ในระบบของฉันฉันมี:
fsck
fsck.ext2
fsck.ext3
fsck.ext4
e2fsck
fsck.*
เครื่องมือเพิ่มเติมสำหรับระบบไฟล์อื่นที่ไม่ใช่แบบขยาย)ตอนนี้ไม่มีสิ่งเหล่านี้เป็นลิงก์สัญลักษณ์ แต่e2fsck
และfsck.ext2/3/4
เครื่องมือทั้งหมดแชร์ inode เดียวกันดังนั้นจริงๆแล้วเป็นไฟล์เดียวกัน (เป็นไปได้ว่าไบนารีนี้จะสอบปากคำชื่อของตัวเองเมื่อมันถูกเรียกใช้และทำงานแตกต่างกันสำหรับชื่อที่ถูกเรียกด้วย แต่ฉันสงสัยว่าเป็นกรณีนี้)
ดังนั้นตอนนี้เราเหลือเครื่องมือสองอย่าง:
fsck
e2fsck
และอย่างที่คนอื่น ๆ บอกกันfsck
เป็นเพียงส่วนหน้าที่เรียกเครื่องมือที่เหมาะสมสำหรับระบบไฟล์ที่เป็นปัญหาซึ่งในกรณีนี้e2fsck
เป็นระบบไฟล์ตระกูล ext
ฉันเข้าใจเหตุผลของการมีfsck.ext2/3/4
ไฟล์ต่าง ๆเพื่อให้ 1. มันง่ายในการเขียนสคริปต์ที่สามารถจัดการกับระบบไฟล์ทุกประเภทโดยทั่วไป (พวกเขาสามารถอนุมานชื่อเครื่องมือ fsck เล็กน้อยจากประเภทระบบไฟล์) และ 2 เพื่อความยืดหยุ่นเพื่อให้เป็นเรื่องเล็กน้อย เพื่อแยก e2fsck เป็นเครื่องมืออิสระสองตัวหรือมากกว่าหากจำเป็นในอนาคต