วิธีแก้ปัญหา /boot เต็ม

image_pdfimage_print

ubuntu-logo112โดยทั่วไปแล้วลีนุกซ์มักจะดำการติดตั้ง Boot Loader หรือ Kernel ไว้ที่ /boot เพื่อแยกพื้นที่ในการจัดเก็บและป้องกันการลบข้อมูลโดยไม่เจตนา แต่บ่อยครั้งที่การติดตั้งแบบอัตโนมัติ มักจะแบ่งพื้นที่ของ /boot ไว้น้อยเกินไป การอัพเกรด Kernel ตามเวอร์ชั่นการอัพเกรดของลีนุกซ์จึงทำให้ /boot เต็มอยู่บ่อยๆ และในบางครั้งผู้ใช้งานอาจจะเผลอทำการลบ Kernel เวอร์ชั่นล่าสุดโดยไม่ได้ตั้งใจ หากไม่ทำการลบ Kernel เก่าออกไปก็จะทำให้ติดตั้ง Kernel ใหม่ไม่ได้

2015-04-02_11-29-22รูปที่ 1 แสดงวิธีการตรวจสอบขนาดของพาร์ติชั่นต่างๆ โดยใช้คำสั่ง “df -h”

กระบวนการสร้างไฟล์สำหรับการลบ Kernel เก่ามีดังนี้

1. สร้างไฟล์ที่ชื่อว่า remove-old-kernet.sh (หรือจะตั้งชื่ออื่นก็ได้ครับ)

2. เพิ่มข้อมูลในไฟล์ดังต่อไปนี้

apt-get purge $(dpkg -l ‘linux-*’ | sed ‘/^ii/!d;/'”$(uname -r | sed “s/\(.*\)-\([^0-9]\+\)/\1/”)”‘/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d’ | head -n -1)

3. จากนั้นบันทึกแล้วออกจากไฟล์ แล้วให้เปลี่ยนสิทธิ์ของไฟล์ให้สามารถ Execute ได้ โดยใช้คำสั่ง chomod

chmod 755 remove-old-kernel.sh

4. สั่งรันไฟล์ ด้วยสิทธิ์ของ Root  (หรือจะใช้ sudo ก่อนก็ได้ครับ)

./remove-old-kernel.sh

2015-04-02_11-30-56

รูปที่ 2 แสดงรายการ Kernel ที่สามารถลบได้ ให้กด “y” เพื่อยืนยันการลบ

2015-04-02_11-33-17

รูปที่ 3 แสดงรายชื่อ kernel ที่มีอยู่ในค่าคอนฟิกของ Grub ตัวเลขมากสุดหมายถึง kernel ล่าสุด

5. ตรวจสอบขนาดของพาร์ติชั่น จะสังเกตุได้ว่ามีพื้นที่เพิ่มขึ้นมาแล้ว

2015-04-02_11-34-28

รูปที่ 4 แสดงขนาดของพาร์ติชั่นและการตรวจสอบ Kernel ที่ใช้ในปัจจุบัน

**การลบ Kernel ใดๆ อาจจะส่งผลกระทบต่อการทำงานของระบบ ควรพิจารณาโดยละเอียดว่า Kernel ที่ลบไปนั้น ไม่ส่งผลต่อการทำงานโดยรวมของระบบ

Leave a Reply