all-in-one tips1: แก้ปัญหา fsck ตอนบูต

จากเรื่อง all-in-one ผมแบ่งพาร์ติชั่น /sys1 โดยผูกติดกับ / (root) ไว้ ซึ่งจะทำให้ไม่สามารถยกเลิกการเมานต์ในระหว่างการใช้งานได้
สำหรับเครื่องที่เปิดไว้ตลอด 24 ช.ม.คงไม่มีปัญหาอะไร แต่ถ้าเป็นเครื่องที่ต้องมีการปิดเปิดตามเวลา จะพบปัญหาที่ระบบไฟล์จะทำการตรวจสอบตัวเองเมื่อทำการเมานต์ครบ 30 ครั้ง ซึ่งถ้าพาร์ติชั่นไม่ใหญ่ก็คงไม่เป็นไรนัก เพราะโปรแกรม fsck ทำงานแป๊ปเดียวก็เสร็จ แต่ถ้าเป็นพาร์ติชั่นที่ใหญ่เกิน 200G ขึ้นไปจะเกิดปัญหาการบูตที่นานเกินควร

วิธีแก้คือการบังคับให้บูตในตอนที่ไม่มีใครใช้งานเครื่อง โดยให้บังคับให้ตรวจสอบระบบไฟล์หลังการบูต ด้วยคำสั่ง shutdown ตามด้วยพารามิเตอร์ -F (force check)

เริ่มเลย
แก้ /etc/fstab ตั้งค่า fs_passno ให้พาร์ติชั่นของ /sys1 เป็น 1 เหมือน root file system เพื่อให้ระบบทำการตรวจสอบตอนเปิดเครื่อง
# vi /etc/fstab

...
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
...
#/dev/hda8       /sys1           ext3    defaults        0       2
/dev/hda8       /sys1           ext3    defaults        0       1
...

สมมุติว่าปิดเครื่องสัปดาห์ละ 1 ครั้งคือเย็นวันศุกร์ เราจะตั้งค่า crontab ให้บูตเครื่องพร้อมตรวจสอบไฟล์ในวันพุธ ซึ่งเป็นช่วงกลางสัปดาห์ (ถ้ามีปัญหาอะไรก็จะไม่ยุ่งมากนัก) ตอนตี 1
# crontab -e

# m h  dom mon dow   command
...
#REBOOT FOR FSCK IN WEDNESDAY 1:00am
0 1 * * 3    /sbin/shutdown -F -r now
...

เสร็จแล้วครับ เราจะได้เครื่องที่พร้อมใช้งานเมื่อเปิดทุกวันจันทร์

อ้างอิง

update
เราสามารถตั้งให้การตรวจสอบดิสก์ตอนบูต ให้เป็นแบบซ่อมอัตโนมัติได้ (ยังไม่ทราบผลเสีย) โดยการเปลี่ยนค่าตัวแปรใน /etc/default/rcS

# vi /etc/default/rcS
...
#FSCKFIX=no
FSCKFIX=yes
...
Topic: