Android

คำสั่ง Fsck ใน linux (ระบบไฟล์ซ่อมแซม)

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ

สารบัญ:

Anonim

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

คุณสามารถใช้คำสั่ง fsck เพื่อซ่อมแซมระบบไฟล์ที่เสียหายในสถานการณ์ที่ระบบไม่สามารถบู๊ตได้หรือไม่สามารถติดตั้งพาร์ติชันได้

เราจะพูดถึงคำสั่ง fsck

วิธีใช้ fsck

คำสั่ง fsck ใช้รูปแบบทั่วไปต่อไปนี้:

fsck

เฉพาะผู้ใช้ root หรือผู้ใช้ที่มีสิทธิ์ sudo เท่านั้นที่สามารถล้างบัฟเฟอร์ได้

เมื่อไม่มีการระบุ FILESYSTEM เป็นอาร์กิวเมนต์ fsck จะตรวจสอบอุปกรณ์ที่อยู่ในไฟล์ fstab

ห้ามรัน fsck บนพาร์ติชันที่เมาท์เนื่องจากอาจทำให้ระบบไฟล์เสียหายได้ ก่อนที่จะพยายามตรวจสอบหรือซ่อมแซมระบบไฟล์ให้ unmount ก่อนเสมอ

คำสั่ง fsck เป็น wrapper สำหรับตัวตรวจสอบระบบไฟล์ Linux ต่างๆ ( fsck.* ) และยอมรับตัวเลือกที่แตกต่างกันขึ้นอยู่กับประเภทของระบบไฟล์

ตรวจสอบหน้าคู่มือสำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวตรวจสอบเฉพาะ ตัวอย่างเช่นเมื่อต้องการดูตัวเลือกที่พร้อมใช้งานสำหรับ fsck.ext4 ให้พิมพ์:

man fsck.ext4

ซ่อมแซมระบบไฟล์ที่เสียหาย

กรณีการใช้งานที่ง่ายที่สุดของคำสั่ง fsck คือการซ่อมแซมระบบไฟล์ ext3 หรือ ext4 ที่ไม่รูทที่เสียหาย

  1. ถอนติดตั้งอุปกรณ์:

    sudo umount /dev/sdc1

    รัน fsck เพื่อซ่อมแซมระบบไฟล์:

    sudo fsck -p /dev/sdc1

    ตัวเลือก -p บอก fsck เพื่อซ่อมแซมปัญหาใด ๆ ที่สามารถแก้ไขได้อย่างปลอดภัยโดยอัตโนมัติโดยผู้ใช้ไม่ต้องดำเนินการใด ๆ

    เมื่อซ่อมแซมระบบไฟล์แล้วให้เมาต์พาร์ติชัน:

    sudo mount /dev/sdc1

ซ่อมแซมระบบไฟล์รูท

fsck ไม่สามารถตรวจสอบระบบไฟล์รูทบนเครื่องที่ใช้งานได้เพราะไม่สามารถถอดออกได้

วิธีรัน fsck ในโหมดการกู้คืน:

  1. เข้าสู่เมนูบู๊ตและเลือกตัวเลือกขั้นสูงเลือกโหมดการกู้คืนจากนั้น“ fsck” เมื่อได้รับแจ้งให้ติดตั้งระบบไฟล์รูทอีกครั้งเลือก“ ใช่” เมื่อเสร็จแล้วให้ทำการบูตตามปกติ

หากต้องการเรียกใช้ fsck จากการเผยแพร่สด:

  1. บูตการกระจายสด

    ใช้ fdisk หรือ parted เพื่อค้นหาชื่อพาร์ติชันรูต

    เปิดเทอร์มินัลแล้วเรียกใช้:

    sudo fsck -p /dev/sda1

    เมื่อเสร็จแล้วให้รีบูตการถ่ายทอดสดและบู๊ตระบบของคุณ

ตรวจสอบระบบไฟล์ในการบู๊ต

บน Linux ดิสทริบิวชันส่วนใหญ่ fsck จะทำงานในเวลาบูทถ้าระบบไฟล์ถูกทำเครื่องหมายว่าสกปรกหรือหลังจากบูทหรือเวลาที่แน่นอน

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

sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'

Mount count: 292 Maximum mount count: -1 Last checked: Tue Jul 24 11:10:07 2018 Check interval: 0 () Mount count: 292 Maximum mount count: -1 Last checked: Tue Jul 24 11:10:07 2018 Check interval: 0 ()

  • “ จำนวนสูงสุดของการเมาต์” คือจำนวนของการเมาต์หลังจากนั้นระบบไฟล์จะถูกตรวจสอบ ค่า 0 หรือ -1 หมายความว่า fsck จะไม่ทำงาน“ Check interval” คือเวลาสูงสุดระหว่างการตรวจสอบระบบไฟล์สองครั้ง

ตัวอย่างเช่นคุณต้องการรัน fsck ทุก ๆ 25 บู๊ท (เมาท์) ให้พิมพ์:

sudo tune2fs -c 25 /dev/sdc1

นอกจากนี้คุณยังสามารถตั้งค่าเวลาสูงสุดระหว่างการตรวจสอบสองครั้ง ตัวอย่างเช่นในการตั้งค่าหนึ่งเดือนคุณจะเรียกใช้:

sudo tune2fs -i 1m /dev/sdc1

ในการบังคับให้ fsck รันในเวลาบูตในการกระจาย SystemD ผ่านพารามิเตอร์การบูตเคอร์เนลต่อไปนี้:

fsck.mode=force fsck.repair=yes

เกี่ยวกับการแจกจ่ายที่เก่ากว่า fsck จะทำงานในการบูตหากไฟล์ /forcefsck มีอยู่:

sudo touch /forcefsck

ตัวเลือก fstab

fstab เป็นไฟล์การกำหนดค่าที่บอกระบบว่าจะติดตั้งพาร์ทิชันอย่างไรและที่ไหน

ไฟล์ /etc/fstab มีรายการของรายการในแบบฟอร์มต่อไปนี้:

/ etc / fstab

# /dev/sda1 / ext4 defaults 0 1 /dev/sda2 /home ext4 defaults 0 2 server:/dir /media/nfs nfs defaults 0 0

คอลัมน์สุดท้ายคอลัมน์ที่ 6 ( ) เป็นตัวเลือกที่ควบคุมลำดับการตรวจสอบระบบไฟล์ในเวลารีบูต

  • 0 - อย่าตรวจสอบ 1 - ระบบไฟล์ที่จะตรวจสอบก่อนและทีละระบบ 2 - ระบบไฟล์อื่นทั้งหมดซึ่งถูกตรวจสอบในภายหลังและอาจขนานกัน

ระบบไฟล์รูทควรมีค่า 1 และระบบไฟล์อื่น ๆ ทั้งหมดที่คุณต้องการตรวจสอบควรมีค่าเป็น 2

ข้อสรุป

fsck เป็นเครื่องมือบรรทัดคำสั่งสำหรับการตรวจสอบและซ่อมแซมระบบไฟล์ทางเลือก

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง fsck ไปที่หน้า man fsck หรือพิมพ์ man fsck ในเทอร์มินัลของคุณ

เทอร์มินัล fsck