tema 3. arranque y parada del sistema msc. rina arauz

34
Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Upload: maria-del-pilar-carmona-mendez

Post on 03-Feb-2016

247 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Tema 3.

Arranque y parada del sistema

Msc. Rina Arauz

Page 2: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Índice

1.  Proceso de arranque del sistema

a)  Arranque de un PC

b)  Gestor de arranque GRUB

c)  Modo monousuario

d)  Modo multiusuario

e)  Niveles de ejecución o arranque en Linux

f)  Arranque mediante Upstart

g)  Ficheros de inicialización

h)  Resumen del proceso de arranque

2.  Parada del sistema

3.  Caídas del sistema y problemas de arranque

Page 3: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Arranque y parada del sistema

*   Todo sistema necesita los procesos de arranque y deparada

*   En el proceso de arranque se prepara al sistema paraser usado por los usuarios

*   En el proceso de parada se deja el sistemaconsistente (por ejemplo, los bloques de disco modificados en

memoria se guardan en el sistema de ficheros)

*   El administrador debe saber qué hacen estos dosprocesos y cómo lo hacen, ya que le facilitaráreconocer posibles situaciones de error y solucionarlas

*   En la actualidad son procesos muy sencillos => una seriede ficheros de configuración y de guiones shell determi-nan y controlan estos procesos

Page 4: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1. Proceso de arranque del sistemaArranque de un PC

* El arranque de un ordenador actual tiene 2 fases:*  arranque hardware*  arranque del S.O.

Test del hardware

Carga en memoria del cargador del SO

Page 5: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.1 Arranque de un PC

*   Iniciador ROM => Programa de arranque disponible enla ROM

*  Al arrancar el ordenador => Señal eléctrica => Cargavalores predefinidos en los registros

*   En el contador del programa se carga la dirección deinicio del iniciador ROM

*   El iniciador ROM realiza tres funciones:1.   Comprueba el sistema, detectando sus características y

comprobando su funcionamiento

2.   Lee y almacena en memoria el programa cargador del S.O.

3.   Pasa el control al cargador del S.O., saltando a la dirección dememoria donde lo ha almacenado

Page 6: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.1 Arranque de un PC

*   El programa cargador (master boot progam o boot progam) está en

los primeros sectores del disco y con un tamaño prefijado

*   Estos sectores se conocen como Master Boot Record

(o Volume Boot Record)

*   Es el encargado de cargar el núcleo (o kernel) del S.O. y pasarle el control

*   El iniciador de la ROM y el S.O. tienen un acuerdo sobre el programa

cargador,

(ubicación, dirección de arranque y tamaño), de esta manera el iniciador puede

soportar varios S.O.’s

Page 7: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.1 Arranque de un PC

* El núcleo del S.O. continúa el proceso de arranque:*   Realiza una comprobación del hardware del sistema*   Se prepara a sí mismo para ejecutar el sistema inicializando sus

tablas internas, creando las estructuras de datos necesarias, etc.

*   A continuación crea el proceso Init y le pasa el control

*   Para que el núcleo no tenga un tamaño muy grande, la mayoría delas opciones se compilan como módulos, que se cargarán cuando senecesiten

*   Por ello, en el arranque el núcleo necesitará cargar algunos módulospara poder iniciar el sistema, p.e. el módulo ext3 para acceder al SF

*   El fichero initrd_version.img cargará los módulos que el núcleonecesita para poder arrancar:

*    El núcleo primero carga el initrd y le pasa el control*    El initrd carga los módulos necesarios y le devuelve el control al núcleo*    Entonces el núcleo continuará el proceso de arranque

Page 8: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.1 Arranque de un PC*El proceso Init termina el proceso de arranque,dejando el sistema en modo multiusuario preparadopara que los usuarios trabajen en él

*   Usa una serie de ficheros scripts que le indican las acciones arealizar

*   Las tareas que realiza el proceso Init son:

• Chequea los sistemas de ficheros

• Monta los sistemas de ficheros permanentes

• Activa las áreas de swapping o intercambio

• Activa los demonios y la red (NFS, NIS, etc.)

• Limpia los sistemas de ficheros (borra los directorios temporales)

• Habilita el login a los usuarios del sistema

                                           

Page 9: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.2 Gestor de arranque GRUBGRUB: GRand Unified Bootloader

