Existen siete formas de cerrar un sistema, pero en realidad a la larga sólo tiene dos opciones: puede hacerlo de la manera elegante o de la manera ruda.
¿Por qué no usar siempre el método elegante? Naturalmente uno trata de cerrar un sistema de manera elegante. Sin embargo, no todos los sistemas UNIX permiten siempre la salida limpia. En ocaciones, cuando el sistema se encuentra en medio del pricedimiento de apagado, se bloquea. Algunas circunstancias nos obligan a cerrar el sistema de la manera ruda. A continuación se ofrece una lista de las razones que pueden llevarle a cerrar el sistema en una manera poco elegante:
shutdown, halt, telinit
, etc.) para cerrar el sistema, nada sucederá.
Hay dos cosas que siempre deben hacerse antes de iniciar cualquier comando para cerrar su sistema: verifique el nombre de host del sistma que desea cerrar, y ejecute sync
en su disco.
En un ambiente UNIX en red con múltiples shells para sistemas remotos, asegúrese de estar en el sistema correcto utilizando el comando hostname
. Esto sólo toma unos segundos. Si da soporte a entre 50 y 100 sistemas, es muy probable que cierre el sistema equivocado al menos una vez al año. Esto le sucederá cuando esté cansado o no esté poniendo antención.
Cuando utiliza el comando sync
en sus discos, se borran todos los inodos modificados, el caché de bloque de dato y el caché de superbloque de los discos. Al ejecutar sync
antes de cerrar el sistema se reduce la proporción del daño que podría ocasionarse si el sistema se bloquea o si es necesario cerrarlo por las malas.
# hostname rocket # sync # sync
sync
inicia la operación de borrado de los inodos y el caché, pero podría no haber terminado antes de regresar a un indiciador de shell.sync
no se inicia sino hasta que se completa el sync
anterior, lo que le garantiza que se han borrado todos los datos.
Siempre ejecute sync
dos veces si realmente desea estar seguro de que se ha borrado todo. Durante el proceso de inicio, se ejecutará un demonio llamado update
para ejecutar sync
automanticamente cada 30 segundos. Esto no significa que no tiene que ejecutar el comando sync
. No se necesita mas que un segundo para que haya inconsistencia en el sitema de archivos. el demonio update
puede ser una especia de seguro. Si el sistema se bloquea, tal vez update
haya tenido tiempo suficiente para ejecutar sync
en los discos.
La manera de cerrar un ssitema depende del sistema en cuestión. Usted únicamente determina qué método es el mejor para su ambiente. Por lo general, las estaciones de trabajo no cuentan con aplicaciones que contengan una gran cantidad de archivos abiertos, tales como servidores de base de datos. Los servidores más grandes son susceptibles a problemas graves si ocurre un bloqueo del sistema. He aquí una lista de las maneras en que puede cerrarse un sistema, desde las mas seguras, hasta las mas elegantes o rudas.
rc0
.sync
en los discos escribiendo cualquier información pendiente y deteniendo cualquier proceso no esencial. Coloca un registro de cierre en el archivo de contrabilidad y registra el cierre del sistema en el demonio de registor del sistema. No ejecuta el script de cierre rc0
.halt
, éste ejecuta sync
en los discos y detiene cualquier proceso no esencial. No obstante, reboot
reinicia el kernel cargado en la memoria por el monitor PROM.halt
y reboot
. La única diferencia es que, cuando el sistema se inicia de nuesvo, no se ejecuta una verificación de los sistemas de archivos (fsck
).init
multinivel, puede utilizar el comando telinit
para dirigir a init
a un nivel de ejecución específico. Éste sigue los mismos procedimientos que shutdown
; la única diferencia es que no notifica a los usuarios que el sistema va a cerrarse. Inicia el proceso de cierre.sync
en los discos, se cierra el sistema y se inicia una secuencia halt
o reboot
. Incluso hay algunos sistemas en los que al presionar una vez el botón se intenta detener el sistema de manera segura, y al volver a presionarlo se corta el suministro de energía al sistema, aún cuando no se tenga la oportunidad de ejecutar sync
en los discos. En la actualidad algunos fabricantes han configurado el hardware para deterctar una interrupción de encendido e intentan al menos, ejecutar sync
en los discos antes de dejar al sistema sin energía.
Shutdown
. Este comando siempre deberá usarse en cualquier servidor con múltiples usuarios y aplicaciones sensibles que deban ser cerradas de manera elegante.
Halt
. Por lo general, éste comando se emplea en estaciones de trabajo individual. También se usa de manera remota a través de la red para apgar la estación de trabajo de un usuario, cuando el administrador UNIX está seguro de que el sistema se reiniciará sin ningún problema.
fasthalt y fastboot
. Es conveniente utilizar estos comandos en sistemas con alto nivel de utilización, donde hay un sistema que debe reiniciarse en breve. Los candidatos para esto son cualquier sistema que proporcionen un servicio como correo, noticias, DNS o NIS. Los servidores de base de datos no son buenos candidatos para estos comandos. Este comando funciona con los servidores de archivos grandes con más de 50GB de espacio. Si el sistema de archivos está dañado y no se monta al iniciarse el servidor, siempre podrá ejecutar una verificación de sistemas de archivos en el área dañada, sin embargo el resto del sistema estará funcionando a la perfección.
telinit
. Si los demas comandos fallan, el siguiente que debe probar es éste. Aunque, es muy probable que este comando no funcione, ya que su funcion es similar la de shutdown
.
Botón interruptor o llave de encendido. Si no puede cerrar el sistema mediante software, no hay otro camino que presionar el botón de encendido, girar la llave o mover el interruptor de encendido.
Cable corriente. Por lo general, éste es pateado por un usuario o alguien que trabaja cerca de una estación de trabajo, quien luego llama para decir: “De repente, mi computadora se quedó sin corriente”. La mayoría de los fabricantes han disñado sus sistemas de manera que los administradores nunca tengan que lidiar con esta situación. Sin embargo, aún es posible encontrar una o odos estaciones de trabajo en las que es necesario desconectar el cable, pero nunca un sistema de nivel servidor.
Páginas del manual:
fasthalt, halt, hostname, reboot, shutdown, sync, telinit