Biblioteca Online : ¡La Suscripción ENI por 9,90 € el primer mes!, con el código PRIMER9. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Linux
  3. Arranque del sistema
Extrait - Linux Administración del sistema y explotación de los servicios de red (5ª edición)
Extractos del libro
Linux Administración del sistema y explotación de los servicios de red (5ª edición) Volver a la página de compra del libro

Arranque del sistema

Inicio del sistema

Este tema está dividido en tres partes con pesos diferentes.

1. Personalización del arranque del sistema

El objetivo de esta sección es de enseñarle a:

  • determinar y modificar el estado de los servicios según los objetivos o niveles de ejecución ;

  • comprender con precisión los procesos de arranque de systemd, de init System V, así como la secuencia de inicio de Linux ;

  • conocer las interacciones entre los targets systemd y los niveles de ejecución init System V.

a. Competencias principales

  • systemd

  • init System V

  • Especificaciones LSB (Linux Standard Base)

b. Elementos empleados

  • /usr/lib/systemd/

  • /etc/systemd/

  • /run/systemd/

  • systemctl

  • systemd-delta

  • /etc/inittab

  • /etc/init.d/

  • /etc/rc.d/

  • chkconfig

  • update-rc.d

  • init y telinit

2. Recuperación del sistema

El objetivo de esta sección es de enseñarle a:

  • manipular correctamente un sistema Linux durante la secuencia de arranque y en modo recuperación ;

  • usar el comando init y las opciones del núcleo relativas a init ;

  • determinar la causa de los errores en la carga del sistema y con los gestores de arranque. El programa se concentra en los gestores de arranque GRUB 2 y GRUB Legacy, en modo de configuración BIOS y UEFI.

a. Competencias principales

  • BIOS y UEFI

  • Arranque NVMe

  • GRUB versión 2 y Legacy

  • Shell grub

  • Arranque del cargador de inicio y activación del núcleo

  • Carga del núcleo...

Personalización del arranque del sistema

El arranque del sistema Linux empieza después de la secuencia de inicio, una vez que el núcleo Linux ha sido cargado en memoria y activado. Este núcleo inicializará el material, cargará los módulos dinámicos necesarios para la gestión de los elementos materiales detectados e iniciará los distintos servicios, en función de su configuración.

Los dos modos principales de gestión de este arranque son init System V, modelo más antiguo, derivado de Unix system V, y systemd, más reciente y originario de Linux.

Es necesario conocer perfectamente los dos gestores de arranque, ya que los dos se utilizan en entornos de producción, aunque systemd tenga vocación de reemplazar a largo plazo a init System V. systemd es el entorno de arranque que se encuentra presente en las versiones recientes de la mayoría de las distribuciones.

1. init System V

init System V es un mecanismo de arranque y de paro de diferentes servicios y procesos según el nivel de funcionalidades (nivel de ejecución, identificado por un número o una letra) deseado. Se apoya en el programa init, proceso lanzado como tarea en segundo plano, creado por el núcleo en el arranque del sistema. El proceso init inicia después un conjunto de demonios definidos como activos en el nivel de ejecución por defecto.

Originario de Unix, en su versión System V, este método de arranque ha sido el más utilizado en Linux durante mucho tiempo. Desde la creación de systemd por Lennart Poettering en 2010, las versiones recientes de las distribuciones (Red Hat, Debian, etc.) tienden a llevarlo por defecto, en detrimento del primero.

La versión 6 de la distribución Red Hat Enterprise Linux y la versión Debian 7 Wheezy utilizan por defecto init System V.

2. El proceso init

El proceso que ejecuta el programa /sbin/init es creado por el núcleo, con PID número 1. Además del proceso de PID número 2 y de los procesos hijos, que se ejecutan en modo núcleo, este proceso es el que se encuentra en el origen de todos los otros procesos que se ejecutan en el sistema.

Como ha sido creado directamente por el núcleo, su proceso padre es un pseudoproceso con el PID número 0.

