administración unix: arranque del sistema y servicios...

37
Administraci ´ on UNIX: Arranque del sistema y servicios b ´ asicos Jes ´ us Montes S ´ anchez jmontes@fi.upm.es Octubre 2013 jmontes@fi.upm.es Administraci ´ on UNIX: Arranque del sistema y servicios b ´ asicos 1/37

Upload: trinhnga

Post on 30-Jan-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Administracion UNIX:Arranque del sistema y

servicios basicosJesus Montes Sanchez

[email protected]

Octubre 2013

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 1/37

Page 2: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Arranque de sistemas UNIX

Secuencia de arranque simplificada

1 Arranque del sistema y comienzo de ejecucion del firmware.2 Inicio del cargador de arranque.3 Carga e inicio del nucleo del sistema operativo.4 Arranque del proceso init.5 Puesta en marcha servicios, sistemas de ficheros, terminales, ...

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 2/37

Page 3: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Cargador de arranque (bootloader)El cargador de arranque

• Lanzado por el firmware del sistema (BIOS/UEFI/coreboot)• Normalmente almacenado en disco.• Carga el nucleo en memoria y le transfiere el control.

Arranque en arquitecturas PC

• La BIOS carga el programa situado en el MBR (master bootrecord) del disco duro principal.

• Ese programa puede ser un cargador de otro programa en elVBR (volume boot record) de la particion activa.

Cargadores de arranqueGRUB (Linux, Solaris, ...), lilo (Linux), Boot Camp (Apple),bootblk/ufsboot (Solaris).

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 3/37

Page 4: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Inicializacion del kernel

Carga

• La localizacion de la imagen del nucleo varıa entre SO(/boot/vmlinuz (Linux), /unix (AIX), /kernel (FreeBSD),/kernel/geunix (Solaris)).

• El cargador de arranque sabe como acceder al sistema deficheros y cargar el nucleo en memoria.

• Tras la carga se cede el control al nucleo, pudiendo pasarlealguna opcion en este instante (ej. init=/path/to/bin,acpi=off, single).

• Una particularidad de Linux es el initrd (Initial RAM disk), undisco RAM temporal con utilidades y modulos para montar elsistema de ficheros raız.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 4/37

Page 5: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Inicializacion del kernel

ArranqueEn cuanto el nucleo recibe el control ejecuta una serie de pasosantes de lanzar el primer proceso.

1 Detectar la memoria disponible y reservarse algo.2 En Linux, descomprimir initrd y montarlo.3 Detectar y configurar el hardware.4 Montar el sistema de ficheros (normalmente como solo lectura).5 Lanzar procesos espontaneos internos (kjournald, kswapd,

etc.).6 Lanzar el proceso init.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 5/37

Page 6: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

GRUBGRand Unified Bootloader

• Es el cargador de arranque por defecto de la gran mayorıa de lasdistribuciones Linux sobre architecturas Intel.

• El proceso de carga se divide en dos etapas. Una en el MBR oVBR y la otra en /boot/grub.

Funcionalidades• Arranca cualquier SO que cumpla con la especificacionmultiboot.

• Consola interactiva tipo bash.• Menu configurable.• Soporte para varios sistemas de ficheros.• Opciones para el nucleo y cargadores initrd.• Transferencia del control a otro cargador (chain loading).

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 6/37

Page 7: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

GRUB

GRUB Legacy (GRUB 1)

• Version antigua, sin desarrollo a dıa de hoy• Carga en 3 etapas:

1 Etapa 1, desde el sector de MBR (o VBR)2 Etapa 1.5 desde 30KB contiguos al primer sector de la particion.

Contiene codigo para entender el sistema de ficheros donde sehaya la etapa 2.

3 Etapa 2. El codigo de GRUB en sı.

• Los ficheros de configuracion se localizan en /boot/grub, enparticular el menu de arranque es menu.lst

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 7/37

Page 8: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

GRUB

GRUB 2• Reescritura de GRUB para mejorar el soporte multiplataforma,

internacionalizacion, carga de modulos, ...• A dıa de hoy es el cargador de arranque usado en Debian,

Fedora (y RHEL), openSUSE, Ubuntu y Solaris.• El proceso de carga es muy similar, pero la etapa 1 es mas

flexible a la hora de cargar la siguiente.• Los ficheros del cargador tambien estan en /boot/grub, pero

son distintos.• El fichero menu.lst desaparece en favor de grub.cfg, el cual

soporta un lenguaje parecido a bash.• En algunos Linux (Ubuntu...) ese fichero no esta pensado para

ser editado a mano sino por update-grub. Las directivasrelacionadas estan en /etc/grub.d/ y /etc/default/grub.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 8/37

