Cách tắt hoặc khởi động lại máy chủ Unix / Linux đúng cách


11

Cách chính xác để tắt máy chủ Unix / Linux là gì?

Từ googling của tôi, tôi đã học được (hy vọng) như sau:

shutdown : Tôi nên sử dụng cái này, với tham số -h để tạm dừng hoặc tham số -r để khởi động lại

tạm dừng : tạm dừng máy tính (dừng bộ xử lý? Điều này có thực sự tắt nguồn máy tính không?). Tôi nghĩ rằng điều này sẽ gọi tắt máy nếu không ở init0, nếu không thì chỉ dừng lại.

khởi động lại : nếu không ở init6, hãy gọi tắt máy, nếu không thì chỉ cần khởi động lại máy tính.

nếu tất cả điều đó là chính xác, thì điều duy nhất tôi không thể hiểu là chính xác những gì 'dừng lại' làm. Có phải nó chỉ dừng bộ xử lý nhưng không tắt máy tính? Làm thế nào để tôi "tắt nguồn" máy tính?

Cảm ơn

Câu trả lời:


13

shutdown -h nowsẽ tắt máy tính với hầu hết các hệ thống, nhưng nó còn tùy thuộc vào việc thực hiện. Sử dụng -Pđể poweroff cho chắc chắn và -Hdừng lại cho chắc chắn. Đây là phương pháp tôi khuyên bạn nên tắt hệ thống. Nó sẽ chạy tất cả các kịch bản thích hợp.

haltkhông có -fý định gọi tắt máy ở trên và vì vậy reboot, về cơ bản chúng chỉ là bí danh.


Bây giờ tôi là một fan hâm mộ lớn của / sbin / shutdown -h (-r). sử dụng "dừng lại" luôn làm tôi sợ.
RateControl

1
Thoreau đưa ra một điểm tốt khác: bạn nên cố gắng tạo thói quen gọi các lệnh hệ thống quan trọng bằng một đường dẫn rõ ràng, (ví dụ / sbin / shutdown). Điều này có thể giúp bạn tiết kiệm nếu hệ thống của bạn bị xâm phạm và bạn không biết về nó.
Ryan Fisher

1
mystikphish: Đồng ý, sẽ áp dụng thói quen đó. Mặc dù anh ấy có một điểm tốt, tôi không biết liệu tôi có tin tưởng lời khuyên của anh ấy về CNTT nói chung không nếu anh ấy dành toàn bộ thời gian trong cabin một phòng không có điện.
Kyle Brandt

Sẽ là một sự thỏa hiệp kém nếu nó không thay đổi khả năng thực thi trong đường dẫn được khắc trong ngón tay của bạn mặc dù ...
asjo

@Kyle Brandt, tốt đẹp.
Joseph Kern

3

Trên Linux, tôi luôn sử dụng reboothaltmặc dù tôi cũng biết những người thấy haltđáng sợ. halt(8)sắp xếp cho biết tại sao:

Theo các bản phát hành sysvinit cũ hơn, không bao giờ được gọi trực tiếp và dừng lại. Từ bản phát hành 2.74 khi tạm dừng và khởi động lại, hãy tắt máy (8) nếu hệ thống không ở trạng thái runlevel 0 hoặc 6. Điều này có nghĩa là nếu tạm dừng hoặc khởi động lại không thể tìm ra runlevel hiện tại (ví dụ: khi / var / run / utmp không có được khởi tạo chính xác) tắt máy sẽ được gọi, có thể không phải là điều bạn muốn. Sử dụng cờ -f nếu bạn muốn dừng cứng hoặc khởi động lại.

sysvinit 2,74 là ngày 17 tháng 3 năm 1998 21:53. :)

Về câu hỏi của bạn làm thế nào để tắt nguồn, bạn có thể sử dụng poweroffhoặc halt -p. Hầu hết các hệ thống Linux gần đây dường như xuống điện trên chỉ halthoặc shutdown -hcũng có.


Solaris vẫn ở trong đám đông nơi 'dừng lại' làm những điều đáng sợ.
Karl Katzke

3

Tôi sử dụng halt- ít tham số để nhớ.

Ai đó đã phát triển một Molly Guard ảo để đảm bảo một người không dừng máy chủ sai. Nó đã cứu tôi trong một vài dịp. Nó được đóng gói molly-guardtrên Ubuntu.


1
Trong trường hợp bất cứ ai khác tự hỏi làm thế nào molly-Guard hoạt động, đây là một ví dụ: guillaume.segu.in/blog/home/118/ Kẻ
Marie Fischer

1

Tôi thường sử dụng (như người dùng root tất nhiên):

 init 0

để đưa hệ thống về trạng thái tắt nguồn. Điều này thực hiện kịch bản rundown.

 init 6

để đưa hệ thống xuống và khởi động lại tự động. Điều này cũng thực hiện kịch bản rundown.


1
tạm dừng cũng sẽ chạy tất cả các bản inits với tham số "dừng".
hayalci

1
Trên hệ thống nào không dừng lại độc đáo?
asjo

2
Dựa trên hai bình luận trên, tôi đã chỉnh sửa ghi chú của mình để xóa bình luận tạm dừng. Tuy nhiên, tôi đã xác minh trên FreeBSD 7.2 và Solaris 10 5/2009 x86 thực thi lệnh tạm dừng đơn giản trên hai hệ thống này sẽ KHÔNG thực hiện trình tự tải xuống tiêu chuẩn. Tuy nhiên, trên Centos 5.3, OpenSUSe 11.1 và Fedora 11, lệnh tạm dừng DOES thực hiện chuỗi tải xuống tiêu chuẩn và hoạt động cơ bản như init 0. FYI ....
mdpc

0

Đáng chú ý ở đây:

Solaris cần "shutdown -y -i5 -g0" để tắt hoặc "shutdown -y -i6 -g0" để khởi động lại. Chỉ nên sử dụng Dừng hoặc Khởi động lại trên Solaris khi không chấp nhận cảnh báo hoặc thời gian ân hạn trước khi bạn bắt đầu tắt mọi thứ ... điều này có thể gây ra sự tàn phá với các hệ thống đĩa nếu bạn không ngắt kết nối chúng trước khi tắt, y 'biết rôi?

Tốt nhất là áp dụng các quy trình tốt nhất cho các hệ điều hành bạn chạm vào hàng ngày, để bạn không vô tình làm hỏng thứ gì đó tồi tệ vào lúc 2 giờ sáng bằng ngón tay trên chế độ lái tự động.

Chẳng hạn, không bao giờ gõ 'killall' trong solaris, trong khi đó là một lệnh khá phổ biến trong linux. 'pkill' hoạt động như nhau trên cả hai, mặc dù.


0

Để tắt nó ngay lập tức, gõ:

shutdown -h now 

và tắt nó ngay lập tức và khởi động lại loại:

shutdown -r now

1
Tôi thấy đây là câu trả lời tốt nhất, không chắc tại sao lại bị đánh giá thấp.
Basil A
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.