Câu trả lời:
Nhìn chung có hai tình huống cần khởi động lại:
libc
(đúng hơn, glibc
) được nâng cấp.Có một cơ chế để tải lại kernel mà không cần khởi động lại ( Làm cách nào tôi có thể nâng cấp kernel của máy chủ mà không cần khởi động lại? ). Với glibc
, vấn đề lớn nhất là init. Có thể khởi động lại init (xem Khởi động lại init mà không khởi động lại hệ thống ).
Đối với người dùng trung bình, không nên sử dụng và khởi động lại là cần thiết .
Rõ ràng, có một trường hợp thứ ba:
dbus
đã được nâng cấp. dbus-daemon
rõ ràng là không có khả năng khởi động lại (từ những gì tôi có thể hiểu về cuộc thảo luận về bài viết này của LWN ). Và vì rất nhiều thứ dựa vào DBus ...Trên thực tế, nó phụ thuộc vào những gì bạn đang cố gắng thực hiện:
Nếu bạn thực hiện apt-get dist-upgrade
và một kernel mới xuất hiện và bạn muốn kích hoạt nó, bạn cần khởi động lại.
Nếu một phiên bản mới của FireFox xuất hiện, rõ ràng là bạn không.
Và ở giữa hai thái cực đó là 50 sắc thái của màu xám:
;-)
Tôi thực sự đã có một tình huống sớm hơn ngày hôm nay chứng minh điều này. Đôi khi, có những thứ còn sót lại trong hệ thống sau khi thay đổi được thực hiện. Ví dụ: tôi có một người dùng không thể truy cập /dev/dsp
mặc dù đã được thêm vào các nhóm thích hợp. Có một khóa được đặt trên nó bởi người dùng đầu tiên truy cập nó. Tuy nhiên, ngay cả sau khi giết người dùng đó, khóa vẫn được giữ nguyên và người dùng thứ hai không thể truy cập được. Tuy nhiên, sau khi khởi động lại, cả hai người dùng đã có thể sử dụng đồng thời /dev/dsp
mà không có bất kỳ xung đột nào. Thực hiện khởi động lại sẽ giải phóng mọi thứ còn sót lại có thể ngăn các thay đổi có hiệu lực.
Tôi không thể nghĩ về bất kỳ tình huống nào khi khởi động lại là hoàn toàn cần thiết .
Thực sự, bạn có thể để Ubuntu chạy vô thời hạn. Nó có thể bị phần mềm độc hại (vì các bản cập nhật kernel và libc không được áp dụng) và nó có thể bị hoảng loạn hoặc bị sập ... Nhưng điều gì đang tránh những thứ thực sự sẽ làm cho bạn?
Với sự phức tạp của cuộc sống, có lẽ cần phải bỏ qua các yêu cầu liên tục của máy tính và duy trì bản thân theo những cách khác. Thích thở, ăn, yêu ... sống.
Nhưng ngay cả khi đó, họ có thực sự cần thiết? Là sự tồn tại của bạn trên mặt phẳng này trong định nghĩa tuyệt đối cần thiết? Tôi thực sự không biết. Một câu hỏi kỳ lạ để hỏi.
Đối với hai kẻ phá hoại trò đùa lớn béo đã hạ thấp bài đăng này và những người theo dõi,
Câu hỏi này không đầy đủ, hoặc ít nhất là kết thúc mở. Khi bạn ném xung quanh các từ như cần thiết , bạn cần đưa ra một bối cảnh.
Nhiều câu trả lời đã cho rằng OP có nghĩa là rất mong muốn (theo nghĩa kỹ thuật), vì vậy, các câu trả lời được đăng phù hợp với bối cảnh như cần thiết để tránh bị hack hoặc cần thiết nếu máy tính của bạn gặp sự cố . Họ là những câu trả lời tốt. Thêm một cái khác không thực sự được bảo hành.
Nhưng họ nói rằng các giả định là mẹ của tất cả các muck up (hoặc một cái gì đó tương tự như vậy) vì vậy tôi bóc nó trở lại cần thiết tuyệt đối . Nếu bạn khăng khăng sử dụng một bản sao cũ 10.10, Thời gian và Không gian sẽ tiếp tục phát triển, cũng như các wont của họ.
Bạn sẽ lưu ý rằng tôi không đề xuất vị trí đó.
Câu hỏi nên được đóng lại chủ yếu dựa trên ý kiến .
Thực tế là, nó phụ thuộc vào những gì đã được cập nhật, mức độ tiếp xúc với hệ thống của bạn với Internet mở và những dịch vụ hệ thống nào bạn có / cần chạy.
Chỉ cần cài đặt các phiên bản mới của gói không dẫn đến các dịch vụ và ứng dụng liên quan được khởi động lại. Ví dụ: nếu bạn đang chạy Firefox trong khi bạn cài đặt gói cập nhật cho nó, thì bạn sẽ được thông báo trong trình duyệt khi bạn quay lại nó, rằng nó cần phải được khởi động lại, sau khi cập nhật được cài đặt. Tương tự, hạt nhân cần phải được "khởi động lại" khi các bản cập nhật được áp dụng cho nó. Vì kernel là mức thấp nhất trên phần cứng, nên bạn cần phải khởi động lại hệ thống, để kernel mới được tải. Đối với các dịch vụ khác, chúng có thể được khởi động lại mà không cần khởi động lại. Một bản cập nhật cho Unityhoặc các thư viện cơ bản được sử dụng bởi các dịch vụ của môi trường, sẽ cần bạn đăng xuất và đăng nhập lại, để khởi động lại chúng. Đối với các dịch vụ hệ thống, có thể tự khởi động lại chúng sau khi cập nhật được áp dụng, nhưng làm như vậy tự động có thể rất gián đoạn nếu bạn đang cố gắng sử dụng hệ thống.
Cách duy nhất để biết hoàn toàn chắc chắn nếu một hành động nhất định là cần thiết, là biết những thay đổi là gì và rủi ro của bạn là gì khi không thực hiện hành động đó. Sửa lỗi bảo mật rõ ràng đòi hỏi nhiều hành động đột ngột hơn những thay đổi đơn giản đối với những thứ khác, mà bạn có thể không bao giờ gặp trực tiếp. Máy tính của bạn càng được kết nối trực tiếp với Internet thì càng có nhiều rủi ro. Bạn sẽ phải xem xét tất cả các biến và đưa ra quyết định nên khởi động lại ngay bây giờ hay sau này khi bạn cài đặt các bản cập nhật.
Khi nào cần thiết để khởi động lại hệ thống Ubuntu?
Một máy chạy và nghiêm ngặt khi thực hiện cập nhật / nâng cấp? Có lẽ không bao giờ (nhưng đọc trên). Hệ thống Linux được thiết lập theo cách mà sau khi bạn cập nhật hệ thống, nơi nó sẽ yêu cầu khởi động lại để kích hoạt các tính năng mới (ví dụ: đọc kernel đã thay đổi; thay đổi thành apache, mysql chỉ yêu cầu khởi động lại dịch vụ) luôn có thể tiếp tục làm việc với trạng thái hiện tại của hệ thống.
Bây giờ nếu bạn muốn các tính năng mới này hoạt động thì phương pháp đơn giản nhất là khởi động lại. Nhưng đối với tất cả chúng tôi quan tâm bạn tiếp tục làm việc trên máy này và khởi động lại vào cuối tuần tiếp theo hoặc cuối tuần sau đó. Hoặc giáng sinh tiếp theo. Có thông minh không? Có thể không. Nhưng không có ai ngăn cản bạn làm như vậy. Hệ thống đủ thông minh để không chấp nhận bản cập nhật tiếp theo nếu máy chủ chưa được khởi động lại.
Đối với tôi, những lý do duy nhất cần khởi động lại là sau lần cài đặt đầu tiên hoặc khi bảo trì khi cần một người dùng (nghĩ những thứ như phân vùng, sửa lỗi đĩa cứng) hoặc khi một kẻ ngốc chạy bom ngã ba nổi tiếng (mặc dù có thể sửa được từ chính hệ thống).
Đối với tất cả các lần khởi động lại khác xảy ra là do ân sủng của quản trị viên. Và tôi không thể gọi đó là "cần thiết".
Trước hết, tôi đánh giá cao câu hỏi này bởi vì nó sẽ luôn hiện hành.
Các câu trả lời khác là chính xác và rất chi tiết - đó là lý do tại sao tôi đi ngắn.
Có những tình huống cần khởi động lại, như sau khi cài đặt kernel mới.
Có những kịch bản được khuyến nghị, như sau khi cài đặt máy tính để bàn mới.
Trong hầu hết các kịch bản, như sau khi cài đặt hoặc nâng cấp, việc khởi động lại phần mềm là không cần thiết.
Bất cứ khi nào bạn nghi ngờ, tôi khuyên bạn nên thực hiện khởi động lại, vì vậy bạn ở bên an toàn.
Cài đặt gói debian-goodies
:
sudo apt-get install debian-goodies
và chạy lệnh
sudo checkrestart
Bạn sẽ thấy một danh sách các dịch vụ và bây giờ bạn có sự lựa chọn:
hoặc là
$ checkrestart
Found 20 processes using old versions of upgraded files
(15 distinct programs)
(14 distinct packages)
Of these, 12 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used to restart them:
gpm:
3044 /usr/sbin/gpm
rpcbind:
2208 /sbin/rpcbind
bind9:
8463 /usr/sbin/named
openssh-server:
22124 /usr/sbin/sshd
ntp:
4078 /usr/sbin/ntpd
tftpd-hpa:
3417 /usr/sbin/in.tftpd
uptimed:
2704 /usr/sbin/uptimed
cron:
3019 /usr/sbin/cron
postfix:
22145 /usr/lib/postfix/qmgr
8892 /usr/lib/postfix/master
hddtemp:
3174 /usr/sbin/hddtemp
autofs:
2792 /usr/sbin/automount
openbsd-inetd:
3254 /usr/sbin/inetd
These are the init scripts:
service gpm restart
service rpcbind restart
service bind9 restart
service ssh restart
service ntp restart
service tftpd-hpa restart
service uptimed restart
service cron restart
service postfix restart
service hddtemp restart
service autofs restart
service openbsd-inetd restart
These processes do not seem to have an associated init script to restart them:
isc-dhcp-client:
3775 /sbin/dhclient