¿Cómo funciona la instalación de CentOS desde adentro?

9

Estoy tratando de comprender el contenido del archivo de imagen ISO de una distribución de Linux y cómo se lleva a cabo el proceso de instalación. Aquí estoy hablando específicamente de CentOS 6.4 en su versión mínima.

Entonces ISOLINUX se activa y aparece el menú. Luego presioné instalar.

Carga el kernel y el sistema de archivos initrd.

Mis preguntas son:

  1. ¿Cómo se llama a Anaconda ?

  2. ¿Cuál es el papel del archivo images / install.img? (¿Quién llama / montarlo?)

  3. ¿Anaconda instala paquetes / *. Rpm? Si quisiera agregar uno allí, ¿puedo instalarlo?

Spredzy
fuente
@Livinglifeback: si resumiera ese hilo como respuesta, ¿agregaría valor al sitio StackExchange?
EightBitTony
1
Nota para futuros visitantes: esto, especialmente # 3, varía de distribución a distribución e incluso en la misma distribución. Compare, por ejemplo, el instalador Ubiquity de Ubuntu y su instalador alternativo.
strugee
1
@EightBitTony Empecé a resumirlo, sin embargo, no creo que pueda responder completamente la pregunta. Creo que el enlace podría ayudarlos a aprender más.
Livinglifeback
@Livinglifeback Gracias, en realidad me ayudó a rodear más el problema. Todavía estoy investigando para poder responder completamente a mi propia pregunta. Cuando pueda hacerlo, publicaré la respuesta que habría encontrado. Link fue apreciado :)
Spredzy

Respuestas:

16

Soy uno de los autores / mantenedores de Anaconda. Podría entrar en demasiados detalles sobre cómo se inicia el instalador, pero intentaré ser breve.

(Tenga en cuenta que esto solo se aplica a RHEL / CentOS 6.xo Fedora 14 y anteriores; el instalador se reescribió casi por completo entre Fedora 15, 16 y 17, por lo que las cosas son muy diferentes ahora).

  1. ¿Cómo se llama a Anaconda?
  2. ¿Cuál es el papel del archivo images / install.img? (¿Quién llama / montarlo?)

En initrd.imglos medios de instalación es lo que llamamos la imagen stage1 . Contiene un programa llamado loader, cuyo único trabajo es encontrar y cargar images/install.img.

install.imges la imagen de stage2 . Aquí es donde realmente vive Anaconda : es una imagen de squashfs que contiene el sistema de archivos raíz del instalador.

Hay muchas formas diferentes de encontrar el cargador install.img, pero cuando arranca desde DVD es simple: el cargador se da cuenta del DVD instalador, lo monta y lo monta images/install.imgcomo su sistema de archivos raíz.

Una vez que se monta la imagen de stage2, el cargador inicia Anaconda, que luego inicia Xorg y pone un shell tty2y todas esas cosas buenas, y el instalador realmente comienza.

3. ¿Anaconda instala Packages / *. Rpm? Si quisiera agregar uno, ¿puedo instalarlo?

No, no solo instala todo allí. Utiliza el comps.xmlarchivo (in repodata/) para decidir qué grupos de paquetes están disponibles (y qué paquetes están en esos grupos); así es como se completa la interfaz de usuario de selección de paquetes.

Si agrega algo al Packages/directorio (como si intenta crear una imagen de DVD personalizada) y desea que sea instalable, deberá usarlo createrepopara regenerar el repodata/directorio. Eso le permitirá instalar sus paquetes a través de kickstart, al menos.

Si necesita que aparezcan en la interfaz de usuario, también deberá editar comps.xml.

wwoods
fuente
1

Cuando arrancas desde el CD, obtienes el gestor de arranque ISOLINUX, y eso carga el kernel de Linux y el disco RAM inicial. Eso inicia Anaconda, que carga sus diversas piezas, como install.img. Anaconda se encarga de instalar los diversos paquetes, etc.

La forma más fácil de hacer que Anaconda instale paquetes adicionales (o realice una configuración adicional) es escribiendo un script kickstart. Un script kickstart le dice a Anaconda qué paquetes instalar, cómo configurar el sistema operativo, etc. Para decirle a anaconda que use un script kickstart particular, puede escribir "install ks = http://example.com/my_kickstart.ks " en el indicador ISOLINUX. Luego descargará ese archivo kickstart (de un servidor web en este ejemplo) y lo usará para saber qué paquetes instalar.

Más detalles sobre los scripts de kickstart están disponibles en http://fedoraproject.org/wiki/Anaconda/Kickstart

jsmith
fuente
0

Cuando inicia el CD de instalación, carga el Kernel y el initrd tal como lo mencionó. Esto básicamente carga un sistema Linux mínimo en la memoria de su computadora. Anaconda se ejecuta como un servicio en el arranque y se inicia el programa. Anaconda luego encuentra sus HD y los monta como / mnt / sysimage. Anaconda instala Paquetes / *. Rpm desde el CD de instalación y puede agregar un RPM al directorio de Paquetes y luego volver a grabar la iso, pero Anaconda aún no sabría que necesita ser instalado. En cuanto a piratear a Anaconda para que el programa busque el RPM, no tengo una respuesta.

Jeight
fuente