Mostrando entradas con la etiqueta shutdown. Mostrar todas las entradas
Mostrando entradas con la etiqueta shutdown. Mostrar todas las entradas

martes, 11 de junio de 2013

Ejemplo de uso de alias para simplificar comandos

Lamento tener algo abandonado el blog pero últimamente tengo poco tiempo libre. Hoy vamos con una entrada breve y sencilla para fabricar un comando con el que cerrar la sesión y apagar el ordenador de una sola vez. En esta entrada hablamos de los comandos existentes para realizar esta operación y algunas de sus opciones. La secuencia para cerrar el sistema y dejarlo todo apagado sin sobresaltos sería esta:

sudo shutdown -h 0

        o bien

sudo shutdown -h now

A continuación habría que teclear la contraseña. Bien, un día tras otro esto acaba siendo un trámite un tanto cargante así que vamos a aligerarlo. Vamos a editar el archivo oculto .bashrc ubicado en nuestro home con el editor de textos nano. Si no están logados como root antepongan sudo o no podrán guardar los cambios:

sudo nano .bashrc

Perfecto. Una vez abierto busquemos la siguiente línea.

# some more aliases

Esto último no por nada especial, es simplemente que vamos a usar el comando alias y por una cuestión de orden vamos a procurar que todas las líneas en que lo utilicemos estén cerca unas de otras. En fin, procurando no interrumpir ningún bloque de código escribimos lo siguiente:

# alias para shutdown
alias fuera='sudo shutdown -h 0'

La primera línea, al estar antecedida por el carácter almohadilla, es descriptiva y no tiene funcionalidad, es solo un comentario acerca de lo que viene a continuación. La segunda línea ya sí es es operativa e implica el establecimiento de un atajo para shutdown -h 0 a través del comando alias, atajo al que vamos a llamar fuera (aunque podría ser fin o adios). Esto es, cuando acabemos solo hará falta teclear fuera, y a continuación la clave de usuario que corresponda si procede, para cerrar nuestro PC. Con el comando source recargamos el archivo .bashrc (o reiniciamos, lo que prefieran):

source ~/.bashrc

Y asunto concluido. Este es un ejemplo simple pero pueden crearse el alias de cualquier secuencia de comandos y así ahorrar tiempo y desgaste de huellas dactilares.

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.