Preparación para el examen 201 del LPI: Arranque del sistema

Tema 202 de Intermediate Level Administration (LPIC-2)

En este tutorial, David Mertz continúa preparándolo para el ® examen 201 de Intermediate Level Administration (LPIC-2) de Linux Professional Institute. En éste, el segundo de ocho tutoriales, usted conocerá los pasos por los que transita un sistema Linux™ en el inicio del sistema, y aprenderá a modificar y personalizar estos comportamientos para adaptarlos a sus necesidades específicas.

David Mertz, Developer, Gnosis Software

David MertzDavid Mertz es Turing completo, pero probablemente no apruebe la Prueba de Turing. Para conocer más acerca de su vida, consulte su página Web personal. David escribe las columnas developerWorks Charming Python y XML Matters desde el año 2000. Consulte su libro Text Processing in Python [Procesamiento de texto en Python].



28-07-2010

Antes de comenzar

Conozca qué es lo que esta serie de tutoriales puede enseñarle y cómo aprovecharla al máximo.

Acerca de esta serie

El Linux Professional Institute (LPI) certifica a administradores de sistemas Linux en los niveles junior e intermedio. Para obtener cada uno de los niveles de certificación, usted deberá aprobar dos exámenes de LPI.

Cada examen abarca diversos temas, y casa uno de los temas tiene un valor. Los valores indican la importancia relativa de cada tema. A grandes rasgos, usted deberá esperar más preguntas sobre los temas con valor más altos en cada examen. Los temas y sus valores para el examen 201 de LPI son:

Tema 201
Kernel de Linux (valor 5).
Tema 202
Arranque del sistema (valor 5). El tema de este tutorial.
Tema 203
Sistemas de archivos (valor 10).
Tema 204
Hardware (valor 8).
Tema 209
Uso compartido de archivos y servicios (valor 8).
Tema 211
Mantenimiento del sistema (valor 4).
Tema 213
Personalización y automatización del sistema (valor 3).
Tema 214
Resolución de problemas (valor 6).

El Linux Professional Institute no avala ningún material o técnica de preparación de exámenes en particular. Para más detalles, por favor comuníquese con info@lpi.org.

Acerca de este tutorial

Bienvenido a "Arranque del sistema," el segundo de ocho tutoriales diseñados para prepararlo para tomar el examen 201 de LPI. En este tutorial, usted conocerá los pasos que transita un sistema Linux en el inicio del sistema, y aprenderá a modificar y personalizar estos comportamientos para adaptarlos a sus necesidades específicas.

El tutorial está organizado según los objetivos de LPI para este Tema, de la siguiente manera:

2.201.1 Cómo personalizar los procesos de arranque e inicio del sistema (valor 2)
Usted aprenderá a editar los scripts de arranque adecuados en el sistema para personalizar los niveles de ejecución y los procesos de arranque de un sistema estándar. Este objetivo incluye la interacción con niveles de ejecución y la creación de las imágenes initrd personalizadas que sea necesario.
2.201.2 Recuperación del sistema (valor 3)
Usted podrá manipular adecuadamente un sistema Linux durante el arranque y cuando esté en modo de recuperación. Este objetivo incluye el uso de la utilidad init y de las opciones init= kernel.

Estrictamente hablando, este tutorial se encuentra en el límite de Linux. El tutorial anterior (sobre el Tema 201) se ocupó del kernel, que es el núcleo de Linux. Este tutorial pasa a las herramientas y los scripts auxiliares que son necesarios para hacer que funcione el kernel y para inicializar el sistema en la medida en que haga algo con sentido. Observe que las herramientas y los scripts asociados con la inicialización son actualizados por los creadores de las distribuciones de Linux o individualizados por administradores de sistemas más que desarrollados como parte del kernel de Linux en sí mismo. Sin embargo, todo sistema Linux – incluso el incrustado – requiere algunos pasos básicos de inicialización. En este tutorial repasaremos estos pasos.

En tutoriales posteriores, analizaremos una variedad de herramientas de red, de actualización de sistemas, de manipulación de archivos y datos, etc., que tienen importancia para que funcione una instalación de Linux y forman parte de casi todas las distribuciones de Linux, pero que en sí mismas son aún menos parte de Linux que los scripts de inicialización.

Requisitos previos

Para aprovechar al máximo este tutorial, usted deberá contar con un conocimiento previo básico de Linux y con un sistema Linux en funcionamiento sobre el cual pueda practicar los comandos que aquí se discuten.


