¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. 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 Preparación a la certificación LPIC-2 (exámenes LPI 201 y LPI 202) – 5ª edición
Extractos del libro
LINUX Preparación a la certificación LPIC-2 (exámenes LPI 201 y LPI 202) – 5ª edición Volver a la página de compra del libro

Arranque del sistema

Requisitos y objetivos

1. Requisitos

Los conocimientos necesarios para la certificación LPIC-1:

Comandos del seguimiento de los procesos.

Edición de archivos.

Comandos de gestión de directorios y de archivos.

Particiones y sistemas de archivos.

2. Objetivos

Al final de este capítulo, deberá poder:

Comprender con precisión la secuencia de arranque de Linux, en entorno BIOS y UEFI.

Conocer los procesos de arranque de systemd y de init System V.

Configurar el estado de los servicios según los targets (u objetivos) systemd o los niveles de ejecución init System V.

Saber cómo modificar la secuencia de arranque, en modo recuperación, usando las opciones de carga del núcleo.

Configurar los gestores de arranque GRUB 2 y GRUB Legacy.

Conocer los otros gestores de arranque y sus funciones principales.

Inicio del sistema

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

1. Personalización del arranque del sistema

Peso

3

Objetivos

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

Peso

4

Objetivos

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

  • Inicialización y configuración del material

  • Inicialización y configuración...

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.

Para la certificación LPIC-2 será necesario dominar estos dos entornos de arranque, ya que los dos se utilizan en producción, aunque systemd tiende a ir reemplazando init System V. El arranque systemd está implementado por defecto 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, lo que permite comprobar los conocimientos adquiridos para la certificación LPIC-2.

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...

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 particiones....

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...

Validación de lo aprendido: preguntas/respuestas

Responda a estas preguntas abiertas, parecidas a las que le harán en el examen de la certificación, pero estas últimas serán de tipo test o pidiéndole una respuesta corta que introducirá mediante el teclado. 

1. Preguntas

1 ¿Cuál es el PID del proceso init?

2 ¿Por qué el arranque usando systemd es generalmente más rápido que el hecho por initSystem V?

3 ¿Qué comando permite solicitar a un servicio systemd que relea sus propios archivos de configuración?

4 ¿Cómo se puede cambiar el nivel de ejecución del sistema a 3?

5 ¿Qué es GPT?

6 ¿Qué comandos permiten actualizar la configuración de GRUB 2?

7 ¿Qué parámetro de carga del núcleo permite usar un shell con el UID 0, sin pedir la contraseña del super usuario?

8 En el archivo de configuración de GRUB, ¿a qué partición de qué disco corresponde (hd1,1)?

9 ¿Qué comando permite crear un archivo de imagen ISO 9660?

10 ¿Qué servidores de red necesita configurar para poder arrancar máquinas en modo PXE?

2. Resultado

En las páginas siguientes encontrará las respuestas a estas preguntas. Por cada respuesta correcta cuente un punto.

Número de puntos:    /10

Para este capítulo...

Trabajos prácticos

Aquí se proponen ejercicios para implementar algunos de los puntos abordados en el capítulo. En cada etapa se da un ejemplo comentado de la realización del ejercicio, que deberá adaptar a la configuración de sus sistemas.

1. Cambio de la contraseña de root en modo recuperación

Ha perdido la contraseña del superusuario root de un servidor Linux. Debe arrancar la máquina en modo de recuperación para poder atribuir una nueva contraseña al usuario root, sin tener que teclear la antigua contraseña.

Su servidor arranca con GRUB 2 y el menú de arranque no está protegido por ninguna contraseña.

Comandos y archivos útiles

  • shutdown

  • mount

  • passwd

Etapas

1.

Reinicie el servidor srvRH.

2.

En el menú de arranque de GRUB, póngase en modo de edición.

3.

Al final de la línea que especifica las opciones de arranque del núcleo, añada la opción para ejecutar un shell. Ejecute la carga del núcleo.

4.

Cuando se muestre la línea de comandos del shell, teclee el comando necesario para forzar el montaje de la partición raíz en modo de lectura y escritura. Modifique la contraseña del usuario root. Reinicie el sistema y abra una sesión con la cuenta del usuario root y la nueva contraseña.

Resumen de los comandos y el resultado esperado en pantalla

1.

Reinicie el servidor...