a. Procesos hijos de init

Extractos de la lista...

Recuperación del sistema

En el caso de que haya un problema, el administrador tiene que poder establecer rápidamente el diagnóstico e implementar una solución para reparar y reestablecer la situación. 

Para ello, hay que conocer bien las diferentes etapas de arranque del sistema, así como las distintas técnicas que permiten modificar los parámetros de arranque o arrancar a partir de un dispositivo de recuperación. 

1. Inicio del sistema

Cuando se arranca la máquina en la que está instalado un sistema Linux, un programa inicializa los componentes materiales y después busca un programa de carga del núcleo (boot loader).

En las arquitecturas de hardware de tipo PC, este programa puede ser la BIOS o, cada vez más, UEFI, su sustituto más potente y seguro.

a. BIOS

La BIOS (Basic Input/Output System) es un programa almacenado en una memoria EEPROM o flash. Es la encargada de configurar y gestionar los componentes de hardware de bajo nivel de la máquina y de arrancar la carga del sistema operativo.

Cuando se acciona el botón de encendido de la máquina, se ejecuta la BIOS. Ésta efectúa tests llamados POST (Power-On Self Test) en los componentes de bajo nivel (memoria, procesador, etc.). Después busca un programa de arranque de un núcleo del sistema operativo (boot loader), recorriendo para ello sucesivamente los distintos dispositivos, según un orden configurado. En cuanto encuentra un programa en la ubicación específica del dispositivo (el sector de arranque del disco, el MBR, o el primer sector de la partición activa), lo carga en memoria y este se ejecuta.

La arquitectura de la BIOS es antigua y sus límites están impuestos por las primeras máquinas de tipo PC. Está cada vez menos adaptada a las posibilidades del hardware moderno y da problemas de seguridad. 

b. UEFI

El UEFI (Unified Extensible Firmware Interface) fue concebido para reemplazar a la BIOS, ofreciendo más funcionalidades y reforzando la seguridad. Administra una interfaz gráfica de alta resolución, la red y el multiboot (elección de la carga de diferentes sistemas operativos).

El UEFI utiliza un esquema de particionado de discos específico, el GPT (GUID Partition Table), que permite gestionar discos de gran tamaño con muchas...

Cargadores de arranque alternativos

A parte de GRUB, hay otros métodos que permiten cargar un núcleo Linux:

  • SYSLINUX/EXTLINUX: para cargar Linux desde un pendrive USB.

  • ISOLINUX: para cargar Linux desde un CD/DVD o un pendrive USB.

  • PXE: para cargar un núcleo de sistema operativo desde un servidor en red.

  • systemd-boot y U-Boot.

1. SYSLINUX y EXTLINUX

SYSLINUX al principio fue un proyecto para permitir cargar Linux (u otro sistema operativo) desde un disquete. Hoy se utiliza principalmente para cargar el núcleo desde un pendrive USB. Viene con el paquete syslinux.

SYSLINUX necesita una partición FAT. Para instalar el cargador en el periférico elegido, tiene que usar el comando syslinux:

syslinux --install ArchivoEspecialDisco 

La configuración del menú de arranque se hace a través del archivo de texto syslinux.cfg, en el dispositivo de arranque (en el directorio /syslinux o /boot/syslinux).

EXTLINUX es un derivado de SYSLINUX. Con la diferencia de que EXTLINUX usa una partición de tipo ext (ext2, ext3 o ext4). El comando para instalar el cargador es:

extlinux --install DirMont 

donde DirMont es el directorio de montaje del dispositivo externo de arranque. El archivo de configuración del cargador es extlinux.conf.

2. ISOLINUX

ISOLINUX se usa para crear CD/DVD arrancables, en formato ISO 9660.

Forma parte del paquete syslinux, y se trata de un conjunto de herramientas que permiten gestionar los cargadores de arranque alternativos (discos extraíbles, PXE, etc.).

Los diferentes archivos que tienen que almacenarse en la imagen ISO arrancable se encuentran...