lunes, 27 de mayo de 2013

Apagando y/o reiniciando el sistema

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Cuando estamos ya funcionando con alguna distribución GNU/Linux, una vez nos recuperamos del impacto que supone abandonar Windows, antes o después llega el momento de cerrar el sistema y apagar el equipo. En el entorno gráfico es algo sencillo de encontrar y hacer, pero aquí nos estamos moviendo con el terminal de comandos (acuérdense: la Shell, que en nuestro caso es bash). Existen varios comandos para cumplir la función de cerrar la sesión, apagar el sistema o apagar el equipo por completo, pero ni son iguales ni actúan del mismo modo.

Aclaremos primero que será necesario ejecutar los siguientes comandos como administrador (o sea, como superusuario o root). Para ello recordemos que tendremos que anteponer el comando sudo cada vez o logarse previamente con el comando su y, seguidamente, teclear la contraseña de root. También recomiendo ampliar la información con man y --help.

El comando más recomendado es shutdown, pero luego están halt, poweroff, logout y reboot. Vamos a verlos todos ellos con algunas de sus opciones.

shutdown
Lo primero es recordar que GNU/Linux es un sistema multiusuario. Hay decisiones que antes de hacerse efectivas es necesario que sean transmitidas a todo aquel que se encuentre conectado al sistema, sobre todo si estamos administrando un servidor. Con shutdown lo que hacemos, por este orden, es notificar el apagado a los usuario conectados mediante wall (mensajería interna) y bloquear el proceso de registro; seguidamente invoca el proceso init (el padre de todos los procesos) para detener el sistema o reinicializarlo según se haya enunciado el comando; después se cierran todos los procesos de la máquina, se desactiva el área swap (la memoria virtual) y, según se la opción escogida, apaga el equipo o lo reinicia. Es la mejor opción para evitar pérdidas de datos.

Veamos algunas opciones interesantes, las cuales son combinables entre sí:

shutdown -t
Nos indica el tiempo en segundos que tardará en apagar.

shutdown -r
Para reiniciar el sistema tras todo lo que implica un shutdown y que acabamos de ver.

shutdown -r now
Para reiniciar el equipo inmediatamente.

shutdown -h
Apaga o detiene el equipo tras el shutdown.

shutdown -H
Detiene el equipo tras el shutdown (implica también la opción -h).

shutdown -P
Apaga el equipo tras el shutdown (implica también la opción -h).

shutdown -k
Envía advertencias de apagado a los usuarios pero sin apagar.

shutdown +25
Apaga el equipo en 25 minutos. Se puede cancelar pulsando Ctrl + c.

shutdown 18:00 El sistema se apagará a las 6:00 PM.
Apaga el equipo a las 18:00 con ese mensaje de aviso a los usuarios conectados. Se puede cancelar pulsando Ctrl + c.

shutdown -c
Para cancelar un apagado programado desde otro terminal.

shutdown -0 / shutdown now
Estas dos formas del comando sirven para lo mismo, apagar el equipo inmediatamente. Sin embargo a mí no me funcionan del todo, ya que siempre me dejan el ventilador de la fuente de alimentación en funcionamiento. Para lograr un apagado completo completamos el comando añadiéndole la opción -h (shutdown -h 0 / shutdown -h now).

halt
Este comando también cierra el sistema y apaga el equipo pero sin seguir todos los pasos de shutdown.

halt -f
Fuerza la detención o el reinicio del sistema sin hacer shutdown.

halt -r
Para reiniciar de forma ordenada.

halt -h
Detiene el sistema

halt -p
Detiene el sistema y apaga el equipo.

poweroff
Sirve para apagar inmediatamente el equipo, sin hacer un shutdown. Equivaldría a pulsar el botón de apagado de la CPU (lo cual siempre es la última opción por la eventual pérdida de datos que puede suponer).

reboot
Comando para reiniciar el equipo. Dispone de las mismas opciones que halt y shutdown.

logout
Sirve para cerrar la sesión y entrar como otro usuario.

uptime
Comando que muestra el tiempo transcurrido desde el arranque del sistema.

Manual en castellano de búsqueda de comandos para Debian y derivados.