Tema 3 Arranque y parada del sistema
Tema 3. Arranque y parada del sistema Administración de Sistemas ...
Tema 3. Arranque y parada del sistema Administración de Sistemas ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 1/29<br />
<strong>Tema</strong> 3.<br />
<strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong><br />
Administración de Sistemas Operativos<br />
Administración de Sistemas Operativos y Periféricos<br />
M a Pilar González Férez
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 2/29<br />
Índice<br />
1. Proceso de arranque <strong>del</strong> <strong>sistema</strong><br />
a) <strong>Arranque</strong> de un PC<br />
b) Gestor de arranque GRUB<br />
c) Modo monousuario<br />
d) Modo multiusuario<br />
e) Niveles de ejecución o arranque en Linux<br />
f ) <strong>Arranque</strong> mediante Upstart<br />
g) Ficheros de inicialización<br />
h) Resumen <strong>del</strong> proceso de arranque<br />
2. Parada <strong>del</strong> <strong>sistema</strong><br />
3. Caídas <strong>del</strong> <strong>sistema</strong> y problemas de arranque
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 3/29<br />
<strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong><br />
Todo <strong>sistema</strong> necesita los procesos de arranque y de<br />
<strong>parada</strong><br />
En el proceso de arranque se prepara al <strong>sistema</strong> para<br />
ser usado por los usuarios<br />
En el proceso de <strong>parada</strong> se deja el <strong>sistema</strong><br />
consistente (por ejemplo, los bloques de disco modificados en<br />
memoria se guardan en el <strong>sistema</strong> de ficheros)<br />
El administrador debe saber qué hacen estos dos<br />
procesos y cómo lo hacen, ya que le facilitará<br />
reconocer posibles situaciones de error y solucionarlas<br />
En la actualidad son procesos muy sencillos⇒una serie<br />
de ficheros de configuración y de guiones shell determinan<br />
y controlan estos procesos
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 4/29<br />
1. Proceso de arranque <strong>del</strong> <strong>sistema</strong><br />
<strong>Arranque</strong> de un PC<br />
El arranque de un ordenador actual tiene 2 fases:<br />
arranque hardware<br />
arranque <strong>del</strong> S.O.
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 5/29<br />
1.1 <strong>Arranque</strong> de un PC (ii)<br />
Iniciador ROM⇒Programa de arranque disponible en<br />
la ROM<br />
Al arrancar el ordenador⇒Señal eléctrica⇒Carga<br />
valores predefinidos en los registros<br />
En el contador <strong>del</strong> programa se carga la dirección de<br />
inicio <strong>del</strong> iniciador ROM<br />
El iniciador ROM realiza tres funciones:<br />
1. Comprueba el <strong>sistema</strong>, detectando sus características y<br />
comprobando su funcionamiento<br />
2. Lee y almacena en memoria el programa cargador <strong>del</strong> S.O.<br />
3. Pasa el control al cargador <strong>del</strong> S.O., saltando a la dirección de<br />
memoria donde lo ha almacenado
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 6/29<br />
1.1 <strong>Arranque</strong> de un PC (iii)<br />
El programa cargador (master boot program o boot program) está en<br />
los primeros sectores <strong>del</strong> disco y con un tamaño<br />
prefijado<br />
Estos sectores se conocen como Master Boot Record<br />
(o Volume Boot Record)<br />
Es el encargado de cargar el núcleo (o kernel) <strong>del</strong> S.O.<br />
y pasarle el control<br />
El iniciador de la ROM y el S.O. tienen un acuerdo sobre<br />
el programa cargador, (ubicación, dirección de arranque y tamaño), de<br />
esta manera el iniciador puede soportar varios S.O.’s
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 7/29<br />
1.1 <strong>Arranque</strong> de un PC (iv)<br />
El núcleo <strong>del</strong> S.O. continúa el proceso de arranque:<br />
Realiza una comprobación <strong>del</strong> hardware <strong>del</strong> <strong>sistema</strong><br />
Se prepara a sí mismo para ejecutar el <strong>sistema</strong> inicializando sus<br />
tablas internas, creando las estructuras de datos necesarias, etc.<br />
A continuación crea el proceso Init y le pasa el control<br />
Para que el núcleo no tenga un tamaño muy grande, la mayoría de<br />
las opciones se compilan como módulos, que se cargarán cuando se<br />
necesiten<br />
Por ello, en el arranque el núcleo necesitará cargar algunos módulos<br />
para poder iniciar el <strong>sistema</strong>, p.e. el módulo ext3 para acceder al SF<br />
El fichero initrd_version.img cargará los módulos que el núcleo<br />
necesita para poder arrancar:<br />
El núcleo primero carga el initrd y le pasa el control<br />
El initrd carga los módulos necesarios y le devuelve el control al núcleo<br />
Entonces el núcleo continuará el proceso de arranque
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 8/29<br />
1.1 <strong>Arranque</strong> de un PC (v)<br />
El proceso Init termina el proceso de arranque,<br />
dejando el <strong>sistema</strong> en modo multiusuario preparado<br />
para que los usuarios trabajen en él<br />
Usa una serie de ficheros scripts que le indican las acciones a<br />
realizar<br />
Las tareas que realiza el proceso Init son:<br />
Chequea los <strong>sistema</strong>s de ficheros<br />
Monta los <strong>sistema</strong>s de ficheros permanentes<br />
Activa las áreas de swapping o intercambio<br />
Activa los demonios y la red (NFS, NIS, etc.)<br />
Limpia los <strong>sistema</strong>s de ficheros (borra los directorios<br />
temporales)<br />
Habilita el login a los usuarios <strong>del</strong> <strong>sistema</strong><br />
¿Qué se realiza primero la ejecución de proceso Init o el montaje <strong>del</strong><br />
<strong>sistema</strong> de ficheros raíz?
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 9/29<br />
1.2 Gestor de arranque GRUB<br />
GRUB: GRand Unified Bootloader<br />
GRUB se instala en el master boot record (M.B.R.) y hace de las<br />
funciones de master boot program (M.B.P.)<br />
Pregunta qué S.O. arrancar: Linux o Windows<br />
Si la respuesta es Linux⇒carga el núcleo solicitado y le pasa el<br />
control para que el arranque continúe<br />
Si la respuesta es Windows⇒pasa el control a Windows que<br />
realiza su arranque<br />
Fichero de configuración: /boot/grub/grub.conf (en algunos <strong>sistema</strong>s es<br />
/boot/grub/menu.lst)<br />
Ejecutable (para instalación): /sbin/grub-install<br />
Soporta el modo Direccionamiento Lógico de Bloques (LBA)<br />
Lee los <strong>sistema</strong>s de ficheros Ext2, Ext3 o reiserfs<br />
(GRUB se puede instalar el sector de arranque de la partición de Linux, en este caso sólo se lanzará si<br />
es esa partición activa)
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 10/29<br />
1.2 Gestor de arranque de GRUB (ii)<br />
Lee el fichero de configuración en cada arranque (las<br />
modificaciones se toman de manera automática)<br />
Dispone de tres interfaces con distinto grado de<br />
funcionalidad:<br />
De menú⇒seleccionar S.O.<br />
Del editor de menú de entrada⇒modificar líneas de órdenes antes de<br />
arrancar el <strong>sistema</strong> operativo, p.e. para pasar parámetros al núcleo o<br />
corregir errores <strong>del</strong> fichero. (Pulsar la tecla e)<br />
Para pasar parámetros al núcleo pulsar la tecla a<br />
De línea de órdenes⇒ejecutar órdenes interactivamente. (Pulsar la tecla c)<br />
Terminología de GRUB, numerando los dispositivos según los<br />
reconozca la BIOS:<br />
Nombres de dispositivos (hd0,0) ⇒ /dev/sda1<br />
(,)<br />
Nombres de ficheros (hd0,0)/boot/grub/grub.conf<br />
(,)/path
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 11/29<br />
1.2 Gestor de arranque de GRUB (iii)<br />
Ejemplo de fichero de configuración con Linux y Windows: (se lee en<br />
cada arranque <strong>del</strong> <strong>sistema</strong>)<br />
default=0<br />
#Opción por defecto<br />
timeout=10<br />
#Tiempo de espera<br />
password --md5 $1$4hKKr1$LvSjN89PmeeHXBljr13yq0<br />
splashimage=(hd0,0)/boot/grub/splash.xpm.gz<br />
title Fedora Core Linux (2.6.37) #Etiqueta<br />
root (hd0,0) #Parti. a montar por GRUB, donde está el núcleo<br />
kernel /boot/vmlinuz-2.6.37 ro root=LABEL=/ #Núcleo y parámetros<br />
initrd /boot/initrd-2.6.37.img<br />
#Fichero initrd<br />
title Windows 2008<br />
#Etiqueta<br />
rootnoverify (hd0,2)<br />
#Partición a usar<br />
chainloader +1<br />
#Pasarle el control<br />
# Observa esta diferencia-----------------------------------------------<br />
# root=LABEL=/ Indica al núcleo cuál es el SF raíz <strong>del</strong> SO<br />
# root (hd0,0) Dónde encuentra GRUB los ficheros <strong>del</strong> núcleo
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 12/29<br />
1.3 Modo monousuario<br />
Estado <strong>del</strong> <strong>sistema</strong> definido para realizar tareas administrativas y de<br />
mantenimiento, que requieren un control completo y no compartido<br />
<strong>del</strong> <strong>sistema</strong><br />
Sólo realiza el montaje <strong>del</strong> <strong>sistema</strong> de ficheros raíz (/), los otros SF<br />
están disponibles pero no están montados<br />
Se puede acceder a todo el <strong>sistema</strong>, pero muchos servicios no están<br />
activos o configurados:<br />
Muy pocos demonios están en ejecución, sólo los necesarios<br />
Muchas utilidades no están activas (impresión, red)<br />
Sólo las órdenes <strong>del</strong> SF raíz están disponibles, (si /usr está en otra<br />
partición no está montado)<br />
etc.<br />
Para entrar en modo monousuario el proceso Init crea el shell por<br />
defecto (/bin/sh) como usuario root, (en ocasiones ejecuta la orden<br />
/sbin/sulogin, que pedirá la contraseña <strong>del</strong> root para dejar entrar al <strong>sistema</strong>)
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 13/29<br />
1.3 Modo monousuario (ii)<br />
¿Cómo se entra en modo monousuario?<br />
Indicándolo manualmente al Master Boot Program con una<br />
opción o parámetro:<br />
GRUB: añadir, mediante la interfaz de edición, la opción «single» a la entrada<br />
<strong>del</strong> núcleo « kernel /boot/vmlinuz-2.6.37 ro root=LABEL=/ »<br />
Automáticamente, si hay problemas en el proceso de arranque<br />
que el <strong>sistema</strong> no puede solucionar por sí solo, (p.e. problemas en el<br />
SF que fsck no puede solucionar, errores en los ficheros de arranque)<br />
¡Problema! Modo monousuario no tiene ninguna protección (un<br />
usuario podría entrar en el <strong>sistema</strong> en modo monousuario, y por<br />
tanto tener acceso a todo el <strong>sistema</strong>, estando <strong>del</strong>ante <strong>del</strong> ordenador)<br />
Solución:<br />
GRUB: en el fichero /boot/grub/grub.conf añadir la opción:<br />
password −−md5 password_encriptado<br />
La orden grub-md5-crypt encripta el password, que habrá que copiar al<br />
fichero de configuración
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 14/29<br />
1.4 Modo multiusuario<br />
Pasos <strong>del</strong> proceso de arranque:<br />
1. Chequea el <strong>sistema</strong> de ficheros raíz con fsck<br />
Si al apagar el <strong>sistema</strong>, el <strong>sistema</strong> de ficheros se desmontó correctamente, no<br />
se chequea<br />
Sin embargo, algunos S.O.’s con determinados SF’s fuerzan el chequeo<br />
siempre, o cada cierto tiempo (cada 3 meses) o cada cierto n o de montajes<br />
sin chequear (cada 20 veces)<br />
Si fsck encuentra problemas que no puede solucionar “sólo”, lleva al <strong>sistema</strong><br />
a modo monousuario para que el administrador realice el chequeo manual<br />
2. Monta el <strong>sistema</strong> de ficheros raíz en modo lectura-escritura<br />
3. Chequea el resto de <strong>sistema</strong>s de ficheros con fsck (idem al punto 1)<br />
4. Monta el resto de <strong>sistema</strong>s de ficheros<br />
5. Activa las particiones de intercambio o swapping con swapon -a<br />
6. Activa las cuotas de disco: quotacheck -a y quotaon -a
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 15/29<br />
1.4 Modo multiusuario (ii)<br />
Pasos <strong>del</strong> proceso de arranque (continúa . . . )<br />
7. Lanza los procesos servidores o demonios<br />
crond, atd, etc.<br />
cupsd<br />
syslogd<br />
. . .<br />
8. Activa la red<br />
9. Lanza los demonios de red<br />
xinetd, sendmail, named, routed<br />
rpcbind, nfsd, rpc.statd, ypbind, ypserv<br />
10. Limpia los <strong>sistema</strong>s de ficheros: /tmp, etc.<br />
11. Permite que los usuarios entren:<br />
Crea las terminales, lanzando mingetty (o getty) en modo texto, y el terminal<br />
gráfico, si es preciso<br />
Borra, en caso de que exista, el fichero /etc/nologin<br />
Si el fichero /etc/nologin existe los usuarios (excepto el root) no pueden<br />
entrar al <strong>sistema</strong>. Algunos <strong>sistema</strong>s lo crean al iniciar el arranque
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 16/29<br />
1.5 Niveles de ejecución en Linux<br />
Algunos <strong>sistema</strong>s operativos consideran que el <strong>sistema</strong><br />
puede estar en distintos niveles de ejecución (o<br />
arranque), y no sólo en multiusuario y monousuario<br />
(originalmente apareció en los UNIX de System V)<br />
En Linux estos niveles de ejecución son:<br />
0: El <strong>sistema</strong> está apagado<br />
1, s ó S: Modo monousuario<br />
2: Multiusuario sin funciones de red, el mismo que el 3 pero sin<br />
las utilidades de red. (En ocasiones está sin usar y puede ser redefinido)<br />
3: Multiusuario completo, con terminales en modo texto<br />
4: Sin usar, puede ser redefinido por el administrador<br />
5: Multiusuario con pantalla de inicio de sesión basada en X<br />
6: El <strong>sistema</strong> se está reiniciando
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 17/29<br />
1.5 Niveles de ejecución en Linux (ii)<br />
/sbin/telinit⇒ cambiar de nivel de ejecución<br />
telinit 1 ⇒ a modo monousuario<br />
telinit 6 ⇒ reiniciar el <strong>sistema</strong><br />
telinit 3 ⇒ cambiar al nivel 3<br />
/sbin/runlevel⇒ saber en qué nivel está el <strong>sistema</strong><br />
Hay un nivel por defecto en el que arranca el <strong>sistema</strong>, que se<br />
establece en el fichero /etc/inittab con la línea:<br />
id:5:initdefault:<br />
Al arrancar, mediante el GRUB, al núcleo se le puede pasar como<br />
parámetro un número indicando el nivel en el que queremos<br />
arrancar. En este caso se obviará el nivel por defecto
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 18/29<br />
1.6 <strong>Arranque</strong> mediante Upstart<br />
Proceso de arranque/<strong>parada</strong> <strong>del</strong> <strong>sistema</strong> basado en eventos, que<br />
son ejecutados por el proceso Init<br />
De forma asíncrona realiza las siguientes tareas:<br />
Dirige el inicio de las tareas y demonios.<br />
Controla, si es necesario, los demonios mientras el <strong>sistema</strong> está encendido.<br />
Detiene los demonios durante el proceso de apagado.<br />
En el directorio /etc/event.d/ hay una serie de eventos (ficheros)<br />
que Init ejecuta según el orden y las dependencias establecidas en<br />
los mismos<br />
Estos eventos indican qué tarea ejecutar, cuándo y cómo, mediante<br />
su propio lenguaje<br />
La orden initctl permite indicar al proceso Init que realice<br />
determinadas acciones:<br />
start evento stop evento status evento
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 19/29<br />
1.6 <strong>Arranque</strong> mediante Upstart (ii)<br />
Los ficheros de eventos están en modo texto siguiendo la siguiente<br />
nomenclatura:<br />
exec ⇒ ejecutar la orden con esos argumentos:<br />
exec /etc/rc.d/rc 0<br />
exec /sbin/mingetty tty2<br />
script . . . end script ⇒ ejecutar el guión shell indicado:<br />
script<br />
set $(runlevel || true)<br />
if [ "$2" != "0" ] && [ "$2" != "6" ]; then<br />
set $(runlevel --set 0 || true)<br />
fi<br />
if [ "$1" != "unknown" ]; then<br />
PREVLEVEL=$1<br />
RUNLEVEL=$2<br />
export PREVLEVEL RUNLEVEL<br />
fi<br />
exec /etc/rc.d/rc 0 # Combina exec con script<br />
end script
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 20/29<br />
1.6 <strong>Arranque</strong> mediante Upstart (iii)<br />
Nomenclatura de los ficheros de eventos:<br />
start on ⇒ describe bajo qué condiciones se lanzará ese evento<br />
start on startup<br />
start on runlevel 5<br />
start on stopped rc2<br />
start on started prefdm<br />
stop on ⇒ describe bajo qué condiciones se parará ese evento<br />
stop on runlevel [35]<br />
stop on started prefdm<br />
respawn ⇒ volver a lanzar ese proceso o demonio cuando muera<br />
console ⇒ hacia dónde redirigir la salida <strong>del</strong> evento<br />
pre-start ⇒ ejecutar la orden/guión shell antes de lanzar ese proceso<br />
pre-start exec rm -f /var/run/crond<br />
pre-start script<br />
if [ "$RUNLEVEL" == "S"]<br />
then<br />
RUNLEVEL=1<br />
fi<br />
end-script
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 21/29<br />
1.6 <strong>Arranque</strong> mediante Upstart (iv)<br />
Nomenclatura de los ficheros de eventos:<br />
post-start ⇒ ejecutar la orden/guión shell después de lanzar ese proceso<br />
post-start exec touch/var/run/crond<br />
post-start script<br />
if [ "$RUNLEVEL" == "1"]<br />
then<br />
RUNLEVEL=S<br />
fi<br />
end-script<br />
pre-stop ⇒ ejecutar la orden/guión shell antes de parar ese proceso<br />
pre-stop exec ...<br />
pre-stop script / end-script<br />
post-stop ⇒ ejecutar la orden/guión shell después de parar ese proceso<br />
post-stop exec ...<br />
post-stop script / end-script<br />
. . .
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 22/29<br />
1.6 <strong>Arranque</strong> mediante Upstart (v)<br />
Ejemplos<br />
start on startup<br />
stop on runlevel<br />
console output<br />
script<br />
/etc/rc.d/rc.sysinit<br />
end script<br />
post-stop script<br />
runlevel=$(/bin/grep initdefault /etc/inittab | cut -f 2 -d ":")<br />
[ -z "$runlevel" ] && runlevel="3"<br />
exec telinit $runlevel<br />
end script<br />
-------------------------------------------------<br />
start on runlevel 5<br />
stop on runlevel [!5]<br />
console output<br />
script<br />
exec /etc/rc.d/rc 5<br />
end script
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 23/29<br />
1.7 Ficheros de inicialización<br />
Varios ficheros script generales, llamados rc* que están en /etc/rc.d<br />
o /etc, son ejecutados al arrancar por el Init mediante un evento<br />
Varios ficheros scripts específicos de cada nivel de arranque, que<br />
están en el directorio /etc/rcn.d o /etc/rc.d/rcn.d, siendo n el nivel de<br />
arranque, son ejecutados al arrancar o cambiar de nivel<br />
Son ficheros scripts que su nombre empieza por K o S, seguido de un número de<br />
2 dígitos y un nombre descriptivo:<br />
K35smb K15httpd S40atd S50xinetd S60cups S99local<br />
El script /etc/rc (o /etc/rc.d/rc) es el encargado de ejecutar estos ficheros scripts,<br />
según el nivel de arranque<br />
Los ejecuta en orden alfabético, primero los K después los S, los dos dígitos<br />
establecen el orden entre todos los K y todos los S<br />
Los ficheros K sirven para detener demonios o matar procesos<br />
Los ficheros S sirven para lanzar demonios o ejecutar funciones de inicialización<br />
De esta manera, para cada nivel de inicialización, se especifica qué demonios<br />
tienen que estar activos y qué demonios no tienen que estar activos
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 24/29<br />
1.7 Ficheros de inicialización (ii)<br />
En los directorios /etc/rcn.d (o /etc/rc.d/rcn.d )<br />
Estos ficheros son enlaces simbólicos al fichero con el mismo<br />
nombre descriptivo que está en el directorio /etc/init.d (o<br />
/etc/rc.d/init.d)<br />
Los ficheros scripts reciben varios parámetros: start, stop,<br />
restart, etc. (esto permite lanzar o relanzar demonios sin reiniciar el <strong>sistema</strong>)<br />
rc ejecuta los K con el parámetro stop y los S con start<br />
/sbin/chkconfig⇒ configurar los demonios a lanzar (S) o finalizar<br />
(K) para cada nivel. También permite consultas<br />
−−add nombre ⇒ Añadir para los niveles que especifique el demonio<br />
−−<strong>del</strong> nombre ⇒ Eliminarlo (ni siquiera lo deja como K)<br />
[−−level levels] nombre <br />
−−list [nombre]<br />
En entorno gráfico: /usr/sbin/ntsysv, system-config-services<br />
Lanzar demonios a “mano” (sin reiniciar)⇒P.e. el demonio de<br />
impresión: /etc/rc.d/init.d/cups restart
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 25/29<br />
1.8 Resumen <strong>del</strong> proceso de arranque<br />
1. Iniciador ROM<br />
Chequeo inicial <strong>del</strong> <strong>sistema</strong><br />
Lee y almacena en memoria el programa cargador <strong>del</strong> S.O.<br />
Pasa el control al cargador <strong>del</strong> S.O., saltando a la dirección de memoria donde lo<br />
ha almacenado<br />
2. Cargador <strong>del</strong> <strong>sistema</strong> operativo (GRUB)⇒carga el núcleo <strong>del</strong><br />
<strong>sistema</strong> operativo y le pasa el control, sabe dónde está el núcleo o<br />
cómo localizarlo<br />
3. Núcleo <strong>del</strong> <strong>sistema</strong> operativo<br />
Chequeo hardware<br />
Creación e inicialización de las estructuras de datos, tablas, etc., que necesita<br />
Crea el proceso Init y le pasa el control<br />
4. Proceso Init⇒termina el proceso de arranque, dejando el <strong>sistema</strong><br />
preparado para ser usado (chequeo de SF’s, montaje de SF’s,<br />
activación de swap, de cuotas, demonios, etc.)
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 26/29<br />
2. Parada <strong>del</strong> <strong>sistema</strong><br />
En ocasiones es necesario apagar o reiniciar el <strong>sistema</strong>:<br />
mantenimiento, diagnóstico, hardware nuevo, etc.<br />
Las acciones que se realizan en el proceso de <strong>parada</strong> son:<br />
1. Se notifica a los usuarios<br />
2. Procesos en ejecución⇒enviar la señal de terminación (TERM)<br />
3. Se paran los demonios<br />
4. A los usuarios que quedan conectados se les echa <strong>del</strong> <strong>sistema</strong><br />
5. Procesos que queden en ejecución⇒enviar la señal de fin (KILL)<br />
6. Actualizaciones de disco pendientes (integridad <strong>del</strong> SF) con sync<br />
7. Dependiendo <strong>del</strong> tipo de shutdown:<br />
a) Se cambia a modo monousuario, opción por defecto<br />
b) Se apaga el ordenador<br />
c) Se reinicia el <strong>sistema</strong><br />
Orden: shutdown (también telinit nivel)
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 27/29<br />
2. Parada <strong>del</strong> <strong>sistema</strong> (ii)<br />
shutdown [opciones] tiempo [mensaje]<br />
Opciones:<br />
Sin opciones ⇒ modo monousuario ⇒ telinit 1<br />
-r ⇒ reiniciar ⇒ telinit 6<br />
-h ⇒ parar ⇒ telinit 0<br />
-c ⇒ cancelar<br />
-k ⇒ simular un shutdown, pero realmente no se lleva a cabo<br />
Tiempo: +minutos, now, h:m<br />
Al salir de modo monousuario vuelve al nivel por defecto, (salvo que<br />
expresamente se reinicie o apague)
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 28/29<br />
3. Caídas <strong>del</strong> <strong>sistema</strong> y problemas de arranque<br />
Causas de caídas <strong>del</strong> <strong>sistema</strong>:<br />
Fallos hardware<br />
Errores de hardware irrecuperables<br />
Fallos de luz (cortes o altibajos)<br />
Otros problemas ambientales<br />
Problemas de entrada/salida<br />
Problemas de algún <strong>sistema</strong> de ficheros<br />
Problemas de arranque<br />
Hardware mal<br />
No se puede leer el <strong>sistema</strong> de ficheros de los discos de trabajo<br />
Hay en el disco áreas dañadas que no pertenecen al <strong>sistema</strong> de<br />
ficheros (p.e. tabla de particiones)<br />
Hardware incompatible<br />
Errores en la configuración <strong>del</strong> <strong>sistema</strong>
<strong>Tema</strong> 3. <strong>Arranque</strong> y <strong>parada</strong> <strong>del</strong> <strong>sistema</strong>– p. 29/29<br />
3. Caídas <strong>del</strong> <strong>sistema</strong> y problemas de arranque (ii)<br />
Al rearrancar mirar los mensajes que hay en el fichero<br />
/var/log/messages<br />
La orden dmesg⇒ mensajes producidos durante el<br />
arranque<br />
En el arranque al núcleo se le pueden pasar otros<br />
parámetros:<br />
root=particion⇒indicar que monte como partición raíz una<br />
distinta<br />
init=ejecutable⇒que en vez <strong>del</strong> proceso Init lance otro proceso:<br />
init=/bin/bash ⇒ en este caso el proceso de inicio <strong>del</strong> Init no se realiza, el SF<br />
está montado en modo sólo lectura, hay que remontarlo « mount -o remount<br />
-w -n / »<br />
single⇒arrancar en modo monousuario<br />
Un número indicando el nivel de arranque