Comment fonctionne l'installation CentOS de l'intérieur?

J'essaie de comprendre le contenu du file image ISO d'une dissortingbution Linux et comment le process d'installation a lieu. Ici, je parle spécifiquement de CentOS 6.4 dans sa version minimale.

Donc ISOLINUX est déclenché, et j'obtiens le menu affiché. Ensuite, je frappe installer.

Il charge le kernel et le système de files initrd.

Mes questions sont les suivantes:

  1. Comment s'appelle Anaconda ?

  2. Quel est le rôle du file images / install.img? (Qui appelle / monte?)

  3. Anaconda installe-t-il les packages / *. Rpm? Si je voulais en append un, puis-je l'installer?

Tout lien / recommandation est le bienvenu,

Je suis l'un des auteurs / mainteneurs d'Anaconda. Je pourrais aller beaucoup trop en détail sur la façon dont l'installateur démarre, mais je vais essayer d'être bref.

(Notez que ceci s'applique uniquement à RHEL / CentOS 6.x ou Fedora 14 et plus tôt, le programme d'installation a été presque complètement réécrit entre Fedora 15, 16 et 17, donc les choses sont très différentes maintenant.)

  1. Comment s'appelle Anaconda?
  2. Quel est le rôle du file images / install.img? (Qui appelle / monte?)

Le initrd.img sur le support d'installation est ce que nous appelons l'image stage1 . Il contient un programme appelé loader , dont le seul travail consiste à find et charger des images/install.img .

install.img est l'image stage2 . C'est là qu'Anaconda vit actuellement – c'est une image squashfs qui contient le système de files racine de l'installateur.

Il y a beaucoup de façons pour loader de find install.img , mais lorsque vous démarrez à partir d'un DVD, il est simple: loader remarque le DVD d'installation, le monte et monte images/install.img comme système de files racine.

Une fois l'image stage2 montée, le chargeur démarre Anaconda, qui démarre ensuite Xorg et met un shell sur tty2 et tout ça, et l'installateur démarre vraiment .

3. Anaconda installe-t-il les packages / *. Rpm? Si je voulais en append un, puis-je l'installer?

Non, il ne suffit pas d'installer tout ça. Il utilise le file comps.xml (dans repodata/ ) pour décider quels groupes de packages sont disponibles (et quels packages sont dans ces groupes) – c'est ainsi que l'interface user de sélection de packageage est remplie.

Si vous ajoutez quelque chose au directory Packages/ (comme si vous essayez de créer une image DVD personnalisée) et que vous souhaitez l'installer, vous devez utiliser createrepo pour régénérer le repodata/ . Cela vous permettra d'installer vos packages via kickstart, au less.

Si vous avez besoin d'eux pour apparaître dans l'interface user, vous devrez également éditer comps.xml .

Lorsque vous démarrez à partir du CD, vous obtenez le chargeur de démarrage ISOLINUX, qui charge le kernel Linux et le disque virtuel initial. Cela commence Anaconda, qui charge ses différentes pièces, telles que le install.img. Anaconda prend ensuite soin d'installer les différents colis, etc.

Le moyen le plus simple pour installer Anaconda pour installer des packages supplémentaires (ou faire une configuration supplémentaire) consiste à écrire un script kickstart. Un script kickstart indique à Anaconda quels packages installer, comment configurer le operating system, etc. Pour dire à anaconda d'utiliser un script kickstart particulier, vous pouvez taper "install ks = http://example.com/my_kickstart.ks " à l'invite ISOLINUX. Il downloada alors ce file kickstart (à partir d'un server Web dans cet exemple) et l'utilisera pour savoir quels packages installer.

Plus de détails sur les scripts kickstart sont disponibles sur http://fedoraproject.org/wiki/Anaconda/Kickstart

Lorsque vous démarrez le CD d'installation, il charge le kernel et initrd comme vous l'avez mentionné. Cela charge essentiellement un système Linux minimal dans la memory de votre ordinateur. Anaconda fonctionne comme un service au démarrage et le programme est lancé. Anaconda trouve alors vos HD et les monte comme / mnt / sysimage. Anaconda installe les packages / *. Rpm à partir du CD d'installation et vous pouvez append un RPM au dossier Packages, puis re-graver l'iso, mais Anaconda ne sait toujours pas qu'il doit être installé. En ce qui concerne le piratage d'Anaconda pour que le programme search le RPM, je n'ai pas de réponse.