ฉันจะตั้งค่าพารามิเตอร์เคอร์เนลเริ่มต้นใน CentOS สำหรับเมล็ดที่มีอยู่และในอนาคตได้อย่างไร


9

ฉันต้องการลบพารามิเตอร์rhgbและquietเคอร์เนลที่ใช้เป็นค่าเริ่มต้นเมื่อเคอร์เนลถูกบูทใน CentOS 6 แต่ฉันต้องการให้มันใช้กับเมล็ดทั้งหมดที่ติดตั้งอยู่ในปัจจุบันรวมถึงเมล็ดที่ติดตั้งในอนาคต ฉันต้องทำสิ่งนี้จากสคริปต์ดังนั้นการแก้ไขไฟล์ด้วยตนเองจึงไม่ใช่ตัวเลือกและการเปลี่ยนแปลงไฟล์ใด ๆ ควรทำอย่างหมดจดที่สุด

ใน Debian / Ubuntu ฉันจะเปลี่ยนGRUB_CMDLINE_LINUX_DEFAULTในและเรียกใช้แล้ว/etc/default/grub update-grubฉันไม่พบการตั้งค่าดังกล่าวใน/etc/sysconfig/grubหรือ/etc/sysconfig/kernelไม่และไม่มีupdate-grubสคริปต์

คำตอบ:


13

ใน Debian / Ubuntu grub.cfgจะถูกสร้างขึ้นอย่างสมบูรณ์โดยสคริปต์และการเปลี่ยนแปลงใด ๆ ที่ทำด้วยตนเองจะถูกอุดตัน อย่างไรก็ตามใน RHEL / CentOS grub.cfgถูกแก้ไขโดยสคริปต์ แต่การเปลี่ยนแปลงด้วยตนเองจะยังคงอยู่และเป็นตำแหน่งที่ยอมรับได้สำหรับการตั้งค่าบางอย่าง

เครื่องมือที่จัดการgrub.cfgคือgrubbyซึ่งเรียกโดย/sbin/new-kernel-pkgเมื่อมีการติดตั้งหรือลบเมล็ด --copy-defaultพารามิเตอร์จะถูกส่งไปgrubbyเมื่อ kernel ใหม่มีการติดตั้งซึ่งเป็นสาเหตุให้คัดลอกพารามิเตอร์จากเคอร์เนลเริ่มต้นปัจจุบัน grub.cfgการตั้งค่าพารามิเตอร์ของเคอร์เนลเริ่มต้นสำหรับเมล็ดอนาคตที่ติดตั้งจะทำดังนั้นโดยการแก้ไขรายการสำหรับเคอร์เนลเริ่มต้นใน

หากคุณไม่ได้ทำสิ่งนี้โดยอัตโนมัติคุณสามารถแก้ไขได้grub.cfgด้วยตนเองและเปลี่ยนรายการเคอร์เนลปัจจุบันทั้งหมด อย่างไรก็ตามคุณสามารถใช้grubbyเพื่อแก้ไขgrub.cfgเพื่อหลีกเลี่ยงการแยกวิเคราะห์หรือเขียนนิพจน์ปกติ ตัวอย่างเช่นสิ่งนี้จะลบrhgbและquietพารามิเตอร์ออกจากเคอร์เนลเวอร์ชันที่ระบุ

# grubby --update-kernel=/boot/vmlinuz-2.6.32-220.13.1.el6.x86_64 --remove-args="rhgb quiet"

ดูเหมือนจะไม่มีตัวเลือกในการแสดงรายการเมล็ดที่กำหนดค่าไว้ในปัจจุบันดังนั้นคุณจะต้องค้นหาวิธีอื่นเหล่านี้ ทางเลือกหนึ่งคือค้นหาvmlinuzไฟล์ใน/boot/:

#!/bin/sh
for KERNEL in /boot/vmlinuz-*; do
    grubby --update-kernel="$KERNEL" --remove-args="rhgb quiet"
done

5
ALLคุณสามารถมีได้นำไปใช้กับทุกเมล็ดในปัจจุบันและอนาคตโดยใช้ grubby --update-kernel=ALL --remove-args="rhgb quiet"
benjarrell

ในกรณีที่มีคนอื่นกำลังมีปัญหาในการถอดรหัสสิ่งที่กล่าวคือการเปลี่ยนแปลงใด ๆ ที่คุณทำกับพารามิเตอร์ของเคอร์เนลgrub.confจะถูกเพิ่มในการอัปเดตเคอร์เนลโดยอัตโนมัติ
ub3rst4r

1

เราพบวิธีแก้ปัญหาสำหรับ CentOS! ยำใช้สกปรกเอง! (strace ขอบคุณ!) grubby มีตัวเลือก "- คัดลอกเริ่มต้น" และฉันคิดว่า yum ทำงานสกปรกด้วย ดังนั้นสิ่งเดียวที่คุณควรทำคือการเพิ่มตัวเลือกเคอร์เนลทั้งหมดที่คุณต้องการสำหรับเคอร์เนลเริ่มต้นปัจจุบันและรีบูต หลังจากรีบูตคุณสามารถติดตั้งเคอร์เนลใหม่!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.