Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este artculo necesita ser wikificado en base al manual de estilo de este wiki. Por favor, colabora editndolo conforme a las normas de edicin de este sitio. No elimines este aviso hasta que lo hayas hecho.
Contenido
1 Inicio del sistema 2 Cierre del sistema 3 Intrprete de rdenes 4 Fuente 5 Vase tambin
13/09/13
primero que hace el cdigo del kernel que se ejecuta inicialmente es descomprimir el propio kernel y situarlo en memoria. Entonces se ejecuta realmente el kernel y empieza una lista de comprobaciones y activacin de mdulos internos del mismo Una vez funcionando, el kernel monta el disco principal donde se almacena el sistema operativo (root filesystem y ejecuta el primer proceso: init. La misin de init es ejecutar el resto de procesos del sistema: comprobacin de discos, deteccin/configuracin de hardware adicional, apertura de terminales, servidores, etc. Una vez que el kernel se ha cargado en memoria, ejecuta el programa init, que se convierte en el proceso nmero 1 y se encarga de ejecutar el resto de programas que hacen que el sistema funcione. La operacin de init se configura en el fichero / e t c / i n i t t a b . Empezando en este fichero se puede seguir paso a paso el proceso de arranque (y parada) del sistema. Lo importante a saber aqu es que init no hace demasiado por si mismo, sino que se limita a ejecutar una serie de guiones o scripts que activan ordenadamente los diferentes servicios que hacen funcionar el sistema. En primer lugar se ejecutan por orden alfabtico todos los scripts que se encuentren bajo el directorio / e t c / r c S . dque comiencen por S con start como argumento. Por convenio estos scripts se nombran comenzando por un nmero de dos cifras para establecer el orden adecuado. Cada script tiene una funcin particular, por ejemplo: S10checkroot.sh comprueba el sistema de ficheros. S20adjtimex ajusta el reloj del sistema. S40networking activa los interfaces de red. En realidad, y por convenio, estos scripts no se sitan directamente en / e t c / r c S . d , sino que se guardan en el directorio / e t c / i n i t . dy desde ah se hacen enlaces simblicos a / e t c / r c S . d . De esta forma es ms fcil aadir, eliminar y ordenar los componentes. Las tareas realizadas por los scripts en / e t c / r c S . dson las bsicas para arrancar el sistema. Luego se ejecutan otra serie de scripts correspondientes a un runlevel o nivel de ejecucin. Los runlevels (niveles de ejecucin) son un mecanismo para permitir que el ordenador trabaje con diferentes configuraciones de arranque (diferentes servicios, etc.). Los runlevels se numeran del 0 al 6. El 0 se ejecuta para parar el sistema (halt), el 6 para reiniciar (reboot) y el 1 para arrancar en modo single user, que viene a ser una cofiguracin mnima para realizar tareas de administracin. El resto de los runlevels son para funcionamiento normal. El runlevel por defecto es el 2 (se configura en / e t c / i n i t t a b ), empleando los otros slo en situaciones especiales. En Debian, los runlevels del 2 al 5 se configuran inicialmente de forma idntica. As, el proceso de arranque suele continuar ejecutando los scripts del runlevel correspondiente situados en / e t c / r c X . d , donde X es el nmero del runlevel. La forma de ejecutar estos scripts es anloga al caso anterior, salvo que ahora se ejecutan primero los scripts que comiencen con K con argumento stop y luego los que comienzan con S con argumento start. La idea es que cada script gestione una tarea o servicio. Este servicio se inicia cuando el script se ejecuta con el argumento start y se detiene cuando se usa el argumento stop. De esta forma en cada runlevel puden detenerse los servicios que no se necesiten y activarse aquellos que interese. Este sistema tambin facilita el arranque y parada de servicios, ejecutando estos scripts manualmente con el argumento apropiado. En cualquier momento, el administrador puede hacer que el sistema cambie a otro runlevel ejecutando el comando t e l i n i tcon un argumento numrico indicando el nuevo runlevel. Por ejemplo:
doc.ubuntu-es.org/Inicio_y_cierre_del_sistema 2/4
13/09/13
#t e l i n i t3
En general, no hay que preocuparse por la configuracin del arranque, ya que el sistema de instalacin se ocupa automticamente de actualizar la configuracin en funcin de los paquetes instalados.
Con el parmetro -r hacemos un reboot, y con -h un halt (simplemente detenemos el sistema, sin reinicializar). El parametro "now" puede ser substituido por una hora o puede indicarse el tiempo que deber esperar el sistema para proceder al reinicio/parado del sistema. Algn ejemplo sobre el reinicio del sistema sera:
s h u t d o w nh / r2 0 : 0 0 s h u t d o w nh / r+ 1 0
Intrprete de rdenes
El proceso login (de registro/ingreso) nos asigna un intrprete de mandatos, ledo de nuestra entrada en / e t c / p a s s w d . Ya sabemos que un shell no es ms que un programa del sistema que nos va a permitir relacionarnos con la mquina, introducindole rdenes desde el teclado; es la interfaz de usuario que nos ofrece cualquier sistema operativo. En nuestro sistema Unix podemos tener instalados diversos intrpretes de rdenes; en el archivo / e t c / s h e l l s tenemos los disponibles para cada usuario, incluido el root. Por defecto se asigna el Bourne Again Shell (bash), el ms cmodo, que incluye lo mejor de todos los anteriores intrpretes, como el C-Shell (csh) o el Korn Shell (ksh). El bash incluye rodillo de mandatos, histrico de rdenes (en el archivo . b a s h _ h i s t o r ydel directorio
doc.ubuntu-es.org/Inicio_y_cierre_del_sistema 3/4
13/09/13
uso de tabuladores para completar rdenes, etc. Cualquier intrprete de Unix nos ofrece un entorno de programacin completo con herramientas similares a las de la mayora de lenguajes de programacin secuencial (if, for, while, ...). Tambin nos va a ofrecer una serie de rdenes, denominadas rdenes internas, que no encontramos como archivos ejecutables en el sistema, y que por supuesto no va a ser necesario cargar en memoria para oder ejecutarlas; un ejemplo tpico de este tipo de instrucciones es e x i t : no encontraremos ningn ejecutable en todos los sistemas de ficheros de Unix que se denomine as. En Unix existe el mandato c h s h , que permite a cualquier usuario modificar el shell que el sistema le asigna por defecto (recordemos que este dato est grabado en / e t c / p a s s w d ). En determinados clones, chsh no va a comprobar que el shell sea vlido (esto es, que sea una entrada de /etc/shells). Esto puede suponer un problema: imaginemos que un usuario inexperto cambia su shell de entrada a / b i n / l o g i n ; ser imposible para l volver a entrar al sistema mediante conexin remota hasta que el administrador modifique la informacin de / e t c / p a s s w d . Por tanto, desde hace algn tiempo la mayora de Unix del mercado (y por supuesto tambin GNU/Linux) hacen la comprobacin oportuna. Analizando el funcionamiento de c h s h , vemos que una de las cosas que realiza es modificar el fichero de contraseas para cambiar el shell de entrada de un usuario; por tanto, el archivo est setuidado. Puede ser interesante para nosotros resetear el bit setuid del archivo (c h m o ds ) para as conseguir un mayor nivel de seguridad del sistema, ya que, como veremos ms adelante, es conveniente mantener al mnimo el nmero de archivos "setuidados" en la mquina. Si lo hacemos as y algn usuario quiere cambiar su intrprete de rdenes cada vez que entre al sistema puede incluir en su . p r o f i l euna orden como:
e x e c< n u e v o s h e l l >
De esta forma, sustituye el proceso que ejecuta . p r o f i l e(el shell) por la orden <nuevoshell>, el nuevo intrprete que desea.
Fuente
"Gua de administracin de Debian GNU/Linux" - Jorge Juan Chico <jjchico@imse.cnm.es>, Manuel J. Bellido Daz <bellido@imse.cnm.es> sobre licencia.
Vase tambin
GRUB - Gestor de arranque en Ubuntu. Sys Req/Pet Sis - Cmo cerrar correctamente en caso de cuelgue del sistema. Obtenido de http://doc.ubuntu-es.org/index.php?title=Inicio_y_cierre_del_sistema&oldid=15612 Categoras: Wikificar Administracin del sistema
doc.ubuntu-es.org/Inicio_y_cierre_del_sistema
4/4