Como administrador de sistemas, una de las actividades frecuentes es reiniciar o apagar servidores
Esto puede deberse a una actividad de mantenimiento regular como la aplicación de parches en el sistema operativo o a algún fallo de hardware que requiera apagar el sistema para su mantenimiento.
Un sistema Linux ofrece varias formas diferentes de reiniciar o apagar el servidor. Un sistema normal debería responder a cualquier comando mientras que un servidor degradado puede necesitar un reinicio forzado. Tenga en cuenta que la mayoría de estos comandos requerirán un cierto nivel de privilegio ya sea como superusuario o con sudo para ser ejecutados con éxito ya que reiniciar un sistema es una tarea administrativa y para un sistema multiusuario o un servidor que ejecuta procesos críticos, reiniciar o apagar es una actividad disruptiva.
Este artículo cubre algunos de estos métodos que pueden ayudarle con la actividad de reinicio/apagado de Linux
Método GUI
Si está utilizando un entorno de escritorio GUI para Linux como Gnome, KDE, Mate, XFCE, etc., encontrará un botón de encendido en el menú del sistema/aplicación que ofrece acciones como cerrar sesión, reiniciar, hibernar o apagar. Las opciones disponibles pueden diferir ligeramente en función de la distribución, el entorno de escritorio y la versión del SO que se esté utilizando. Pero seguro que encontrará opciones relacionadas con la energía en los menús disponibles para cambiar el estado de energía de su sistema
Por ejemplo, en mi escritorio Ubuntu Mate, puedo encontrar la opción Apagar en el menú de energía en la parte superior derecha de mi pantalla
Una vez que seleccione la opción "Apagar...", se le presentará un diálogo con múltiples opciones como Suspender, Reiniciar, Cancelar y Apagar. Puede proceder a Reiniciar o Apagar pulsando el botón de la derecha o cancelar y volver a su entorno de escritorio
La GUI ofrecida y las opciones pueden diferir ligeramente según la distribución y el entorno de escritorio que esté utilizando, pero puede estar seguro de que existe una opción para cambiar el estado de energía del sistema. Y con GUI, no es más que unos pocos clics en el menú de encendido
comando systemctl
En una caja Linux que ejecuta systemd como sistema init
, puede utilizar el comando systemctl para reiniciar su máquina
$ sudo systemctl start reiniciar.target
O simplemente puede utilizar systemctl
con la opción requerida, como para reiniciar como
$ sudo
systemctl
reboot
Para iniciar un apagado, el comando systemctl
es como
$ sudo
systemctl shutdown
Para detener el sistema, utilice
$ sudo systemctl
halt
cierre del comando
el comando shutdown
puede utilizarse tanto para apagar como para reiniciar un sistema Linux. Para reiniciar un sistema inmediatamente utilice
$ sudo
shutdown -r now
O para apagar un sistema sin esperar, utilice la bandera -h
o -P
$ sudo shutdown
-P
ahora
Podemos añadir un retardo al comando shutdown
para reiniciar/apagar el sistema después de un intervalo especificado. Esto se puede lograr como
$ sudo
shutdown -r 10
Para detener un sistema sin pedir al hardware que lo apague, puede utilizar la bandera -H
$ sudo shutdown -H
ahora
Si simplemente especifica el comando shutdown
, el apagado se programará al cabo de un minuto. Para apagar a una hora específica utilice
$ sudo
shutdown 22:30
En muchos casos, mientras un sistema se apaga emitirá un mensaje a la consola de los usuarios conectados. Si desea añadir su mensaje personalizado en esta emisión, puede especificar un mensaje junto con el comando shutdown
como
$ sudo shutdown 23:00 "Apagando el sistema por mantenimiento...guarde su trabajo"
Para cancelar un apagado programado, puede utilizar la bandera -c
$ sudo
shutdown -c
En algunos sistemas, el comando shutdown
llama a systemctl
en el backend para lograr la operación de reinicio/apagado deseada
Comando de reinicio
Para reiniciar con gracia un sistema, también puede utilizar el comando reboot
(puede ser necesario utilizarlo con sudo)
$ sudo reboot
Para apagar el sistema con el comando reboot, utilice la bandera -p
$ sudo
reboot -p
Para forzar un reinicio (para sistemas que no responden al comando reboot
normal), puede probar la bandera -f
como
$ sudo reboot
-f
Comando Alto
Para detener un sistema, puede utilizar simplemente el comando halt
$ sudo
halt
Comando Poweroff
Para apagar un sistema, tiene la opción de utilizar el comando poweroff
$ sudo
poweroff
comando init
Para los sistemas que no funcionan con systemd, el comando init
(telinit
también funcionará) ofrece opciones para cambiar el nivel de ejecución del sistema. Para reiniciar un sistema utilizando init
, puede utilizar
$ sudo init 6
Del mismo modo para detener un sistema, el comando init
a utilizar es
$ sudo init
0
Llamar a un nivel de ejecución específico utilizando init hace que el proceso init del sistema ejecute una serie de scripts init en un orden determinado para asegurar que el sistema alcanza el nivel de ejecución deseado. El nivel de ejecución 6 se define para reiniciar mientras que el nivel de ejecución 0 se define para detener el sistema.
Botón de encendido
Para Linux ejecutándose en un ordenador de sobremesa o portátil, pulsar el botón de encendido por defecto tiene la acción de poner el sistema en reposo o apagarlo enviando la señal de apagado. Esta opción puede ajustarse desde la configuración de energía del sistema. Aunque lo ideal es utilizarla como última opción si los comandos normales no funcionan
Para un servidor remoto que ejecuta Linux, el botón de encendido suele apagar el sistema. Pero los ubicados en centros de datos remotos tienen la opción adicional de ser reiniciados o apagados desde sus herramientas CLI/GUI de gestión remota de apagado de luces ofrecidas por los respectivos proveedores de servidores
Combinación Alt SysRq
Para un sistema que no responde y está congelado, es difícil llevarlo a un estado de reinicio o apagado. Cuando no tenga otra opción y como último recurso, puede probar a pulsar Alt PrintScreen una secuencia de teclas
para reiniciar instantáneamente el sistema. Puede que no sea una opción preferida o recomendada, pero sin embargo puede utilizarse como último recurso
Recuerde siempre que existe la posibilidad de pérdida y corrupción de datos al utilizar este método, al igual que con cualquier otra opción de reinicio o apagado forzado y sin gracia. Asegúrese de las mejores prácticas del sistema en cuanto a copias de seguridad y redundancia y tenga cuidado cuando utilice esta opción
Para que esta opción funcione, debería haber sido habilitada en el núcleo de Linux. Puede comprobarlo utilizando el siguiente comando
$ cat /proc/sys/kernel/sysrq
Un resultado de 1 indica que está completamente habilitada, mientras que un número mayor que indica que está parcialmente habilitada con algunas características. Para habilitarlo explícitamente, puede utilizar
$ sudo echo "1" > /proc/sys/kernel/sysrq
Para reiniciar un sistema utilizando este método, mantenga pulsada la tecla tecla Alt SysRq (PrintScreen)
y después pulse en secuencia las siguientes teclas tras un intervalo de unos segundos entre cada tecla
R E I S U B
o para apagar el pulso O
en lugar de B
al final
R E I S U
O
He aquí el significado de las teclas
- R: Cambiar el teclado del modo raw al modo XLATE
- E: Enviar señal SIGTERM a todos los procesos excepto init
- I: Enviar señal SIGKILL a todos los procesos excepto init
- S: Sincronizar todos los sistemas de archivos montados
- U: Volver a montar todos los sistemas de archivos montados como sólo lectura
Por último, tenemos B u O que significan
- B: Reiniciar inmediatamente el sistema, sin desmontar particiones ni sincronizar
O
- O: Apagar inmediatamente el sistema, sin desmontar particiones ni sincronizar
Resumen
Así que aquí van diferentes formas que le permiten reiniciar o apagar un sistema Linux. Le ofrece opciones que van desde simples interfaces GUI hasta comandos de terminal relativamente complejos que pueden hacerle la vida más fácil o incluso le permiten automatizar cosas. Para sistemas que se congelaron por una razón u otra, discutimos formas forzadas de lograr un estado de reinicio o apagado que pueden no ser la forma ideal pero tienen que ser usadas en raras ocasiones.
Tome precauciones al utilizar los comandos discutidos en este artículo ya que afectan al estado del sistema y posiblemente podrían afectar a múltiples usuarios y servicios en el caso de un servidor empresarial. Consulte las páginas man de los comandos sugeridos en este artículo para saber más sobre ellos y todas las opciones que ofrecen
Aprenda a configurar WAS para que deje de pedir la contraseña durante el apagado aquí.