*   GRUB se instala en el master boot record (M.B.R.) y hace de lasfunciones de master boot program (M.B.P.)

*   Pregunta qué S.O. arrancar: Linux o Windows

*   Si la respuesta es Linux => carga el núcleo solicitado y le pasa elcontrol para que el arranque continúe

*   Si la respuesta es Windows => pasa el control a Windows querealiza su arranque

*   Fichero de configuración: /boot/grub/grub.conf (en algunos sistemas es

/boot/grub/menu. Ist)

*   Ejecutable (para instalación): /sbin/grub-install

*   Soporta el modo Direccionamiento Lógico de Bloques (LBA) (es un método de acceso a unidades de disco duro.*   Lee los sistemas de ficheros Ext2, Ext3 o reiserfs

* (GRUB se puede instalar el sector de arranque de la partición de Linux, en este caso sólo se lanzará si

es esa partición activa)

Page 10: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.2 Gestor de arranque de GRUB

*   Lee el fichero de configuración en cada arranque (las

modificaciones se toman de manera automática)

*   Dispone de tres interfaces con distinto grado de funcionalidad:

- De menú => seleccionar S.O.

- Del editor de menú de entrada => modificar líneas de órdenes antes dearrancar el sistema operativo, p.e. para pasar parámetros al núcleo ocorregir errores del fichero. (Pulsar la tecla e)

- Para pasar parámetros al núcleo pulsar la tecla a

- De línea de órdenes => ejecutar órdenes interactivamente. (Pulsar la tecla c)

*   Terminología de GRUB, numerando los dispositivos según losreconozca la BIOS:

- Nombres de dispositivos (hd0,0) => /dev/sda1(<tipo_de_dispositivo><número_dispositivo_bios>,<numero_particion>)

- Nombres de ficheros (hd0,0)/boot/grub/grub.conf

(<tipo_de_dispositivo><número_dispositivo_bios>,<numero_particion>)/path

Page 11: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.2 Gestor de arranque de GRUB

* Ejemplo de fichero de configuración con Linux y Windows: (se lee encada arranque del sistema)

default=0                                                       #Opción por defecto

timeout=10                                                     #Tiempo de espera

password --md5 $l$4hKKrl$LvSjN89PmeeHXBljrl3yq0

splashimage=(hdO,0)/boot/grub/splash.xpm.gz

title Fedora Core Linux (2.6.37) #Etiqueta

root (hdO,0) #Parti. a montar por GRUB, donde está el núcleo

kernel /boot/vmlinuz-2.6.37 ro root=LABEL=/ #Núcleo y parámetros

initrd /boot/initrd-2.6.37.img                                    #Fichero initrd

title Windows 2008                                      #Etiqueta

rootnoverify (hd0,2)                       #Partición a usar

chainloader +1                                    #Pasarle el control

# Observa esta diferencia-----------------------------------------------

# root=LABEL=/ Indica al núcleo cuál es el SF raíz del SO

# root (hd0,0) Dónde encuentra GRUB los ficheros del núcleo

Page 12: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Splash Image es la imagen que aparece en la pantalla mientras el programa está cargando:splashimage=(hdO,0)/boot/grub/splash.xpm.gz(hd0,0) se refiere a la partición del disco duro donde esta instalado S.O linux.

Si omitimos la parte del disco duro igualmente funciona,seria así:splashimage=/boot/grub/splashimages/nombre_del_fichero.xpm.gz

En el directorio /boot/grub/splashimages existen varias imágenes comprimidas *xmp.gz

Page 13: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.3 Modo monousuario

*   Estado del sistema definido para realizar tareas administrativas y demantenimiento, que requieren un control completo y no compartidodel sistema*   Sólo realiza el montaje del sistema de ficheros raíz (/), los otros SFestán disponibles pero no están montados*   Se puede acceder a todo el sistema, pero muchos servicios no estánactivos o configurados:

*   Muy pocos demonios están en ejecución, sólo los necesarios*   Muchas utilidades no están activas (impresión, red)*   Sólo las órdenes del SF raíz están disponibles, (si/usr está en otra

partición no está montado)

*   etc.

*   Para entrar en modo monousuario el proceso Init crea el shell por

defecto (/bin/sh) como usuario root, (en ocasiones ejecuta la orden

/sbin/sulogin, que pedirá la contraseña del root para dejar entrar al sistema)

Tema 3. Arranque y parada del sistema- p. 12/29

Page 14: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.3 Modo monousuario

¿Cómo se entra en modo monousuario?*   Indicándolo manualmente al Master Boot Program con una

opción o parámetro:*    GRUB: añadir, mediante la interfaz de edición, la opción «single» a la entrada

del núcleo « kernel/boot/vmlinuz-2.6.37 ro root=LABEL=/ »

*   Automáticamente, si hay problemas en el proceso de arranqueque el sistema no puede solucionar por sí solo, (pe. problemas en el

SF que fsck no puede solucionar, errores en los ficheros de arranque)

¡Problema! Modo monousuario no tiene ninguna protección (unusuario podría entrar en el sistema en modo monousuario, y portanto tener acceso a todo el sistema, estando delante del ordenador)Solución:*   GRUB: en el fichero /boot/grub/grub.conf añadir la opción:-    password —md5 password_encriptado

- La orden grub-md5-crypt encripta el password, que habrá que copiar alfichero de configuración

Page 15: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.4 Modo multiusuario

* Pasos del proceso de arranque:

1.   Chequea el sistema de ficheros raíz con fsck*    Si al apagar el sistema, el sistema de ficheros se desmontó correctamente, no

se chequea*    Sin embargo, algunos S.O.’s con determinados SF’s fuerzan el chequeo

siempre, o cada cierto tiempo (cada 3 meses) o cada cierto n° de montajessin chequear (cada 20 veces)

*    Si fsck encuentra problemas que no puede solucionar “sólo”, lleva al sistemaa modo monousuario para que el administrador realice el chequeo manual

2.   Monta el sistema de ficheros raíz en modo lectura-escritura

3.   Chequea el resto de sistemas de ficheros con fsck (idem al punto 1)

4.   Monta el resto de sistemas de ficheros

5.  Activa las particiones de intercambio o swapping con swapon -a

6.  Activa las cuotas de disco: quotacheck -a y quotaon -a

Page 16: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Una cuota de disco es un límite establecido por el administrador del sistema que restringe ciertos aspectos del uso del sistema de archivos en los sistemas operativos modernos. El objetivo de la utilización de las cuotas de disco es limitar la asignación de espacio en el disco duro de una manera razonable.

cuota de uso o cuota de bloques, limita la cantidad de espacio en disco que puede ser utilizado.

cuota de archivo o de inodo, limita el número de archivos y directorios que se pueden crear.

Page 17: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.4 Modo multiusuario

* Pasos del proceso de arranque (continúa...)7.   Lanza los procesos servidores o demonios

*    crond, atd, etc.*    cupsd*    syslogd

8.  Activa la red9.   Lanza los demonios de red

*   xinetd, sendmail, named, routed*    rpcbind, nfsd, rpc.statd, ypbind, ypserv

10.   Limpia los sistemas de ficheros: /tmp, etc.

11.   Permite que los usuarios entren:

*    Crea las terminales, lanzando mingetty (o getty) en modo texto, y el terminalgráfico, si es preciso

*    Borra, en caso de que exista, el fichero /etc/nologin

Si el fichero /etc/nologin existe los usuarios (excepto el root) no puedenentrar al sistema. Algunos sistemas lo crean al iniciar el arranque

Page 18: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

cron es un administrador regular de procesos en segundo plano(demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab. cron viene del griego chronos (χρόνος) que significa "tiempo".

syslog es un estándar para el envío de mensajes de registro en una red informática IP.

CUPS gestiona los trabajos y tareas de impresión, y proporciona impresión de red utilizando el protocolo estándar de Impresión en Internet (IPP), que dispone de soporte para una gran gama de impresoras, desde matriciales hasta láser.

Page 19: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.5 Niveles de ejecución en Linux

*  Algunos sistemas operativos consideran que el sistemapuede estar en distintos niveles de ejecución (oarranque), y no sólo en multiusuario y monousuario

(originalmente apareció en los UNIX de System V)

*   En Linux estos niveles de ejecución son:*   0: El sistema está apagado*   1, s ó S: Modo monousuario*   2: Multiusuario sin funciones de red, el mismo que el 3 pero sin

las utilidades de red. (En ocasiones está sin usar y puede ser redefinido)

*   3: Multiusuario completo, con terminales en modo texto*   4: Sin usar, puede ser redefinido por el administrador

*   5: Multiusuario con pantalla de inicio de sesión basada en X*   6: El sistema se está reiniciando

Page 20: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.5 Niveles de ejecución en Linux

*   /sbin/telinit => cambiar de nivel de ejecución

*    telinit 1 => a modo monousuario*    telinit 6 => reiniciar el sistema*    telinit 3 => cambiar al nivel 3

*   /sbin/runlevel => saber en qué nivel está el sistema*   Hay un nivel por defecto en el que arranca el sistema, que se

establece en el fichero /etc/inittab con la línea:

id:5:initdefault:

*   Al arrancar, mediante el GRUB, al núcleo se le puede pasar comoparámetro un número indicando el nivel en el que queremosarrancar. En este caso se obviará el nivel por defecto

Page 21: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ser puestos a funcionar cuando se requieran (es lo mejor). Parte esencial de la administración de sistemas Linux es continuamente trabajar con los servicios que este proporciona.

Inittab es el archivo de configuración inicial que encuentra init en /etc después de la carga del kernel. Contiene las instrucciones de inicio de los programas y scripts que van a funcionar al iniciar el nivel de ejecución especificado. El proceso de arranque init es el primer proceso que se ejecuta en el sistema, es el más importante, del que dependen el resto de todos los demás procesos. Se ejecuta como demonio y por lo general tiene PID 1.

En el arranque de GNULinux, este demonio se encarga de cargar los subprocesos necesarios para la puesta en marcha del sistema. Estos subprocesos se inician en serie, es decir, se inician uno detrás de otro y hasta que no termina de arrancar uno no se inicia el siguiente.

El cambio de inittab a upstart fue realizado en Ubuntu 6.10, Fedora 9, openSUSE 11.3

En el Unix original, el proceso init arrancaba los servicios mediante un único script denominado /etc/rc. Posteriormente se introdujo un nuevo esquema de directorios en /etc/rc.d/ que contenía scripts de arranque/parada de servicios.

Ubuntu y algunas otras distribuciones de Linux utilizan ahora upstart como reemplazo para el proceso de inicialización tradicionales.

Page 22: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

Se reemplaza el manejo de cambios de runlevel por un sistema nuevo capaz de controlar eventos llamado upstart, que es capaz de supervisar tareas y servicios mientras el sistema corre. Ésto implica que el fichero inittab desaparece, dando paso al directorio /etc/init, que contiene una serie de archivos .conf que nos servirán para definir los jobs (trabajos). Es importante señalar que están basados en la configuración de sysvinit, incluyendo la ejecución del antiguo script /etc/init.d/rc, el cual es invocado desde /etc/init/rc.conf, para mantener la compatibilidad.

A partir de la versión 10.04 de Ubuntu, init de system a sido sustituido por el sistema de arranque Upstart (aunque solo como un emulador del init tradicional, porque para cambiar el sistema hay que reescribir todos los scripts de arranque, una tarea bastante delicada).

Los scripts propios de Upstart se encuentran en el directorio /etc/init.

Upstart : Se encarga de manejar el arranque de las tareas y servicios durante el inicio del pc, de detenerlas durante su apagado y de supervisarlas mientras el sistema está funcionando.

En Upstart la gestión está basada en eventos (la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen).

En System V (init), los servicios se inician en serie, uno detrás de otro, y hasta que no termina de arrancar un servicio no se inicia el siguiente. Así, por ejemplo, si tarda mucho en detectar dirección IP, el sistema tardará más en arrancar, ya que hasta que no se detecte IP no se puede iniciar el siguiente servicio. Sin embargo, con Upstart los servicios arrancan todos en paralelo, siguiendo unas dependencias. De esta forma, por ejemplo, aunque se tarde en adquirir dirección IP, el sistema puede iniciar todos los otros servicios que no requieran una conexión a la red.

Page 23: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.6 Arranque mediante Upstart

*   Proceso de arranque/parada del sistema basado en eventos, queson ejecutados por el proceso init

*   De forma asíncrona realiza las siguientes tareas:

*    Dirige el inicio de las tareas y demonios.*    Controla, si es necesario, los demonios mientras el sistema está encendido.*    Detiene los demonios durante el proceso de apagado.

*   En el directorio /etc/event.d/ hay una serie de eventos (ficheros)que init ejecuta según el orden y las dependencias establecidas enlos mismos

*   Estos eventos indican qué tarea ejecutar, cuándo y cómo, mediantesu propio lenguaje

*   La orden initctl permite indicar al proceso init que realicedeterminadas acciones:

start evento stop evento status evento

Page 24: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.6 Arranque mediante Upstart * Los ficheros de eventos están en modo texto siguiendo la siguiente

nomenclatura:

*    exec <orden><argumentos> => ejecutar la orden con esos argumentos:

exec /etc/rc.d/rc 0exec /sbin/mingetty tty2

*    script ... end script => ejecutar el guión shell indicado:

scriptset $(runlevel || true)

if [ "$2" í= "0" ] && [ "$2" í= "6" ]; then

set $(runlevel --set 0 || true)

f i

if [ "$1" í= "unknown" ]; then

PREVLEVEL= $1

RUNLEVEL=$2

export PREVLEVEL RUNLEVEL

fi

exec /etc/rc.d/rc 0 # Combina exec con script

end script

Page 25: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.6 Arranque mediante Upstart * Nomenclatura de los ficheros de eventos:

*    start on <event> => describe bajo qué condiciones se lanzará ese evento

start on startup                           start on stopped rc2

start on runlevel 5                    start on started prefdm

*    stop on <event> => describe bajo qué condiciones se parará ese evento

stop on runlevel [35] stop on started prefdm

*    respawn => volver a lanzar ese proceso o demonio cuando muera*    consolé => hacia dónde redirigir la salida del evento*    pre-start => ejecutar la orden/guión shell antes de lanzar ese proceso

pre-start exec rm -f /var/run/crond

pre-start script

if [ "$RUNLEVEL" == "S"]

then

RUNLEVEL=1

fi

end-script

Page 26: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.6 Arranque mediante Upstart * Nomenclatura de los ficheros de eventos:

*    post-start => ejecutar la orden/guión shell después de lanzar ese proceso

post-start exec touch/var/run/crond

post-start script

if [ "$RUNLEVEL" == "1"]

then

RUNLEVEL=S

fi

end-script

*    pre-stop => ejecutar la orden/guión shell antes de parar ese proceso

pre-stop exec ...

pre-stop script / end-script

*    post-stop => ejecutar la orden/guión shell después de parar ese proceso

post-stop exec ...post-stop script / end-script

Page 27: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.6 Arranque mediante Upstart

•Ejemplos

start on startupstop on runlevelconsole outputscript

/etc/rc.d/rc.sysinit

end script

post-stop script

runlevel=$(/bin/grep initdefault /etc/inittab | cut -f 2

-d ":")

[ -z "$runlevel" ] && runlevel="3"

exec telinit $runlevel

end script

- - - - - - - - - - -

start on runlevel 5

stop on runlevel [!5]

console output

script

exec /etc/rc.d/rc 5

end script

Page 28: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.7 Ficheros de inicialización*   Varios ficheros script generales, llamados rc* que están en /etc/rc.d

o /etc, son ejecutados al arrancar por el Init mediante un evento*   Varios ficheros scripts específicos de cada nivel de arranque, que

están en el directorio /etc/rcn.d o /etc/rc.d/rcn.d, siendo n el nivel dearranque, son ejecutados al arrancar o cambiar de nivel

*    Son ficheros scripts que su nombre empieza por K o S, seguido de un número de2 dígitos y un nombre descriptivo:

K35smb K15httpd S40atd S50xinetd S60cups S991ocal

*    El script /etc/rc (o /etc/rc.d/rc) es el encargado de ejecutar estos ficheros scripts,según el nivel de arranque

*    Los ejecuta en orden alfabético, primero los K después los S, los dos dígitosestablecen el orden entre todos los K y todos los S

*    Los ficheros K sirven para detener demonios o matar procesos*    Los ficheros S sirven para lanzar demonios o ejecutar funciones de inicialización

*    De esta manera, para cada nivel de inicialización, se especifica qué demoniostienen que estar activos y qué demonios no tienen que estar activos

Page 29: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.7 Ficheros de inicialización * En los directorios /etc/rcn.d (o /etc/rc.d/rcn.d )

*   Estos ficheros son enlaces simbólicos al fichero con el mismonombre descriptivo que está en el directorio /etc/init.d (o/etc/rc.d/init.d)

*   Los ficheros scripts reciben varios parámetros: start, stop,

restart, etc. (esto permite lanzar o relanzar demonios sin reiniciar el sistema)

rc ejecuta los K con el parámetro stop y los S con start*   /sbin/chkconfig => configurar los demonios a lanzar (S) o

finalizar(K) para cada nivel. También permite consultas

*    −− add nombre => Añadir para los niveles que especifique el demonio*    −− del nombre => Eliminarlo (ni siquiera lo deja como K)*    [−− level levels] nombre <on|off|reset>*    −− list [nombre]

*   En entorno gráfico: /usr/sbin/ntsysv, system-config-services*   Lanzar demonios a “mano” (sin reiniciar) => P.e. el demonio de

impresión: /etc/rc.d/init.d/cups restart

Page 30: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

1.8 Resumen del proceso de arranque

1.   Iniciador ROM

*    Chequeo inicial del sistema*    Lee y almacena en memoria el programa cargador del S.O.*    Pasa el control al cargador del S.O., saltando a la dirección de memoria donde

loha almacenado

2.   Cargador del sistema operativo (GRUB) => carga el núcleo delsistema operativo y le pasa el control, sabe dónde está el núcleo ocómo localizarlo

3.   Núcleo del sistema operativo*    Chequeo hardware*    Creación e inicialización de las estructuras de datos, tablas, etc., que necesita*    Crea el proceso Init y le pasa el control

4.   Proceso Init => termina el proceso de arranque, dejando el sistemapreparado para ser usado (chequeo de SF’s, montaje de SF’s,activación de swap, de cuotas, demonios, etc.)

Page 31: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

2. Parada del sistema

*   En ocasiones es necesario apagar o reiniciar el sistema:mantenimiento, diagnóstico, hardware nuevo, etc.

*   Las acciones que se realizan en el proceso de parada son:

1.   Se notifica a los usuarios2.   Procesos en ejecución => enviar la señal de terminación (TERM)

3.   Se paran los demonios4.  A los usuarios que quedan conectados se les echa del sistema5.   Procesos que queden en ejecución => enviar la señal de fin (KILL)

6.  Actualizaciones de disco pendientes (integridad del SF) con sync7.   Dependiendo del tipo de shutdown:

a)   Se cambia a modo monousuario, opción por defectob)   Se apaga el ordenadorc)   Se reinicia el sistema

