EEIJ

Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux


Sommaire


Conforme à XHTML 1.0 Strict Conforme à CSS!

On se lasse de tout, sauf de comprendre.
Attribué à Virgile.

Comment l'installateur sélectionne les paquetages de la Mageia

Historique

19 septembre 2014 : Création de cette page.

Difficulté

Pour : linuxien averti.

 Introduction

Je me suis souvent demandé comment l'installateur de Mageia sélectionne les paquetages à installer, en fonction du matériel, en fonction du bureau choisi ...

 Démarrage de l'installateur Mageia

C'est le journal de l'installation, trouvé en /root/drakx/ddebug.log, qui nous renseigne sur le processus d'installation et sur le choix des paquetages installés.

L'étude porte sur une 'net-install', à l'aide d'un CD-ROM créé à partir d'une image boot-nonfree.iso pour la version Mageia 5 (alpha2).
L'ordinateur est un modèle assez ancien, avec processeur Athlon XP (i586)

 Premières étapes

Les premières lignes du journal nous indiquent que le fichier install/stage2/VERSION est lu. C'est la version de l'installateur (ici, DrakX v16.41).

Ensuite, c'est le fichier install/patch-oem.pl qui est cherché. Il n'existe pas, ici. Ce fichier permet éventuellement de personnaliser l'installation à l'aide d'un script perl.

La troisième lecture est le fichier product.id.
Il indique : vendor=Mageia.Org,distribution=Mageia,type=Basic,version=5,branch=Devel,release=4, arch=i586,product=Default
L'installateur en déduit la variable META_CLASS=download

Plusieurs étapes se succèdent : selectLanguage, acceptLicense, selectMouse, setupSCSI, selectInstallClass, selectKeyboard, miscellaneous, doPartitionDisks, formatPartitions.

Elles correspondent aux écrans 'Sélection du langage', 'Licence', 'Installation/MiseàJour', 'Sélection du clavier', 'Partitionnement', 'Formatage des partitions' ...

Haut

 Configuration des sources (donc de urpmi)

L'installateur doit connaître les sources disponibles pour pouvoir y chercher les paquetages.

 Configuration des sources Core Release et Core Updates

Vient enfin l'étape de sélection des paquetages : starting step `choosePackages'.
Cela commence par l'analyse et le contrôle des sources pour la configuration de urpmi

media.cfg

L'installateur va :

Sélection des médias

L'écran 'Sélection des médias' me permet d'ajouter les sources Nonfree et Tainted, faisant partie de mon miroir.

 Configuration des sources Nonfree et Tainted

L'installateur va actualiser les médias ajoutés :

Haut

 Finalisation de la configuration

Les médias sont maintenant au complet.

L'installateur va :

urpmi est maintenant prêt à l'emploi.

Haut

 Deux autres fichiers de configuration

Avant de continuer la procédure, il est nécessaire de voir deux fichiers qui définissent les paquetages à installer.

 Le fichier compssUsers.pl

compssUsers

Ce fichier comprend différentes entrées de groupes, dont les 3 principales : N_("Workstation"), N_("Server") et N_("Graphical Environment").

Chaque groupe comprend également une ou plusieurs "sous-entrées", telles que N_("Office Workstation"), N_("Game station"), N_("Multimedia station") ...

La figure montre un extrait du fichier compssUsers.pl, avec le groupe "Graphical Environment" et quelques sous-groupes, portant les étiquettes "KDE Workstation", "GNOME Workstation", "XFCE Workstation" et "LXQT Desktop".

Sélection des groupes

Remarque : c'est ce fichier compssUsers.pl qui définit la composition de la fenêtre du choix des groupes de paquetages lors de l'installation (figure ci-contre).

Dans cette fenêtre, vous choisirez les groupes et sous-groupes qui vous intéressent.

Description :

  La première ligne de ce sous-groupe donne son étiquette : label => N_("KDE Workstation")
  la suivante donne un bref descriptif : descr => N_("The K Desktop Environment ...")
  la suivante donne une liste de drapeaux : flags => [ qw(KDE X ACCESSIBILITY THEMES) ]
  la dernière ligne indique les conditions dans lesquelles ces drapeaux sont positionnés :
default_selected => !$light_desktop

les valeurs de default_selected peuvent être :

En examinant le fichier compssUsers.pl, l'installateur va énumérer les entrées de groupes|sous-groupes présentes dans le fichier. Par exemple :
"Workstation|Office Workstation", "Workstation|Game station" ...

Une configuration à base de KDE est sélectionnée par défaut.
Le processus de test continue avec les groupes et sous-groupes sélectionnés par défaut :

Dans ces groupes et sous-groupes, l'installateur va lister les drapeaux validés (flags avec default_selected).
Voici, par exemple, les drapeaux pour Poste bureautique (Workstation|Office Workstation)) :
OFFICE, SPELLCHECK, PIM, ARCHIVING, PUBLISHING

 Le fichier rpmsrate

Extrait de rpmsrate

Ces différents drapeaux se retrouvent dans le fichier rpmsrate, mais préfixés par "CAT_", par exemple CAT_OFFICE, CAT_SPELLCHECK ...

Sous ces nouveaux drapeaux se trouvent les paquetages à installer et les conditions sous lesquelles ils doivent être installé.