Page 9: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

GRUB

Ejemplos (GRUB version 1)

• Arranque de un sistema Linuxgrub> root (hd0,0)grub> kernel /boot/vmlinuz root=(hd0,0)grub> initrd /boot/initrd.imggrub> boot

• Arranque de un Windows con chain loadinggrub> rootnoverify (hd0,1)grub> makeactivegrub> chainloader +1grub> boot

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 9/37

Page 10: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

GRUB

Ejemplos (GRUB version 2)

• Arranque de un sistema Linuxgrub> set root=(hd0,1)grub> linux /boot/vmlinuz root=(hd0,1)grub> initrd /boot/initrd.imggrub> boot

• Arranque de un Windows con chain loadinggrub> insmod ntfsgrub> insmod chaingrub> set root=(hd0,2)grub> chainloader +1grub> boot

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 10/37

Page 11: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Proceso init

Padre de todos los procesos

• El proceso init es el proceso de PID 1 y el encargado dearrancar todos los servicios y dar acceso al sistema.

• El nucleo ejecuta por defecto el proceso /sbin/init

Secuencia de arranque multiusuario

1 Comprobar raız y montar en modo lectura-escritura.2 Comprobar otros sistemas (/etc/fstab) y montarlos.3 Activar el area de intercambio.4 Limpieza (ej. borrar /tmp).5 Arrancar demonios locales.6 Configurar la red y arrancar demonios de red.7 Habilitar el login.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 11/37

Page 12: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Proceso init

• El codigo de la secuencia de arranque no es parte del procesoinit en sı mismo.

• Esta secuencia se implementa como una coleccion de scriptsque son ejecutados por init de acuerdo con unas reglaspreestablecidas.

• Una vez termina la secuencia de arranque el proceso init notermina (nunca lo hace), si no que queda a la espera de:

• La terminacion de cualquier proceso hijo para capturar su valor deretorno y evitar que quede zombie.

• Alguna senal que indice que debe reconfigurarse el sistema.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 12/37

Page 13: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Modo monousuario

• Tambien llamado modo de mantenimiento.• Modo de arranque especial para la solucion de problemas.• Consola root, sin red ni login.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 13/37

Page 14: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Apagado del sistema

SecuenciaCuando se da la orden de apagado se lleva a cabo:

1 Notificacion a los usuarios el apagado con un mensaje.2 Se envıa la senal SIG TERM a todos los procesos en ejecucion.3 Init comienza la secuencia de terminacion de servicios.4 Paso a modo monousuario:

• Se envıa SIG KILL a los procesos que al cabo de 5 segundos delenvıo de SIG TERM aun no terminaron.

• Se desconecta a los usuarios y bloquea el acceso.

5 Sincronizacion de los sistemas de ficheros y desmontado.6 Apagado o reinicio.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 14/37

Page 15: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Configuracion del arranque

Tipos de init

• Estilo BSD: NetBSD, FreeBSD, OpenBSD• System V: AIX, HP-UX, Linux, Solaris• Launchd: Mac OS/X• Upstart: Linux (Ubuntu, Fedora, Debian)

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 15/37

Page 16: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Configuracion estilo System VEste es el modo de configuracion clasico de la mayorıa de los UNIX yforma parte de Linux Standard Base (Basado en SUS).

RunlevelsConcepto basico que se refiere al estado de sistema.

• telinit n cambia el sistema al estado n.• who -r devuelve el estado actual.• shutdown es un script para pasar al runlevel de apagado.

Componentes

• Fichero de reglas /etc/inittab.• Scripts primarios rcn (normalmente enlaces simbolicos).• Scripts secundarios (/etc/rc.d, /etc/init.d).• Ficheros de configuracion adicionales (/etc/default).

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 16/37

Page 17: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Clasificacion de Runlevels

• 0: Halt, para apagado seguro.• 1: Administracion mantenimiento.• S y s: Modo monousuario (pide contrasena de root).• 2: Modo multiusuario sin servicios de red.• 3: Modo multiusuario con servicios de red.• 4, 7, 8 y 9: Por definir por el administrador,• 5: Igual que 3 con consola grafica• 6: Reinicio• Q y q: Pseudo estado para forzar la re-lectura /etc/inittab.• a, b, c Pseudo-runlevel: No cambian el estado numerico. Solo

ejecutan los mandatos presentes /etc/inittab.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 17/37

Page 18: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Fichero inittab

SintaxisUn serie de lıneas con el formato

id:niveles:accion:proceso args

• id: Identificador unico.• niveles: Niveles en los que se ejecuta.• accion: Modo de ejecucion.• proceso args: Mandato que ejecutar y argumentos.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 18/37

Page 19: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Fichero inittab