Arranque e inicio del sistema

¿Qué sucede cuando usted enciende una computadora con Linux?

Vamos a descomponer el proceso de arranque de Linux en los nueve pasos que se producen en casi todas las configuraciones Linux:

  1. Hardware/firmware: El sistema de firmware o BIOS lee el registro maestro de arranque en el disco rígido o en otro dispositivo de (por ejemplo, CD, disco flexible, netboot, etc.).
  2. Se ejecuta un cargador de arranque. Los sistemas Linux en sistemas x86 por lo general usan LILO o GRUB. Algunos sistemas más antiguos pueden llegar a usar loadlin para el arranque mediante de una partición de DOS. En los sistemas de Power PC®, pueden ser BootX o yaboot. Por lo general, un cargador de arranque es un programa simple que sabe dónde buscar el kernel de Linux, quizás eligiendo entre diversas versiones o incluso seleccionando otros sistemas operativos en la misma máquina.
  3. Se carga el kernel.
  4. Se monta el sistema de archivos de raíz. En algunos casos, se carga una imagen del ramdisk temporal antes que el verdadero sistema de archivos de raíz para activar unidades o módulos especiales que pueden resultar necesarios para el verdadero sistema de archivos de raíz.

    Una vez que el sistema de archivos está instalado, estaremos listos para la inicialización propiamente dicha.

  5. Inicie el procesoinit, que controla todos los demás procesos de Linux.
  6. Lea los contenidos de /etc/inittab para configurar los restantes pasos del arranque. De especial importancia es la línea de /etc/inittab que controla el nivel de ejecución al cual el sistema arrancará (y en consecuencia qué otros pasos se seguirán durante la inicialización).

    En realidad, todo lo que sucede después de este momento está totalmente controlado por el contenido del archivo /etc/inittab. En especial, los scripts y las herramientas que se ejecutan suelen seguir ciertas convenciones, pero en teoría, usted podría modificar totalmente /etc/inittab para que ejecute scripts diferentes.

    Hay una configuración específica de /etc/inittab que tiene crucial importancia. Por lo general se produce una línea similar a:

    id:5:initdefault:

    cerca de la parte superior del archivo, para establecer el nivel de ejecución. Este nivel de ejecución controla cuáles son las acciones que se realizarán en el resto del script de /etc/inittab.

    ¿Qué es exactamente lo que sucede cuando se procesa un script de /etc/inittab? Y particularmente, ¿qué archivos y directorios convencionales participan del proceso?

  7. Inicialización del sistema independiente del nivel de ejecución. Por lo general existen algunas acciones de inicialización que se realizan independientemente del nivel de ejecución. Estos pasos están indicados en /etc/inittab con una línea con esta apariencia:

    # System initialization.
    si::sysinit:/etc/rc.d/rc.sysinit

    En algunos sistemas Linux (principalmente en sistemas basados en Debian), usted verá algo así:

    si::sysinit:/etc/init.d/rcS

    En el último caso, /etc/init.d/rcS es un script que simplemente ejecuta cada uno de los scripts correspondientes a /etc/rcS.d/[Ss]??*. Por otro lado, si su sistema usa /etc/rc.d/rc.sysinit, ese archivo contendrá un único script extenso para llevar a cabo toda la inicialización.

  8. Inicialización del sistema específica del nivel de ejecución. En realidad, usted podrá definir tantas acciones como desee en relación con el nivel de ejecución, y cada una de las acciones pertenecerá a uno o más niveles de ejecución. Como regla, /etc/inittab incluirá algunas líneas como:

    l0:0:wait:/etc/rc.d/rc 0
    # ...
    l5:5:wait:/etc/rc.d/rc 5
    l6:6:wait:/etc/rc.d/rc 6

    A su vez, el script /etc/rc.d/rc ejecutará todos los archivos que corresponden al patrón /etc/rc$1.d/[KkSs]??*. Por ejemplo, en el sistema de muestra descripto que se inicia en el nivel de ejecución 5, ejecutaríamos (en orden):

    /etc/rc5.d/K15postgresql
    /etc/rc5.d/S01switchprofile
    /etc/rc5.d/S05harddrake
    ...
    /etc/rc5.d/S55sshd
    ...
    /etc/rc5.d/S99linuxconf
    /etc/rc5.d/S99local

    El / Los archivo/s que comienzan con "K" o "k" son scripts de eliminación que finalizan procesos o limpian sus acciones. Los que comienzan con "S" o "s" son scripts de arranque que por lo general lanzan nuevos procesos o preparan de otro modo al sistema para que se ejecute a ese nivel de ejecución. La mayoría de estos archivos serán scripts shell, y la mayoría serán vínculos (que a menudo llevan a los archivos de /etc/init.d/).

    Casi siempre, una vez que un sistema Linux se está ejecutando a un nivel de ejecución, será conveniente que usted se conecte al sistema como usuario. Para permitirlo, se ejecuta un programa denominado getty para manejar el proceso de inicio de sesión. Los creadores de las distribuciones usan una cantidad de variaciones del getty básico, como por ejemplo agetty, mgetty, y mingetty. Y todas hacen básicamente lo mismo.

  9. Inicie sesión cuando se lo solicite. Nuestro buen amigo /etc/inittab por lo general inicia programas getty en una o más terminales virtuales y lo hace para distintos niveles de ejecución. Los mismos se configuran con líneas como las siguientes:

    # Run gettys in standard runlevels
    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6

    El primer número nos recuerda la terminal virtual donde se ejecuta el getty; el siguiente conjunto de números son los diversos niveles de ejecución donde esto ocurrirá (por ejemplo, inicio de mingetty en todos los siguientes niveles de ejecución: 2, 3, 4, and 5).

