Cómo apagar o reiniciar correctamente un servidor Unix / Linux

11

¿Cuál es la forma correcta de apagar un servidor Unix / Linux?

De mi búsqueda en Google, he aprendido (con suerte) lo siguiente:

apagado : debería usar esto, con el parámetro -h para detener, o el parámetro -r para reiniciar

detener : detiene la computadora (detiene el procesador; ¿esto apaga físicamente la alimentación de la computadora?). Creo que esto llamará apagado si no es en init0, de lo contrario simplemente se detiene.

reiniciar : si no está en init6, se apaga la llamada, de lo contrario solo se reinicia la computadora.

Si todo eso es correcto, entonces lo único que no puedo entender es qué hace exactamente 'detener'. ¿Detiene el procesador pero no apaga físicamente la computadora? ¿Cómo "apago" la computadora?

Gracias

Tony Stark
fuente

Respuestas:

13

shutdown -h nowapagará la computadora con la mayoría de los sistemas, pero se deja a la implementación. Use -Ppara apagar con seguridad y -Hpara detenerse con seguridad. Este es el método que recomendaría para apagar el sistema. Ejecutará todos los scripts correctos.

haltsin -fsolo llamará al cierre anterior y también lo hará reboot, básicamente son solo alias.

Kyle Brandt
fuente
Soy un gran admirador de / sbin / shutdown -h (-r) ahora. usar "detener" siempre me asustó.
RateControl el
1
Thoreau hace otro buen punto: debe intentar acostumbrarse a llamar a comandos importantes del sistema con una ruta explícita (por ejemplo, / sbin / shutdown). Esto podría salvarlo si su sistema alguna vez se ve comprometido y no lo sabe.
Ryan Fisher
1
Mystikphish: De acuerdo, va a adoptar ese hábito. Aunque tiene un buen punto, no sé si confiaría en sus consejos sobre TI en general si pasa todo su tiempo en una cabina de una habitación sin electricidad.
Kyle Brandt el
Sería un mal compromiso si no cambiara el ejecutable en la ruta que está grabada en sus dedos ...
asjo el
@Kyle Brandt, bien.
Joseph Kern el
3

En Linux, siempre he utilizado rebooty halt, aunque también sé personas que se encuentran haltmiedo. halt(8)tipo de dice por qué:

En versiones anteriores de sysvinit, el reinicio y la detención nunca deberían llamarse directamente. Desde la versión 2.74 en detener y reiniciar invoke shutdown (8) si el sistema no está en el nivel de ejecución 0 o 6. Esto significa que si se detiene o reinicia no se puede encontrar el nivel de ejecución actual (por ejemplo, cuando / var / run / utmp no se inicializó correctamente) se llamará a shutdown, que podría no ser lo que desea. Use la bandera -f si desea detener o reiniciar.

sysvinit 2.74 está fechado el 17 de marzo de 1998 21:53. :)

Con respecto a su pregunta sobre cómo apagar, puede usar poweroffo halt -p. Los sistemas Linux más recientes parecen apagarse solo halto shutdown -htambién.

Marie Fischer
fuente
Solaris todavía está en la multitud donde 'detenerse' hace cosas aterradoras.
Karl Katzke el
3

Yo uso halt- menos parámetros para recordar.

Alguien ha desarrollado un Molly Guard virtual para garantizar que no se detenga el servidor incorrecto por accidente. Me ha salvado en algunas ocasiones. Está empaquetado en molly-guardUbuntu.

Morten Siebuhr
fuente
1
En caso de que alguien más se pregunte cómo funciona Molly-Guard, aquí hay un ejemplo: guillaume.segu.in/blog/home/118/…
Marie Fischer
1

Generalmente uso (como usuario root, por supuesto):

 init 0

para llevar el sistema a un estado de apagado. Esto realiza scripting resumido.

 init 6

para derribar el sistema y reiniciarlo automáticamente. Esto también realiza scripting resumido.

mdpc
fuente
1
detener también ejecutaría todos los initscripts con el parámetro "stop".
hayalci
1
¿En qué sistema no se detiene bien?
asjo 03 de
2
En base a los dos comentarios anteriores, edité mi nota para eliminar mi comentario de detención. Sin embargo, verifiqué en FreeBSD 7.2, y Solaris 10 5/2009 x86 ejecutar el comando de detención simple en estos dos sistemas NO activará la secuencia de resumen estándar. Sin embargo, en Centos 5.3, OpenSUSe 11.1 y Fedora 11, el comando de detención SÍ activa la secuencia de resumen estándar y actúa básicamente como init 0. FYI ....
mdpc
0

Vale la pena señalar aquí:

Solaris necesita "shutdown -y -i5 -g0" para apagarse o "shutdown -y -i6 -g0" para reiniciar. Detener o reiniciar en Solaris solo debe usarse cuando es aceptable no dar una advertencia o un período de gracia antes de comenzar a apagar las cosas ... esto puede causar estragos en los sistemas de disco si no los desmonta antes de apagarlos, y '¿saber?

Es mejor adoptar los mejores procedimientos para los sistemas operativos que toca a diario, para no atornillar accidentalmente algo malo a las 2 am con los dedos en el piloto automático.

Por ejemplo, nunca escriba 'killall' en solaris, mientras que ese es un comando bastante común en Linux. Sin embargo, 'pkill' funciona igual en ambos.

Karl Katzke
fuente
0

Para apagarlo de inmediato, escriba:

shutdown -h now 

y para apagarlo inmediatamente y reiniciar escriba:

shutdown -r now
usuario3571127
fuente
1
Encuentro esta la mejor respuesta, no estoy seguro de por qué votaron negativamente.
Basil A