Khởi động lại có giống như init 6 không?


22

Khởi động lại có giống như init 6 cho Ubuntu không?

Tôi đang chạy Ubuntu 12.04 trên Amazon EC2. Khi ssh'ed vào hộp tôi có thể gõ runlevelvà tôi nhận được:

N 2

Nhìn vào man reboottôi thấy rằng:

Khi được gọi bằng --force hoặc khi ở runlevel 0 hoặc 6, công cụ này sẽ gọi hệ thống khởi động lại (2) tự gọi lại và trực tiếp khởi động lại hệ thống. Mặt khác, điều này chỉ đơn giản gọi công cụ shutdown (8) với các đối số thích hợp.

Nếu tôi đọc man shutdown 8tôi thấy:

tắt máy sắp xếp cho hệ thống được đưa xuống một cách an toàn. Tất cả người dùng đã đăng nhập đều được thông báo rằng hệ thống sẽ ngừng hoạt động và trong vòng năm phút cuối của TIME, các thông tin đăng nhập mới sẽ bị chặn.

Hiểu biết cơ bản của tôi về sự khác biệt giữa rebootinit 6là:

  • Trên các bản phát hành khác và có lẽ các bản phân phối cũ hơn rebootsẽ chỉ ngắt kết nối các đĩa và về cơ bản bật công tắc nguồn mà không chạy bất kỳ tập lệnh tắt máy nào
  • init 6sẽ chạy tất cả các tập lệnh tắt máy /etc/init/rc.*vì nó làm giảm runlevel của hệ thống
  • Trên các phiên bản Ubuntu mới hơn, rebootlệnh không có --forcehoặc -fsẽ chạy lệnh tắt máy, về cơ bản sẽ thực hiện tương tự nhưinit 6
  • Có lẽ tốt hơn để có thói quen sử dụng init 6thay vì rebootnó an toàn hơn và sẽ hoạt động tốt hơn, nhưng hành vi mặc định rebootđã được thay đổi để thử và ngăn ngừa lỗi / dataloss nếu ai đó sử dụng nó.

Điều đó có đúng không? Nếu không, tôi còn thiếu gì?

Câu trả lời:


23

Thực sự không bao giờ có bất kỳ lý do thuyết phục nào để sử dụng init 6thay vì reboot, trừ khi:

  • Vì một số lý do, bạn đang thiếu chương trình rebootthực thi, hoặc
  • Bạn đang cố tình tránh thông báo cho người dùng rằng hệ thống đang bị sập.

reboot(miễn là bạn không chạy reboot --force) thực sự là cách "nhẹ nhàng" hơn để tắt.

Xem xét:

init 6sẽ chạy tất cả các tập lệnh tắt máy /etc/init/rc.*vì nó làm giảm runlevel của hệ thống

Nhưng các rebootlệnh , gọi mà không cần các --forcelá cờ, chỉ trực tiếp khởi động lại hệ thống (thông qua các rebootcuộc gọi hệ thống ) khi một trong hai tình huống này được áp dụng:

  • Hệ thống ở chế độ runlevel 0 (chế độ người dùng đơn), do đó không có sự giảm runlevel nào có thể xảy ra, do đó không có kịch bản tắt máy nào được tự động chạy.
  • Hệ thống đang ở trạng thái runlevel 6. Điều gì init 6sẽ đưa hệ thống vào runlevel 6. Một lần nữa, không có gì chạy init 6sẽ làm điều đó mà chạy rebootlệnh sẽ không làm.

Nếu không, sudo rebootlà tương đương với sudo shutdown -r now. Điều này làm tất cả những điều tốt đẹp sudo init 6làm, nhưng cũng:

  • thông báo cho người dùng rằng hệ thống đang đi xuống.
  • ngăn chặn thông tin đăng nhập mới (mặc dù có thể chúng sẽ không thành công).
  • là trực quan và tự viết tài liệu hơnsudo init 6 .

Nếu bạn đang ở trên một hệ thống chỉ có bạn đăng nhập và chỉ đăng nhập cục bộ, không có gì sai khi sử dụng init 6để khởi động lại. Nếu đó là cách bạn muốn khởi động lại, thì bằng mọi cách, hãy tiếp tục - bạn không làm hại bất cứ điều gì bằng cách làm như vậy. Nhưng cũng không có gì khách quan thích làm theo cách này.

initTài liệu riêng của họ nói rằng đó không phải là cách thông thường để tắt hoặc khởi động lại hệ thống. Hãy xem xét khi initđược chạy bởi người dùng (như khi bạn chạy sudo init 6), nó thực sự chạy telinit(xem man init). telinitlà những gì thực sự thay đổi runlevels. Và man telinitnói với chúng tôi:

Thông thường, bạn sẽ sử dụng công cụ tắt máy (8) để tạm dừng hoặc khởi động lại hệ thống hoặc đưa nó xuống chế độ một người dùng.


Tôi có Alienware X51 dell pc, nơi tôi đã cài đặt Ubuntu 13.04 và kernel 3.11. Khi tôi làm $ init 6, nó khởi động lại và đôi khi BIOS cứ hiển thị mãi mãi. Có phải vì tôi đang sử dụng init 6 và không khởi động lại lệnh?

1
@YumYumYum Tôi không hiểu tại sao sử dụng init 6sẽ gây ra điều này. Khi bạn sử dụng rebootthay vì init 6, nó có luôn vượt qua BIOS không?
Eliah Kagan

1
Tôi đã cập nhật firmware BIOS từ A00 lên A02, kể từ đó, cả khởi động lại hoặc init 6 của tôi đều hoạt động nên có vẻ như vấn đề về BIOS là vậy. Cảm ơn bạn.

rebootĐôi khi, việc chạy tạm dừng trên Ubuntu Server 14.02 của một người dùng và chỉ đăng nhập cục bộ. Có an toàn không? Tôi luôn làm synctheo a reboot -f?
dùng3549648
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.