Los pasos siguientes pueden involucrar el inicio de servicios adicionales, la conexión a un entorno gráfico, la restauración de entornos UI y otros detalles más personalizados que están fuera del alcance de este tutorial.

Cómo comprender los niveles de ejecución

El concepto de nivel de ejecución es algo arbitrario, o por lo menos no está definido de manera inamovible dentro de un kernel de Linux. Los números válidos de nivel de ejecución que se pueden fijar con la opción initdefault (o sobrescribir de otra manera) son 0 - 6. Por convención, cada número recibe los siguientes significados:

Listado 1. Niveles de ejecución, definidos
# Default runlevel. The runlevels used by
Mandrake Linux are: # 0 - Halt (Do NOT set initdefault to this) # 1 - Single
user mode # 2 - Multiuser, without NFS (The same as 3, if you don't have
networking) # 3 - Full multiuser mode # 4 - Unused # 5 - X11 # 6 - Reboot (Do
NOT set initdefault to this)

Esta convención, como puede ver, es la que se usa en la distribución de Linux Mandrake, pero la mayoría de las distribuciones siguen la misma convención. Las distribuciones de sólo texto o incrustadas quizás no usan algunos de los niveles, pero igualmente reservan estos números.

Líneas de configuración de /etc/inittab

Usted ha visto un número de líneas de /etc/inittab en ejemplos, pero vale la pena comprender explícitamente qué es lo que hacen estas líneas. Cada una de ellas tiene el formato:

id:runlevels:action:process

El campo id es una abreviatura corta que nombra a la línea de configuración (los caracteres 1 - 4 de las versiones recientes de init; 1 - 2 en las versiones antiguas). Ya se han explicado los runlevels (niveles de ejecución). A continuación está la acción realizada por la línea. Algunas acciones son "especiales," como por ejemplo:

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Esta acción atrapa la secuencia de teclas Ctrl-Alt-Delete (independiente del nivel de ejecución). Pero la mayoría de las acciones simplemente se relacionan con el spawning. Una lista parcial de acciones incluye:

  • respawn: El proceso se reiniciará cada vez que termine (como con getty).
  • wait: El proceso se iniciará una vez ingresado el nivel de ejecución especificado, e init esperará que termine.
  • once: El proceso se ejecutará una vez cuando se ingrese el nivel de ejecución especificado.
  • boot: El proceso se ejecutará durante el arranque del sistema (después de sysinit). Se ignora el campo runlevels.

Cómo personalizar el arranque e inicio del sistema

¿Qué es un cargador de arranque?

Hace algunos años, el programa denominado LILO se usaba casi universalmente para arrancar Linux en sistemas x86. El nombre LILO significa "LInux LOader." En la actualidad, existe otro programa denominado GRUB (GRand Unified Bootloader) que es más popular. En los sistemas Linux que no sean x86, se usan otros cargadores de arranque, pero en general éstos se configuran de la misma manera que LILO o GRUB.