Tipos de accionesEl campo accion le indica a init como debe ejecutar el proceso.Los tipos de accion habituales son:wait Se espera a que la tarea acabe.respawn Si la tarea termina, se relanza automaticamente.once Comenzar el proceso si no esta funcionando ya.boot Ejecutar solo al arranque.bootwait Ejecutar solo al arranque, esperando a que termine.initdefault Para definir el nivel por defecto

(no se especifica proceso en este caso).sysinit Actividades previas a que init acceda a la consola.off Terminar el proceso si esta ejecutando.otros man inittab.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 19/37

Page 20: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Fichero inittab

Ejemploid:3:initdefault:

l0:0:wait:/etc/init.d/rc 0l1:1:wait:/etc/init.d/rc 1l2:2:wait:/etc/init.d/rc 2l3:3:wait:/etc/init.d/rc 3

2:2345:respawn:/sbin/mingetty tty2

ca::ctrlaltdel:/sbin/shutdown -r -t 4 now

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 20/37

Page 21: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Scripts de inicializacion rcn

• El valor de n indica el runlevel.• Uno o varios scripts normalmente en /etc/rcn.d.• Los scripts secundarios se almacenan en /etc/init.d y se

enlazan desde los directorios /etc/rcn.d/ o/etc/init.d/rcn.d/

• Los scripts secundarios se etiquetan y ejecutan en un ordenpredeterminado.

• Existen herramientas para manejar dependencias entre scripts yetiquetar los enlaces automaticamente (innserv, chkconfig,sysv-rc-conf)

K09cron K15portmap S01dbus S08nfsK11nfsserver K16avahi-daemon S02consolekit S10kbdK11postfix K16syslog S03haldaemon S10powersavedK11xdm K17network S05network S10sshdK12cups K19haldaemon S06avahi-daemon S11nfsserver

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 21/37

Page 22: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Arranque, parada, reinicio deservicios

Gestion manual• El estado de los servicios presentes en /etc/init.d puede

manipularse manualmente.• El estado se cambia ejcutando el script con uno de los

argumentos:• start Arranca el servicio si no esta arrancado• stop• restart Para y rearranca el servicio• otros

• Los scripts de /etc/inid.d se pueden ejecutar directamentepero es recomendable usar el mandato service paraproporcionar un entorno mas seguro.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 22/37

Page 23: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Arranque, parada, reinicio deservicios

Gestion automatica• Normalmente la parada y arranque de servicios esta gestionada

por init a traves de los scripts /etc/init.d/rc, el cual seinvoca desde /etc/inittab al cambiar de nivel de ejecucion.

• Al pasar de un runlevel inferior a uno superior X , los scripts/etc/rcX.d que empiezan por S se ejecutan en ordenascendente pasando el argumento start.

• Al pasar de un runlevel inferior a uno superior X , los scripts/etc/rcX.d que empiezan por K se ejecutan en ordendescendent pasando el argumento stop.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 23/37

Page 24: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart

Introduccion• Reemplazo de init para la gestion de servicios y tareas por

medio de eventos.• Desarrollado por Canonical para Ubuntu, pero adoptado por

otras distribuciones.

Diferencias principales frente a SystemVNo inittab, /etc/event.d update-rc.d)

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 24/37

Page 25: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart

Conceptos basicos

• Trabajos• Eventos

Elementos• El proceso init.• Ficheros de configuracion (almacenados en /etc/init).• Mandatos de control (initctl, status, start, stop, ...).

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 25/37

Page 26: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart: Trabajos

Tipos de trabajos

• Tareas: Trabajos que tienen un instante de comienzo y findeterminado. No crean procesos nuevos. Ej: montar los sistemasde ficheros, configurar la red.

• Servicios: Trabajos de que no tienen un instante de terminaciondeterminado (demonios).

• Abstractos: Trabajos sin proceso o script asociado. Existen solodentro de Upstart (no tienen PID) y pueden sirven parasincronizar otras tareas.

Especificacion de trabajosUn trabajo se especifica en un fichero .conf almacenado en init.El nombre del fichero sin extension es el nombre del trabajo.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 26/37

Page 27: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart: sintaxis de basica

Sintaxis de fichero de configuracion

## Esto serıa un comentarioauthor "yo"description "descripcion opcional"## Tanto start on como stop on son opcionalesstart on <event> [<variables_de_evento_que_encajar>]stop on <event>## Anadir task si se trata de una tarea# task## Ahora irıa el codigo que ejecuta el trabajoscript

<codigo>end script## oexec <mandato y argumentos>

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 27/37

Page 28: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart: Eventos

Tipos de eventos

• Metodos: eventos bloqueantes para el emisor hasta que elevento se procesa. Se generan manualmente con initctlemit evento.

