Yêu cầu khởi động lại hệ thống Làm thế nào tôi có thể nhận được những gì đã kích hoạt thông báo này để hiển thị chi tiết?


26

Mỗi lần như vậy, tôi sẽ SSH vào một hộp có nâng cấp không giám sát và được chào đón bằng "** Yêu cầu khởi động lại hệ thống ***" mà không có thêm thông tin.

Tệp '/var/run/reboot-required.pkgs' của tôi chứa:

linux-image-3.13.0-61-generic
linux-base
linux-base
linux-base

Tôi không ngại khởi động lại, nhưng tôi không thích khởi động lại mà không có thông tin chi tiết TẠI SAO tôi nên khởi động lại ngay từ đầu. Ở trên, tôi thấy hai gói kích hoạt thông báo, nhưng không có lời giải thích nào ngoài điều đó.

Có cách nào để có thêm thông tin chi tiết về lý do khởi động lại cũng hiển thị khi đăng nhập SSH không?

Lý tưởng nhất là tôi muốn lấy một tệp chứa thứ gì đó có thể đọc được như con người, "Gói xyz đã được cập nhật vào [ngày / giờ]. Nó cần sửa đổi các tệp a, b và c nhưng không thể vì hệ thống bị chặn / sẽ chặn hành động. Trong lần khởi động lại tiếp theo, các tệp a, b và c sẽ được thay thế. " Nhưng một cái gì đó không hoàn toàn có thể đọc được con người có lẽ cũng ổn.


IMO có vẻ hiển nhiên: Hạt nhân đã được nâng cấp và nó không thể tự thay thế (ít nhất là chưa).
muru

6
Tất nhiên điều đó là hiển nhiên với bạn nhưng chỉ vì tôi đã đi đào và tìm kiếm mọi thứ để tôi có thể chứng minh những gì tôi muốn. Nó không rõ ràng ngay khi tôi SSH vào hộp. Hiển thị danh sách gói yêu cầu khởi động lại cũng không đủ. Tôi muốn biết ngày và thời gian gói đó được cập nhật và lý do có thể đọc được của con người giải thích lý do tại sao gói muốn khởi động lại. Nếu máy nướng bánh mì của bạn muốn khởi động lại, bạn sẽ muốn biết lý do tại sao. Vậy tại sao không đòi hỏi nhiều, nếu không muốn nói là từ một hệ điều hành rất phức tạp?
E. Diaz

Bởi vì tôi là một thằng ngốc? Hãy chỉnh sửa nếu bạn nghĩ rằng câu hỏi cần làm rõ.
E. Diaz

Câu trả lời:


24

Chỉnh sửa: Một bài viết khác, có thể có liên quan hoặc hữu ích .

Như bạn đã tìm ra, bạn có thể tìm thấy các gói yêu cầu khởi động lại trong /var/run/reboot-required.pkgs

Bây giờ bạn chỉ cần nhìn vào thay đổi của gói để tìm thông tin bạn đang tìm kiếm.

  • Nếu bạn đã ở trên máy, bạn có thể tìm thấy các thay đổi trong /usr/share/doc/${package_name}(ví dụ zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz:).
  • Debian cung cấp một số công cụ apt-listchangesđể giúp việc này thuận tiện hơn ( 1 , 2 , 3 ).
  • Một cách khác để làm điều đó là sử dụng các gói.ubfox.com .

    Trong trường hợp của bạn:

    hình ảnh hiển thị nơi tìm liên kết cho thay đổi trên gói.ubfox.com


5

Các tập tin cuối cùng được gọi là /usr/lib/update-notifier/update-motd-reboot-required(nó được gọi bởi /etc/update-motd.d/98-reboot-required).

Trong câu lệnh if có điều kiện của một trong những tệp đó, chỉ cần thêm đoạn này:

    echo "Packages causing reboot:"
    cat /var/run/reboot-required.pkgs

Vì vậy, ví dụ, /usr/lib/update-notifier/update-motd-reboot-requiredtệp của bạn sẽ trông giống như thế này:

#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
        echo "Packages causing reboot:"
        cat /var/run/reboot-required.pkgs
fi
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.