Si bien existen diferencias en las sintaxis de configuración, LILO y GRUB realizan en gran medida la misma tarea. Básicamente, cada uno de ellos presenta una variedad de sistemas operativos (que incluye, quizás, múltiples kernels de Linux) y carga el kernel del SO seleccionado en la memoria. Ambos programas le permiten pasar argumentos a un kernel de Linux en el proceso, y ambos pueden ser configurados para arrancar sistemas operativos que no sean Linux en la misma máquina.

Tanto LILO como GRUB (u otros cargadores de arranque) residen por lo general en el MBR (Master Boot Record – Registro maestro de arranque) del disco rígido primario, que se carga automáticamente gracias al sistema BIOS. LILO estaba más restringido a la carga de cierto sector raw de un disco rígido. GRUB es más sofisticado en el sentido que comprende una cantidad de tipos de sistemas de archivos como por ejemplo ext2/3, ReiserFS, VFAT, y UFS. Esto significa que GRUB no necesita rescribir el MBR cada vez que se cambia un archivo de configuración (como sucede con LILO).

Cómo configurar el cargado de arranque LILO

El cargador de arranque LILO se configura con los contenidos del archivo /etc/lilo.conf. Para más detalles sobre las opciones de configuración, lea la página mane sobre lilo.conf. Hay diversas opciones iniciales que controlan el comportamiento general. Por ejemplo, a menudo verá boot=/dev/hda o algo similar; esto instala LILO en el MBR del primer disco rígido de IDE. Usted también podrá instalar LILO dentro de una partición particular, por lo general debido a que usa un cargador de arranque principal diferente. Por ejemplo, boot=/dev/sda3 instala LILO en la tercera partición del primer disco de SCSI. Hay otras opciones que controlan la apariencia y el tiempo de espera de LILO.

Recuerde que después de editar una configuración /etc/lilo.conf, usted deberá ejecutar LILO para instalar verdaderamente un nuevo sector de arranque que se use durante la inicialización. Es fácil olvidarse de instalar nuevas configuraciones, pero el cargador de arranque no podrá leer la configuración a menos que esté codificada como offsets del sector sin procesar (que LILO calcula cuando se ejecuta).

Al usar LILO usted estará principalmente interesado en la /las línea/s image= y quizás en algunas líneas other= si realiza un arranque múltiple de otros sistemas operativos. Una muestra de /etc/lilo.conf puede incluir:

Listado 2. Configuración LILO de muestra
image=/boot/bzImage-2.7.4
label="experimental" image=/boot/vmlinuz label="linux" initrd=/boot/initrd.img
append="devfs=mount acpi=off quiet" vga=788 read-only other=/dev/hda3
                    label=dos

Esta configuración le permitirá elegir en tiempo de ejecución ya sea un kernel de desarrollo 2.7.4 o un kernel estable (este último casualmente utiliza un ramdrive inicial durante el arranque). Además, puede seleccionar una instalación DOS instalada en la partición 3 de la primera unidad de IDE.

Cómo configurar el cargador de arranque GRUB

Una característica agradable de GRUB es que no requiere reinstalación cada vez que usted modifica la configuración de arranque. Por supuesto, ustednecesitará instalarlo una vez inicialmente, por lo general con un comando comogrub-install /dev/hda. Por lo general, las distribuciones harán esto por usted durante la instalación, de manera que quizás nunca lo ejecute de manera explícita.

Sin embargo, debido a que GRUB sabe cómo leer diversos sistemas de archivos, normalmente usted podrá sólo modificar los contenidos de /boot/grub/menu.lst para modificar las opciones para el próximo arranque. Veamos una configuración de muestra:

Listado 3. Configuración GRUB de muestra
timeout 5 color black/yellow
yellow/black default 0 password secretword title linux kernel
(hd0,1)/boot/vmlinuz root=/dev/hda2 quiet vga=788 acpi=off initrd
(hd0,1)/boot/initrd.img title experimental kernel (hd0,1)/boot/bzImage-2.7.4
root=/dev/hda2 quiet title dos root (hd0,4) makeactive chainloader +1

Cómo cambiar opciones dentro del cargador de arranque (LILO)

Tanto LILO como GRUB le permiten pasar parámetros especiales al kernel que seleccione. Si usa LILO, quizás deba pasar los argumentos prompt de arranque anexándolos a su selección de kernel. Por ejemplo, para una configuración de arranque personalizada, usted quizás escriba:

LILO: linux ether=9,0x300,0xd0000 root=/dev/ha2 vga=791 acpi=on