• Senales: eventos no bloqueantes para el emisor y asıncronos.Se pueden generar con initctl emit --no-wait evento.

• Externos (hooks): eventos emitidos por otros demonios delsistema como el demonio de dbus o el de udev.

Los cambios de estado generan eventos (starting, started, stopping,stopped, ver paginas man).Los eventos de sistema se documentan en upstart-events(7).

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 28/37

Page 29: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart: Ciclo de vida de un trabajo I

Arrancando trabajos

1 Los trabajos se arrancan manualmente con start id oinitctl start id o activados por el bloque start on.

2 Se emite starting como metodo (con las variables de entornoJOB e INSTANCE).

3 Si hay un bloque pre-start {script ... end script |exec} se ejecuta.

4 El proceso principal se lanza en un proceso nuevo.5 Si hay un bloque post-start, se ejecuta.6 Se emite el evento started.

respawn sirve para reintentar tareas y reerrancar servicios.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 29/37

Page 30: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart: Ciclo de vida de un trabajo II

Parando trabajos

1 Las tareas cambian de objetivo start a stop al finalizar suproceso.

2 Se asume que los servicios no terminan a discrecion.3 El objetivo de un trabajo pasa a stop por invocacion deinitctl stop id, stop id o disparado por la clausula stopon.

4 Si hay un bloque pre-stop, se ejecuta.5 Se envıa SIG TERM al proceso, se espera 5 segundos y se envıaSIG KILL.

6 Se emite el evento stopping con informacion de terminacion.7 Ejecutar el bloque post-stop se procede.8 Se emite el evento stopped.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 30/37

Page 31: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart: Trabajos

Estados de un trabajoObjetivo

Estado start stop

waiting starting n/astarting pre-start stoppingpre-start spawned stoppingspawned post-start stoppingpost-start running stoppingrunning stopping pre-stop or stoppingpre-stop running stoppingstopping killed killed

killed post-stop post-stoppost-stop starting waiting

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 31/37

Page 32: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Upstart: otros detalles

Runlevels• En las distribuciones Debian y Ubuntu solo se usan los runlevels

1 o S (monousuario), 2 (multisuario), 0 (apagado) y 6(reiniciado).

• Los niveles 3-5 existen, pero no se usan.• Se pueden especificar clausulas dependientes del runlevelstart on runlevel 0start on runlevel [234]

Depurando scripts

• initctl log-priority debug genera una traza en/var/log/syslog.

• console output redirecciona la salida a /dev/console.• env para la inspeccion del entorno.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 32/37

Page 33: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Udev

Sistema para gestionar nodos de dispositivo en /dev

• Soporta nombrado estatico basado en UUIDs.• Funciona en espacio de usuario.

Arquitectura

• Biblioteca libudev.• Demonio udevd.• Herramienta udevadm para diagnostico.• El kernel se comunica con el demonio por medio de un socketnetlink.

• El demonio funciona por medio de reglas en/etc/udev/rules.d

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 33/37

Page 34: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

D-bus

Introduccion• Bus de sistema que proporciona mecanismos IPC (inter-process

communication).• Permite intercambio de mensajes entre aplicaciones basado en

un esquema de emisor/subscriptor.• Desarrollado por el proyecto freedesktop.org• Usado por GNOME, KDE (>4) y Qt 4.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 34/37

Page 35: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

D-bus

Arquitectura

• Existe un demonio de sistema (dbus-daemon) y otro por sesionde usuario para dar servicio al resto aplicaciones.

• La funcionalidad de bajo nivel se implementa en una bibliotecaen C (libdbus).

• La communicacion se establece a traves de sockets UNIX.• Existen envolturas de la biblioteca de bajo nivel para varios

entornos y lenguajes (Glib, Qt, C++, Python).

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 35/37

Page 36: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

D-bus

Conceptos

• Nombres de bus org.freedesktop.DBus.• Interfaces org.nombre.interfaz.• Objetos (identificados con nombres similares a un sistema de

ficheros /org/aso2013/test.• Metodos.

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 36/37

Page 37: Administración UNIX: Arranque del sistema y servicios básicoslaurel.datsi.fi.upm.es/.../asi/arranque_y_servicios_unix_2013.pdf · Arranque de sistemas UNIX Secuencia de arranque

Servicios: programacion de tareas

Existen mutitud de tareas de adminsitracion que deben realizarse deforma periodica

• Actualizacion de software• Comprobaciones de seguridad• Realizacion de back-ups• etc.

Herramientas comunes• cron y crontab (parte del estandar SUS)• anacron

[email protected] Administracion UNIX: Arranque del sistema y servicios basicos 37/37