*   Orden: shutdown (también telinit nivel)

Page 32: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

2. Parada del sistema *   shutdown [opciones] tiempo [mensaje]

*   Opciones:*    Sin opciones => modo monousuario => telinit 1

*    -r => reiniciar => telinit 6

*    -h => parar => telinit 0

*    -c => cancelar

*    -k => simular un shutdown, pero realmente no se lleva a cabo

*   Tiempo: +minutos, now, h:m*   Al salir de modo monousuario vuelve al nivel por defecto, (salvo que

expresamente se reinicie o apague)

Page 33: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

3. Caídas del sistema y problemas de arranque

*   Causas de caídas del sistema:

*   Fallos hardware*   Errores de hardware irrecuperables*   Fallos de luz (cortes o altibajos)*   Otros problemas ambientales*   Problemas de entrada/salida*   Problemas de algún sistema de ficheros

*   Problemas de arranque*   Hardware mal*   No se puede leer el sistema de ficheros de los discos de trabajo*   Hay en el disco áreas dañadas que no pertenecen al sistema de

ficheros (p.e. tabla de particiones)*   Hardware incompatible*   Errores en la configuración del sistema

Page 34: Tema 3. Arranque y parada del sistema Msc. Rina Arauz

3. Caídas del sistema y problemas de arranque

*  Al rearrancar mirar los mensajes que hay en el fichero/var/log/messages

*   La orden dmesg => mensajes producidos durante elarranque

*   En el arranque al núcleo se le pueden pasar otrosparámetros:*   root=particion => indicar que monte como partición raíz una

distinta*   init=ejecutable => que en vez del proceso Init lance otro proceso:

- init=/bin/bash => en este caso el proceso de inicio del Init no se realiza, el SFestá montado en modo sólo lectura, hay que remontarlo « mount -o remount-w -n / »

*   single => arrancar en modo monousuario*   Un número indicando el nivel de arranque