Esta línea pasa parámetros especiales al módulo de Ethernet, especifica la partición de raíz, elige el modo de video, etc. Por supuesto, no es tan amigable, debido a que usted deberá saber cuáles son las opciones exactas disponibles y escribirlas correctamente.

La opción para cambiar el nivel de ejecución del cargador de arranque tiene particular importancia. Por ejemplo, con fines de recuperación, quyizás usted desee ejecutar en modo de usuario único, lo cual puede hacer con los siguientes comandos:

LILO: experimental single

o:

LILO: linux 1

Otra opción especial es el argumento init=, que le permite usar un programa que no sea init como primer proceso. Una opción para una situación de fallback puede ser init=/bin/sh, que por lo menos le consigue un shell Linux shell si se produce una falla catastrófica en init.

Opciones de cambio dentro del cargador de arranque (GRUB)

Con GRUB, usted tiene aún más flexibilidad. De hecho, GRUB es un shell básico completo que le permite cambiar las configuraciones del cargador de arranque e incluso leer los sistemas de archivos. Para las opciones personalizadas de arranque, presione "e" en el shell de GRUB, y luego agregue las opciones (como por ejemplo, un nivel de ejecución numérico o la palabra clave "single" al igual que con LILO). Los demás argumentos prompt de arranque que usted puede escribir en LILO pueden ser editados en un comando de arranque de GRUB, usando una simple edición de estilo de las líneas de lectura.

Para obtener una sensación real del poder que tiene, usted puede abrir una línea de comandos GRUB. Por ejemplo, suponga que usted cree que su /etc/inittab puede estar mal configurado, y desea examinarlo antes del arranque. Usted podrá escribir:

grub> cat (hd0,2)/etc/inittab

Esto le permitirá visualizar manualmente su inicialización sin tener que abrir un sistema operativo. Si allí hubiera un problema, quizás sea conveniente arrancar en modo de usuario único y repararlo.

Cómo personalizar lo que viene después del cargador de arranque

Una vez que comprenda los pasos de un proceso de arranque post kernel de Linux (en otras palabras, el proceso init y todo lo que éste llama), usted comprenderá cómo personalizarlo. Básicamente, la personalización es cuestión de editar /etc/inittab y los diversos scripts de los directorios /etc/rc?.d/ .

Por ejemplo, hace poco tuve que personalizar el bios de video de una laptop Linux basada en Debian usando una herramienta de terceros. Si esto no funcionaba antes de que se ejecutara X11, mi unidad XOrg no detectaría los modos de video correctos. Una vez que descubrí cuál era el problema, la solución resulta tan simple como crear el /etc/rcS.d/S56-resolution.sh. En otras palabras, comencé a ejecutar un script adicional durante el arranque de todos los sistemas.

En particular, me cercioré de que esto se ejecutara antes de /etc/rcS.d/S70xorg-common por la simple convención de que los scripts se ejecutan en orden alfabético (si deseaba que se ejecutara más tarde, podría haberlo nombrado S98-resolution.sh en su lugar). Probablemente, podría haber colocado este script sólo en el directorio /etc/rc5.d/ para que se ejecutara cuando lo hace X11 – pero la manera en que lo hice me permite ejecutarstartxmanualmente desde otros niveles de ejecución.

Todo lo que hay en el proceso de inicialización está expuesto, en el sistema de archivos; casi todo está formado por scripts de texto editables.


Recuperación del sistema

Acerca de la recuperación

Lo mejor de Linux desde el punto de vista de la actualización es que todo es un archivo. Por supuesto, a veces puede ser confuso saber cuál es el archivo donde reside un elemento. Pero como regla, la recuperación de Linux consiste en usar utilidades básicas del sistema de archivos como cp, mv, y rm, y un editor de textos como vi. Por supuesto, para automatizar estas actividades, resultan de utilidad las herramientas como grep, awk, y bash; o en un nivel más alto, perl o python. Este tutorial no se ocupará de la manipulación básica de archivos.

Suponiendo que usted sabe cómo manipular y editar archivos, la única imprecisión programática que quizás quede para un sistema roto es no poder usar los sistemas de archivos en absoluto.

Cómo reparar un sistema de archivos con fsck

Su mejor amigo para reparar un sistema de archivos roto es fsck. El siguiente tutorial (sobre el Tema 203) incluye más información, por lo cual aquí sólo presentaremos la herramienta.