Pour chaque drapeau sélectionné, l'installateur va utiliser ce fichier de la façon suivante, sachant que dans un premier temps il ne s'intéresse qu'aux paquetages ayant le niveau 5 :

Haut

 Restes d'une installation précédente

Après avoir vu le fonctionnement du choix automatique des paquetages à l'aide des fichiers compssUsers.pl et rpmsrate, continuons l'examen du processus d'installation.

L'installateur va :

Ayant formaté la partition racine (/) dans mon test, il ne reste pas de paquetages.

Haut

 Test de sélection des paquetages

Il faut vérifier que les paquetages des différentes sources permettent effectivement de faire l'installation d'un système d'exploitation.
Le test est fait en plusieurs étapes : l'installateur va déterminer quel est le noyau le plus approprié, puis sélectionner les paquetages qui en découlent, puis sélectionner les paquetages d'une distribution classique.

 Le noyau et ses dépendances

Noyau approprié

Ici, c'est kernel-desktop

Vraies dépendances

L'installateur va :

L'installateur sélectionne ainsi 164 paquetages dans mon test. Il n'y a pas de paquetage manquant .

Paquetages suggérés

En dehors des vraies dépendances, Mageia a également prévu des paquetages suggérés.

L'installateur va :

Il en résulte une sélection de 92 paquetages supplémentaires dans mon test.

Haut

 Liste des paquetages absents des sources

Le fichier rpmsrate peut référer à des paquetages inexistants dans les médias sélectionnés.
L'installateur les supprime de la liste des paquetages présents (121 paquetages dans mon test).

 Les bureaux et les applications

La suite des contrôle se fait en utilisant les fichiers de configuration de l'installation.
Les fichiers rpmsrate et compssUsers.pl définissent les paquetages à installer, se basant sur les capacités de l'ordinateur (taille mémoire, vitesse processeur) et sur son utilisation prévue.

Le fichier compssUsers.pl
Sélection des groupes

Pour le test, l'installateur prend tous les groupes et sous-groupes de l'image ci-contre. C-à-d :

Ensuite il va lister les drapeaux validés (flags avec default_selected).

Le fichier rpmsrate

Pour chaque drapeau sélectionné, l'installateur va donc lister les paquetages ayant le niveau 5. Il y ajoute ceux qui sont demandés par le matériel (processeur ...)

Il sélectionne ensuite tous ces paquetages ainsi que leurs dépendances (dont il fait la recherche).

 Le résultat du test

Le fichier ddebug.log indique que 3578 Mo sont nécessaires et donne la liste des drapeaux considérés pour le test.
Il donne ensuite la liste de tous les paquetages qui seraient sélectionnés en prenant les drapeaux précédents.

Haut

 Votre installation

Lors de l'installation de votre Mageia, vous avez à choisir le bureau :

Au niveau du fichier ddebug.log, cela se traduit par une ligne * chosen Desktop: KDE ou * chosen Desktop: GNOME ou * chosen Desktop: Custom

Bureaux KDE et GNOME

Pour ces bureaux, la ligne suivante donne la liste les drapeaux correspondant au bureau choisi.
Mis à part CAT_KDE et CAT_GNOME, tous les autres drapeaux sont identiques.

Aux lignes suivantes, tous les paquetages sont désélectionnés et un nouveau processus de sélection est démarré, cette fois-ci uniquement avec les drapeaux retenus et pour un niveau 4 au lieu de 5.
Le processus de sélection se termine par une ligne débutant par
setSelectedFromCompssList: reached size 3407MB, up to indice 4 (la taille dépend du bureau et de votre matériel).
Cette ligne est suivie de la liste complète des paquetages, du rappel des drapeaux, puis de
step "choosePackages" took: x:yy:zz et step `choosePackages' finished

L'installation de ces paquetages commence alors.

Bureau personnalisé

Dans un premier temps, l'installateur sélectionne les paquetages correspondant aux seuls drapeaux
CAT_SYSTEM TRUE
Le processus de sélection se termine par une ligne débutant par
setSelectedFromCompssList: reached size 524MB, up to indice 4 (la taille dépend de votre matériel).
Cette ligne est suivie de la liste complète des paquetages.

Sélection des groupes

Lors de l'installation d'un bureau personnalisé de Mageia, vous avez la fenêtre de sélection des groupes (il faut ouvrir les 3 listes pour avoir les détails). L'image montre le choix d'un bureau LXQt.
Les cases que vous cochez correspondent aux sous-groupes du fichier compssUsers.pl.

Au fur et à mesure que vous cochez ou décochez des groupes, l'installateur liste les drapeaux et recherche les paquetages correspondant.

Pour mon essai, j'avais choisi le Bureau LXDE et validé le choix, ce qui se traduit par :
compssUsersChoice selected: "Graphical Environment|LXDE Desktop"

Aux lignes suivantes, tous les paquetages sont désélectionnés et un nouveau processus de sélection est démarré, cette fois-ci uniquement avec les drapeaux retenus et pour un niveau 4 au lieu de 5.
Le processus de sélection se termine par une ligne débutant par
setSelectedFromCompssList: reached size 1318MB, up to indice 4 (la taille dépend du bureau et de votre matériel).
Cette ligne est suivie de la liste complète des paquetages, du rappel des drapeaux, puis de
step "choosePackages" took: x:yy:zz et step `choosePackages' finished

L'installation de ces paquetages commence alors.

Haut