Làm thế nào để cập nhật kernel đang chạy mà không cần khởi động lại? Tôi biết về Oracle ksplice nhưng nó không miễn phí và nó chỉ hỗ trợ các bản phân phối mà tôi không sử dụng. Có những lựa chọn thay thế cho ksplice?
Làm thế nào để cập nhật kernel đang chạy mà không cần khởi động lại? Tôi biết về Oracle ksplice nhưng nó không miễn phí và nó chỉ hỗ trợ các bản phân phối mà tôi không sử dụng. Có những lựa chọn thay thế cho ksplice?
Câu trả lời:
Công nghệ cơ bản là miễn phí và là một phần của nhân chính; Oracle chỉ cung cấp hình ảnh dựng sẵn. Bạn có thể xây dựng các bản vá ksplice của riêng mình để tự động tải vào kernel của riêng bạn.
Một thay thế cho ksplice
là kexec()
. Thay vì vá kernel Linux trong khi chạy, lệnh này về cơ bản sẽ thay thế kernel hiện tại bằng kernel mới mà không cần khởi động lại hệ thống của bạn.
Để tính năng này khả dụng, nó cần được bật dưới dạng tùy chọn trình biên dịch trong kernel của bản phân phối của bạn - nghĩa là bạn có thể biên dịch các kernel mà không có chức năng này, vì vậy bạn sẽ cần kiểm tra nó có sẵn và / hoặc tự kích hoạt nó .