View
227
Download
4
Embed Size (px)
Citation preview
Proceso de Arranque y Servicios
1 - Introducción2 – BIOS/UEFI
3 – Gestores de Arranque4 - Servicios
Introduccion I
Proceso de Arranque Power On Self-Test (POST) ● Cargador de arranque ( BIOS/UEFI ) ● Cargador de arranque (Disco Duro) ● Ejecución del kernel (Linux) ● Montaje de los sistemas de archivos ● Inicio de servicios y resto del sistema
Introduccion II
Introduccion II
Gestores de Arranque
Lilo/ELilo Grub Legacy Grub2 SysLinux
Introduccion III
Sistema de Servicios
SysVInit Upstart SystemD
BIOS/UEFI I
BIOS
Standard CMOS BIOS Features Chipset Features Power Management PNP/PC Configuration Integrated Peripherals
BIOS/UEFI II¿Qué es UEFI?
UEFI (Unified Extensible Firmware Interface) Especificacion que transfiere el el control a un OS Independiente de la Arquitectura Interfaz mas limpia entre OS y Firwmare de arranque.
BIOS/UEFI III¿Cuál es la relación entre EFI y UEFI?
UEFI se basa en EFI 1.10 Intel publico las especificaciones No tiene mas actualizaciones EFI
BIOS/UEFI IV ¿Cómo UEFI difieren de la BIOS?
BIOS es especifico a INTEL BIOS sirve como interfaz original para PC-XT y PC-AT UEFI moderniza y estandariza este sistema UEFI define una interfaz OS-Firmware UEFI lo define como “servicios de arranque” y
“Servicios en tiempo de ejecucion” UEFI no es especifico a cualquier arquitectura de
procesador
BIOS/UEFI V
BIOS/UEFI V
BIOS/UEFI VI Resumen Caracteristicas UEFI
Habilidad para arrancar de discos mas grandes (+ 2TB)
Inicio mas rapido Arquitectura de CPU Independiente Arquitectura de drivers de CPU independiente Flexibilidad Diseño Modular Mas adecuado para las necesidades del momento
Gestor de Arranque I
Grub Legacy
● Soporta varios sistemas de archivos
● Permite definir el kernel a cargar
● Permite pasar opciones al kernel
● Soporta contraseñas de modificaciones
Gestor de Arranque II
Referencia a dispositivos de disco: (xdn[,m]) Xd fd o hd para floppy o discos duros* n Número de disco (según el BIOS, desde 0) M Número de partición (desde 0) *No distingue entre IDE, SCSI y SATA dd if=/dev/sda bs=512 count=1 | hexdump -C
Gestor de Arranque III
Ejemplos: (fd0) El primer disco floppy (hd0) El primer disco rígido (hd0,1) La segunda partición del primer disco rígido
Gestor de Arranque IV
Parámetros de arranque del kernel root=/dev/sda1 Define la partición que se utilizará como raíz init=/bin/bash Define el programa a ejecutar al terminar la carga ro Monta el FS raíz en modo de sólo lectura initrd=/boot/initrd.img-2.6.32-5-686 Define la imagen initrd a utilizar en el arranque del
sistema
Gestor de Arranque V
Logs de arranque del kernel dmesg | more
Se puede ver como se carga y detecta todo
Archivo de Configuracion /boot/grub/grub.conf o menu.lst
Gestor de Arranque VI
Grub2 Configuracion modular Soporte para más sistemas de ficheros Soporte de scripting Nuevo método para numerar las particiones Mejor gestión de memoria Interfaz gráfica de usuario (BURG)
Gestor de Arranque VII
Archivos de Configuracion
/boot/grub/grub.cfg (no recomendable editar) /etc/default/grub /etc/grub.d
Gestor de Arranque VII
Archivos de Configuracion
/boot/grub/grub.cfg (no recomendable editar) /etc/default/grub (ejecutar update-grub) /etc/grub.d (ejecutar update-grub)
Gestor de Arranque VIII
Entrada en Grub Legacy
title CentOS (2.6.32-220.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-220.el6.i686 ro root=/dev/mapper/vg_becascontrolf-lv_root rd_LVM_LV=vg_becascontrolf/lv_swap rd_NO_LUKS rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=la-latin1 LANG=es_ES.UTF-8 rd_LVM_LV=vg_becascontrolf/lv_root rd_NO_DM
initrd /initramfs-2.6.32-220.el6.i686.img
Gestor de Arranque VIII
Entrada en Grub2
menuentry 'Fedora (3.3.1-5.fc16.x86_64)' --class fedora --class gnu-linux --class gnu --class os {
load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root b3bb7242-c7f0-
4182-96a5-ec223d08b953 echo 'Loading Fedora (3.3.1-5.fc16.x86_64)' linux /vmlinuz-3.3.1-5.fc16.x86_64
root=/dev/mapper/vg_restauracion-root ro rd.md=0 rd.dm=0 quiet rd.lvm.lv=vg_restauracion/swap SYSFONT=latarcyrheb-sun16 rhgb KEYTABLE=la-latin1 rd.lvm.lv=vg_restauracion/root rd.luks.uuid=luks-5c0dc81f-4e7b-49d5-a1a5-396b0d0c3c43 LANG=en_US.UTF-8
echo 'Loading initial ramdisk ...' initrd /initramfs-3.3.1-5.fc16.x86_64.img
Gestor de Arranque IX
LILO/ELILO
Actualmente casi en deshuso ELILO soporta EFI LILO no tiene una línea de comandos interactiva
como GRUB LILO no permite bootear desde una red, en cambio
GRUB sí. LILO no guarda la informacion de sus sistema de
archivos que cambian en MBR, se debe ejecutar lilo LILO no es interactivo y permite tan sólo un comando
con argumentos.
Gestor de Arranque XI
Recuperando GRUB
[root@becascontrolf ~]# grub-install /dev/sda
[root@becascontrolf ~]# grub-install '(hd0)'
Gestor de Arranque XII
Recuperando GRUB
dd if=/dev/zero of=/dev/sda bs=446 count=1
chroot /mnt/sysimage Montar si hace falta algun que otro fs
Realizar los pasos anteriores y reiniciar.
Gestor de Arranque XIII
Recuperando mediante Shell grub
grub> root (hd0,0) root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 27
sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+27 p
(hd0,0)/grub/stage2 /grub/grub.conf"... succeeded Done. grub>
Gestor de Arranque XIV
Recuperando GRUB2
Reiniciar live-cd o rescue-cd Mount -t ext4 /dev/ sdaXX /mnt Mount –bind /dev /mnt/dev
chroot /mnt/ grub2-install /dev/sda
Niveles de ejecución I
● Van del 0 al 6
● Controlan los servicios a ejecutar
● Presentes en la mayoría de los Unix
Niveles de ejecución II
0 - Apagar el sistema1 - Modo mantenimiento (o monousuario)2 - Multiusuario sin NFS ni entorno gráfico3 - Todo menos entorno gráfico (default)4 - Típicamente no utilizado5 - Multiusuario con entorno gráfico6 - Reiniciar el sistemaConfiguración basada en sistemas RedHat
Niveles de ejecución II
Monousuario
● Sin red
● Sin entorno gráfico
● Mayoría de servicios deshabilitados
● Utilizado para mantenimiento
SysVInit I
/etc/inid.d/
Contiene todos los scripts de arranque
SysVInit II/etc/rcX.d/
Se reemplaza la 'X' por el número de runlevel Contiene enlaces a los scripts de /etc/init.d/ Los que empiezan con 'S' inician el servicio
Los que empiezan con 'K' detienen el servicio El número indica el orden de ejecución
SysVInit III/etc/rc.local
Es un script Se ejecuta al final de los niveles multiusuario Suele utilizarse para configuraciones particulares
SysVInit IVAdministración de servicios
Ejemplo del servicio apache2: /etc/init.d/apache2 opción Opciones comunes: start, stop, restart, reload, status Cada servicio puede tener otras opciones
SysVInit V/etc/inittab
Permite configurar el comportamiento de init Runlevel por defecto: id:2:initdefault:
SysVInit VIComando 'runlevel'
Muestra el runlevel actual
Uso:
runlevel
SysVInit VIIComando 'runlevel'
Ejemplos:
# runlevel
35
(Se inició en 3 y estamos en 5)
# runlevel
N2
(Se inició en 2 y estamos en 2)
SysVInit VIIIComando 'init'
Permite modificar el runlevel actual
Uso:
init runlevel
SysVInit IXComando 'init'
Ejemplos:
# init 0
(Apaga el sistema)
# init 6
(Reinicia el sistema)
# init 3
(Pasa al runlevel 3)
SysVInit XComando 'shutdown'
Apaga o reinicia el sistema en forma correcta
Uso:
shutdown [opciones] tiempo mensaje
Enviar mensajes masivos wall, write
write root /dev/tty1
wall
El sistema se apagara en 5 minutos
Cierre sus programas
Control + d
SysVInit XIComando 'shutdown'
Opciones comunes:
f Evita el chequeo de FS en el siguiente inicio
h Apaga el sistema
k No hace nada, sólo envía el mensaje
r Reinicia el sistema
F Fuerza el chequeo de FS en el siguiente inicio
SysVInit XIIComando 'shutdown'
Ejemplos:
shutdown -r now
Reinicia el sistema ahora (now)
shutdown -r +5 Reinicio
Reinicia en 5 minutos y envía el mensaje “Reinicio”
shutdown -h 23:59
Apaga el sistema a las 23:59hs
SysVInit XIIIComando Chkconfig
Listar servicios Agregar/Quitar servicios
Comando service Inicializar/Reinicializar/Parar servicios
SysVInit XIVComando Chkconfig
Chkconfig --list
Chkconfig sshd off
Chkconfig sshd on 2345
usage: chkconfig [--list] [--type <type>] [name]
chkconfig --add <name>
chkconfig --del <name>
chkconfig --override <name>
chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
Comando service
Service sshd status
Service sshd restart
Upstart vs SysVinitDiferencias
Upstart trabaja de forma asincronica SysVinit trabaja de forma sincronica Upstart supervisa servicios en tiempo real Upstart mejora el arranque del sistema Upstart es compatible con SysVinit
Upstart I
Configuracion
Scripts en /etc/init (compatible con /etc/init.d)
Parametros de arranque /etc/sysconfig/init (Red Hat)
Comandos
Listar --> initctl list
Parar --> initctl stop job
Arrancar --> initctl start job
Estado --> initctl status job
Log --> initctl log-priority (debug + info)
Upstart II
Conceptos de Jobs
* Jobs
* Tipos Task,Service,Abstract
* Estados (Ver Tabla Abajo)
* Jobs del sistema /etc/init/
* Los usuarios pueden crear Jobs (/etc/dbus-1/system.d/Upstart.conf) en $HOME/.init/
* Variantes (start on sin stop on, stop sin start on, sin stop on o start on )
Upstart III
Conceptos de Jobs
Upstart IV
Upstart V
Conceptos de Events
* Tipos de Events
* Signals
* Methods
* Hooks
Upstart usa estados de forma interna
Los eventos se comportan segun el compartamiento del job (starting,started,stopped)
Upstart VI
Ejemplos:
start on runlevel 3
respawn
respawn limit 5 10
exec /usr/sbin/sshd
Upstart VI
Conceptos de Events
* Tipos de Events
* Signals
* Methods
* Hooks
Upstart usa estados de forma interna
Los eventos se comportan segun el compartamiento del job (starting,started,stopped)
Upstart VIIMas Comunes
* control-alt-delete (lanza shutdown)
* init-system-dbus.conf ( conecta init con dbus)
* Plymouth files (plymouth-*,splash-*,quit-*), reemplaza rhgb
* Archivos de termina (prefdm,start-ttys,tty,serial)
* Control de Recursos ( rcS, rcS-sulogin,rc)
SystemD I
Caracteristicas Compatible con System V init y LSB Reemplazaría al sistema de inicio SysV Resuelve de otra manera las dependencias de
servicios Mejoras en el inicio de servicios en paralelo Utilización de cgroups para seguir los procesos
(seguimiento) Control de procesos
SystemD II
Caracteristicas Sistema simple de plantillas/instancias para
archivos de configuración genéricos Compatibilidad con SysV init script (LSB,
chkconfig) Sintaxis de configuración simple Soporta snapshot del sistema Escrito por Lennart Poettering bajo licencia
GPL2
SystemD IIISystemD IIIHerramientas
systemctl
systemd-cgls
sytemadm (systemd-gtk package)
Systemd IIISystemd IIIComparación con SysV
Systemd IV Comparacion con SysV
SystemD IV Units
[Unit]
Description=System Logging Service
[Service]
EnvironmentFile=-/etc/sysconfig/rsyslog
ExecStartPre=/bin/systemctl stop systemd-kmsg-syslogd.service
ExecStart=/sbin/rsyslogd -n $SYSLOGD_OPTIONS
Sockets=syslog.socket
StandardOutput=null
[Install]
WantedBy=multi-user.target
Bibliografia
Sistema de Servicios
http://www.buenastareas.com/ensayos/Que-Es-Uefi/1588718.html
http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
http://www.todoexpertos.com/categorias/tecnologia-e-internet/sistemas-operativos/linux/respuestas/555972/diferencia-entre-cargadores-de-arranque
Upstart
http://rm-rf.es/rhel-centos-6-adios-system-v-hola-upstart/
http://systemadmin.es/2011/10/upstart-en-centos-6
https://wiki.frugalware.org/index.php/Upstart_Job_HOWTO
http://upstart.ubuntu.com/cookbook/