La herramienta denominada fsck es en realidad, sólo un front-end para un número de herramientas fsck.* -- fsck.ext2, fsck.ext3, o fsck.reiser. Usted podrá especificar el tipo de manera explícita usando la opción -t, pero fsck hará un esfuerzo por descubrirla por sí misma. Lea la página man sobre fsck o fsck.* para ver más detalles al respecto. Lo que usted debe saber principalmente es que la opción -a tratará de repara todo lo que pueda de manera automática.

Usted puede verificar un sistema de archivos desmontado mediante el monitoreo de su dispositivo raw. Por ejemplo, use fsck /dev/hda8 para verificar una partición que no está en uso. Además, puede verificar un sistema de archivos con raíz como por ejemplo fsck /home, pero por lo general sólo deberá hacerlo si el sistema de archivos ya está montado como sólo lectura, y no como lectura=escritura.

Montaje y desmontaje con mount y umount

Una característica flexible de los sistemas Linux es el control de ajuste que se tiene sobre los sistemas de archivos montados y desmontados. A diferencia de lo que sucede en Windows y algunos otros sistemas operativos, las particiones no tienen ubicaciones asignadas por el kernel de Linux, sino que en cambio son asignadas a la única / jerarquía de raíces por el comando mount. Más aún, los diferentes tipos de archivos (incluso en distintas unidades) pueden montarse dentro de la misma jerarquía. Usted puede desmontar una partición particular con el comando umount, especificando el punto de montaje (como por ejemplo /home) o el dispositivo sin procesar (como por ejemplo /dev/hda7).

Con fines de recuperación, la capacidad de controlar los puntos de montaje le permite realizar un análisis forense de las particiones --usando fsck o las demás herramientas– sin riesgo de dañar aún más un sistema de archivos dañado. Usted puede también montar un sistema de archivos de manera personalizada usando diversas opciones; la más importante de ellas es el montaje de sólo lectura usando cualquiera de los sinónimos -r o -o ro.

A modo de ejemplo breve, quizás usted desee sustituir una ubicación de un directorio de usuario por otra, ya sea debido al daño en una de ellas o simplemente para expandir el espacio de disco o pasar a un disco más veloz. Usted podrá realizar este cambio usando algo como lo que figura a continuación:

# umount /home # old /dev/hda7 home dir
# mount -t xfs /dev/sda1 /home # new SCSI disk using XFS
# mount -t ext3 /dev/sda2 /tmp # also put the /tmp on SCSI

Montaje en el arranque con /etc/fstab

Para la recuperación, las actualizaciones de sistemas y otros fines particulares, es útil poder montar y desmontar sistemas de archivos a voluntad. Pero para la operación diaria, en general será preferible un conjunto relativamente fijo de montajes en cada arranque del sistema. Usted controla los montajes que se producen en el arranque colocando líneas de configuración en el archivo /etc/fstab. La típica configuración tendrá una apariencia similar a:

Listado 4. Configuración de muestra en /etc/fstab
/dev/hda7 / ext3 defaults 1
1 none /dev/pts devpts mode=0620 0 0 /dev/hda9 /home ext3 defaults 1 2 none
/mnt/cdrom supermount
dev=/dev/hdc,fs=auto,ro,--,iocharset=iso8859-1,codepage=850,umask=0 0 0 none
/mnt/floppy supermount
dev=/dev/fd0,fs=auto,--,iocharset=iso8859-1,sync,codepage=850,umask=0 0 0 none
/proc proc defaults 0 0 /dev/hda8 swap swap defaults 0 0

Encuentre más detalles en el siguiente tutorial (sobre el Tema 203).

Recursos

Aprender

  • En el Programa LPIC, encuentre listas de tareas, preguntas de muestra, y objetivos detallados para los tres niveles de la certificación para administración de sistemas Linux del Linux Professional Institute.
  • "Boot loader showdown: Getting to know LILO and GRUB" [La hora de la verdad del cargador de arranque: Conociendo LILO y GRUB] (developerWorks, agosto de 2005) discute cómo trabajan los cargadores de arranque y puede ayudarlo a decidir cuál de los cargadores más famosos --LILO y GRUB– funcionará mejor para usted.
  • Encuentre más recursos para desarrolladores de Linux en la zona Linux de developerWorks.

Obtener los productos y tecnologías

  • Construya su próximo proyecto de desarrollo en Linux con el software de prueba IBM, disponible para su descarga directa en developerWorks.

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Linux
ArticleID=502038
ArticleTitle=Preparación para el examen 201 del LPI: Arranque del sistema
publish-date=07282010