จะอัพเดทเคอร์เนลอย่างไรโดยไม่ต้องรีบูท? (ทางเลือก ksplice)


10

จะอัพเดทการรันเคอร์เนลอย่างไรโดยไม่ต้องบูตเครื่องใหม่? ฉันรู้เกี่ยวกับOracle kspliceแต่ไม่ฟรีและรองรับเฉพาะการแจกแจงที่ฉันไม่ได้ใช้ ksplice มีทางเลือกอื่นหรือไม่?

คำตอบ:


4

เทคโนโลยีพื้นฐานนั้นฟรีและเป็นส่วนหนึ่งของเคอร์เนลฉีด Oracle ให้ภาพที่สร้างไว้ล่วงหน้า คุณสามารถสร้างแพตช์ ksplice ของคุณเองเพื่อโหลดลงในเคอร์เนลของคุณเอง


เยี่ยมมาก! แต่มันอยู่ที่ไหนใน menuconfig หรือเป็นวิธีการที่เรียกว่าใน. config?
Alex Bolotov

ดูแพ็คเกจ ksplice
psusi

เฮ้ฉันได้โพสต์ติดตามผลถาม Ubuntu ว่าคุณอาจจะสามารถตอบ (หรือความช่วยเหลือ): askubuntu.com/questions/193069//
Oli

1
มันอาจเป็นการดีหากเพิ่มรายละเอียดในคำตอบนี้แทนที่จะสร้างคำตอบ 2 ประโยค
ILMostro_7

0

อีกทางเลือกหนึ่งที่จะมีksplice kexec()แทนที่จะทำการแพตช์เคอร์เนล Linux ในขณะที่ทำงานคำสั่งนี้จะแทนที่เคอร์เนลปัจจุบันด้วยเคอร์เนลใหม่โดยไม่ต้องรีบูตระบบของคุณ

เพื่อให้สามารถใช้งานได้จะต้องเปิดเป็นตัวเลือกคอมไพเลอร์ในเคอร์เนลการกระจายของคุณนั่นคือคุณสามารถรวบรวมเมล็ดโดยไม่ต้องใช้ฟังก์ชันนี้ดังนั้นคุณจะต้องตรวจสอบว่ามีอยู่และ / หรือเปิดใช้งานด้วยตนเอง .


5
การเปลี่ยนเคอร์เนลปัจจุบันด้วยเคอร์เนลใหม่อย่างมีประสิทธิภาพคือการรีบูตโดยไม่ต้องกังวลว่าจะต้องผ่านบูทโหลดเดอร์ คุณยังคงต้องบันทึกงานปิดและรีสตาร์ทแอปพลิเคชันของคุณ
psusi

(เดเบียน / อูบุนตู) kexec-tools ดูเหมือนจะไม่ได้รับการพอร์ตเพื่อรองรับ systemd ในเวลานี้; และเท่าที่ฉันรู้ว่าที่เก็บแพ็กเกจปัจจุบันไม่สนับสนุน init ใด ๆ นอกเหนือจาก systemd; ดังนั้น kexec จึงอยู่นอกโต๊ะในที่ดินเดเบียนในขณะนี้
ThorSummoner

@psusi ฉันเชื่อว่า kexec หลีกเลี่ยงการปิดฮาร์ดแวร์จริง ๆ เช่นเมนบอร์ดไม่จำเป็นต้องใช้เวลาในการโพสต์หรือไม่ต้องใช้อุปกรณ์ pci ใด ๆ ในการเริ่มต้นจากศูนย์ - คุณลักษณะที่ฉันต้องการอย่างมากหลังจากฮาร์ดแวร์ใช้เวลาหลายนาทีถึงเย็น บูต: ร้องไห้:
ThorSummoner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.