Làm thế nào tôi có thể biết nếu cần khởi động lại sau khi cập nhật?


28

Tôi có 4 máy chủ với hệ điều hành Debian Wheezy. Tôi đã cài đặt Apticron thông báo cho tôi về các bản cập nhật. Các bản cập nhật Debian được nhận ra thường xuyên đến nỗi khi tôi hoàn thành cập nhật 4 máy chủ cuối cùng, tôi nhận được email mới về các bản cập nhật mới trên máy chủ đầu tiên. Tôi cố gắng cập nhật tất cả các máy chủ khi tôi nhận được thông báo nhưng tôi không bao giờ biết nếu có nhu cầu khởi động lại máy chủ. Tôi đã đọc rằng nếu thư mục "/var/run"chứa tập tin "reboot-required"tôi phải khởi động lại máy chủ. Nhưng tôi chưa bao giờ thấy tập tin này trong "/var/run". Làm thế nào tôi có thể biết khi cần khởi động lại? Tôi không muốn khởi động lại máy chủ của mình mỗi khi tôi cài đặt các bản cập nhật mới nếu không cần thiết.

Tôi hiểu rằng nếu tôi cập nhật PHP hoặc MySQL, v.v. Tôi không cần phải khởi động lại máy chủ nhưng các bản cập nhật thường chứa nhiều "lib ...".

Dưới đây là 9 cập nhật (tôi đã nhận được trong tuần này).

krb5-locales 1.10.1+dfsg-5+deb7u3
libdbus-1-3 1.6.8-1+deb7u6
libgssapi-krb5-2 1.10.1+dfsg-5+deb7u3
libk5crypto3 1.10.1+dfsg-5+deb7u3
libkrb5-3 1.10.1+dfsg-5+deb7u3
libkrb5support0 1.10.1+dfsg-5+deb7u3
libruby1.8 1.8.7.358-7.1+deb7u2
libxml2 2.8.0+dfsg1-7+wheezy3
ruby1.8 1.8.7.358-7.1+deb7u2

Tôi không biết "libkrb, libgssapi" là gì, v.v ... Làm thế nào tôi có thể phát hiện nếu cần khởi động lại? Vui lòng không đề xuất cài đặt UnattendsUpgrades để cho phép các máy chủ cập nhật tự động vì điều này có thể khiến các trang web ngoại tuyến nếu có gì đó cập nhật không chính xác.


Nếu bạn chỉ áp dụng securityluồng và không cập nhật chung, bạn sẽ không nhận được quá nhiều cập nhật.
poolie

Câu trả lời:


31

Kiểm tra checkrestarttừ debian-goodiesgói. Nó cho thấy các quá trình sử dụng các phiên bản cũ của libs bạn đã cập nhật. Nếu bạn không thể xóa tất cả các quy trình ra khỏi danh sách đó, bạn cần khởi động lại :)

Ngoài ra (như YuKYuK đã nói), luôn khởi động lại sau khi cập nhật kernel!


10
Ngoài ra, kiểm tra needrestart. linux-audit.com/ từ
ypid

9

cat /var/run/reboot-required.pkgsđể xem 'service' waiting for a reload. Không có gì cần khởi động lại, chỉ cần nâng cấp kernel (và Windows :)).

Hoặc trên Debian: lsof | grep lib | grep DEL


Quên nói: anh ấy liệt kê tất cả các lib cập nhật. Sau đó, bạn cần khởi động lại ứng dụng với các phụ thuộc.
YuKYuK

Như tôi đã viết trong câu hỏi của mình, tôi chưa bao giờ thấy tập tin /var/run/reboot-required.pkgs. Tôi kiểm tra thư mục này sau mỗi lần cập nhật nhưng không có gì.
user1406271

lsof | grep lib | grep DEL để xem lib đang chờ được "cập nhật"
YuKYuK

2
Yep và lệnh hiển thị lib đang chờ để được "cập nhật" và một số lib chỉ chờ khởi động lại "dịch vụ". Chỉ cập nhật kernel mới cần khởi động lại hệ thống (vì kernel là kernel :).
YuKYuK

3
Lưu ý liên quan đến Debian Jessie: reboot-notifierlà một gói nhỏ không được cài đặt theo mặc định sẽ nối thêm tệp này khi cần khởi động lại để tải kernel đã cập nhật. reboot-notifiercó thể được sử dụng thay thế update-notifier-commonđã bị xóa trong Debian Jessie. Xem thêm: serverfault.com/a/92939/177172 .
ypid

2

Chỉ để thêm vào điều này, tôi đã gặp vấn đề tương tự với các máy chủ của mình và tôi đã viết một kịch bản cập nhật nơi tôi kiểm tra / var / run / như YuKYuK đề xuất:

test -f /var/run/reboot-required && echo rebooting && sudo reboot
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.