วิธีลบเคอร์เนลเก่าที่ไม่ได้ใช้ใน CentOS, RHEL และ Fedora
ในบทความนี้ เราจะแสดงวิธีลบอิมเมจเคอร์เนลเก่า/ที่ไม่ได้ใช้บนระบบ RHEL/CentOS/Fedora อย่างไรก็ตาม ก่อนที่คุณจะลบเคอร์เนลเก่าออก สิ่งสำคัญคือต้องทำให้เคอร์เนลของคุณทันสมัยอยู่เสมอ ติดตั้งเวอร์ชันล่าสุดเพื่อใช้ประโยชน์จากฟังก์ชันเคอร์เนลใหม่และเพื่อปกป้องระบบของคุณจากช่องโหว่ที่ถูกค้นพบในเวอร์ชันเก่า
หากต้องการติดตั้งหรืออัปเกรดเคอร์เนลเป็นเวอร์ชันล่าสุดในระบบ RHEL/CentOS/Fedora โปรดอ่านคู่มือนี้:
- วิธีติดตั้งหรืออัปเกรดเป็นเคอร์เนลเวอร์ชันล่าสุดใน CentOS 7
โปรดทราบ: ในทางกลับกัน แนะนำให้เก็บเคอร์เนลเก่าอย่างน้อยหนึ่งหรือสองเคอร์เนลไว้ใช้ในกรณีที่มีปัญหาในการอัปเดต
หากต้องการแสดงเวอร์ชันปัจจุบันของ Linux (เคอร์เนล) ที่ทำงานบนระบบของคุณ ให้รันคำสั่งนี้
uname -sr
Linux 3.10.0-327.10.1.el7.x86_64
แสดงรายการเคอร์เนลที่ติดตั้งทั้งหมดบนระบบ
คุณสามารถแสดงรายการอิมเมจเคอร์เนลทั้งหมดที่ติดตั้งบนระบบของคุณได้เช่นนี้
rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
kernel-3.10.0-327.3.1.el7.x86_64
kernel-3.10.0-327.10.1.el7.x86_64
การลบเคอร์เนลเก่า/ไม่ได้ใช้บน CentOS/RHEL
คุณต้องติดตั้ง yum-utils ซึ่งเป็นกลุ่มโปรแกรมอรรถประโยชน์ที่ทำงานร่วมกับ yum เพื่อให้มีประสิทธิภาพและใช้งานง่ายยิ่งขึ้น โดยขยายคุณสมบัติดั้งเดิมในคุณสมบัติต่างๆ มากมาย วิธี
yum install yum-utils
หนึ่งในยูทิลิตี้เหล่านี้คือ การล้างแพ็คเกจ ซึ่งคุณสามารถใช้เพื่อลบเคอร์เนลเก่าดังที่แสดงด้านล่าง แฟล็กนับใช้เพื่อระบุจำนวนเคอร์เนลที่คุณต้องการปล่อยไว้ในระบบ
package-cleanup --oldkernels --count=2
Loaded plugins: fastestmirror, langpacks, product-id, versionlock
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-229.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-229.14.1.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.1.2.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.14.1.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================================
Removing:
kernel x86_64 3.10.0-229.el7 @anaconda 131 M
kernel x86_64 3.10.0-229.14.1.el7 @updates 131 M
kernel-devel x86_64 3.10.0-229.1.2.el7 @updates 32 M
kernel-devel x86_64 3.10.0-229.14.1.el7 @updates 32 M
Transaction Summary
===============================================================================================================================================================================================
Remove 4 Packages
Installed size: 326 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : kernel-devel.x86_64 1/4
Erasing : kernel.x86_64 2/4
Erasing : kernel-devel.x86_64 3/4
Erasing : kernel.x86_64 4/4
Loading mirror speeds from cached hostfile
* base: centos.mirror.snu.edu.in
* epel: repo.ugm.ac.id
* extras: centos.mirror.snu.edu.in
* rpmforge: kartolo.sby.datautama.net.id
* updates: centos.mirror.snu.edu.in
Verifying : kernel-3.10.0-229.el7.x86_64 1/4
Verifying : kernel-devel-3.10.0-229.14.1.el7.x86_64 2/4
Verifying : kernel-3.10.0-229.14.1.el7.x86_64 3/4
Verifying : kernel-devel-3.10.0-229.1.2.el7.x86_64 4/4
Removed:
kernel.x86_64 0:3.10.0-229.el7 kernel.x86_64 0:3.10.0-229.14.1.el7 kernel-devel.x86_64 0:3.10.0-229.1.2.el7 kernel-devel.x86_64 0:3.10.0-229.14.1.el7
Complete!
ข้อสำคัญ: หลังจากรันคำสั่งข้างต้นแล้ว มันจะลบเคอร์เนลเก่า/ที่ไม่ได้ใช้ทั้งหมด และเก็บเคอร์เนลที่ทำงานอยู่ในปัจจุบันและเคอร์เนลเก่าล่าสุดไว้เป็นข้อมูลสำรอง
การลบเคอร์เนลเก่า/ไม่ได้ใช้บน Fedora
ตอนนี้ Fedora ใช้ตัวจัดการแพ็คเกจ dnf ซึ่งเป็นตัวจัดการแพ็คเกจ yum เวอร์ชันใหม่ ดังนั้นคุณจึงจำเป็นต้องใช้คำสั่งด้านล่างนี้เพื่อลบเคอร์เนลเก่าบน Fedora
dnf remove $(dnf repoquery --installonly --latest-limit 2 -q)
อีกทางเลือกหนึ่งในการลบเคอร์เนลเก่าโดยอัตโนมัติคือการตั้งค่าขีดจำกัดเคอร์เนลในไฟล์ yum.conf ดังที่แสดง
installonly_limit=2 #set kernel count
บันทึกและปิดไฟล์ ครั้งถัดไปที่คุณรันการอัพเดต ระบบจะเหลือเคอร์เนลเพียงสองเคอร์เนลเท่านั้น
คุณอาจต้องการอ่านบทความที่เกี่ยวข้องต่อไปนี้เกี่ยวกับเคอร์เนล Linux
- วิธีโหลดและยกเลิกการโหลดโมดูลเคอร์เนลใน Linux
- วิธีอัปเกรดเคอร์เนลเป็นเวอร์ชันล่าสุดใน Ubuntu
- วิธีการเปลี่ยนพารามิเตอร์รันไทม์เคอร์เนลในลักษณะถาวรและไม่ถาวร
ในบทความนี้ เราได้อธิบายวิธีลบอิมเมจเคอร์เนลเก่า/ที่ไม่ได้ใช้บนระบบ RHEL/CentOS/Fedora คุณสามารถแบ่งปันความคิดใด ๆ ผ่านข้อเสนอแนะจากด้านล่าง