Créer votre propre édition Mandriva

Introduction

Pourquoi

Pourquoi créer votre édition personnelle de Mandriva, alors qu'il en existe déjà un bon nombre, toutes prêtes ?

  1. Vous voulez une distribution super complète, intégrant directement les paquetages plf, les mises à jour, éventuellement les backports, dans votre édition.
    Cela peut être intéressant si vous avez plusieurs ordinateurs en réseau.
    • vous créez votre édition personnelle complète et à jour
    • vous installez tous les ordinateurs par la méthode en réseau
    De cette sorte, les ordinateurs sont déjà installés avec les toutes dernières versions des paquetages, mais également avec les éventuels paquetages plf. Cela vous évite une intervention, de suite après l'installation, sur tous les ordinateurs.
  2. Une autre raison pourrait être que vous souhaitez réaliser une édition super compacte, tenant sur un CD par exemple, et comprenant juste ce dont vous avez besoin.
    Pour y arriver, vous aurez intérêt à installer un ordinateur de test, puis de lister les paquetages installés.

Quelques définitions

  • Edition : telle que Free, Powerpack, One
  • Version : 2007.1 2008.0 2009.0 2009.1 ...
  • Distribution : par exemple, l'ensemble que vous allez créer
  • Media : un répertoire qui contient les paquetages, tel que main, contrib ...

Les principales étapes pour y arriver

  1. Trouver et analyser les sources
  2. Choisir les paquetages que vous voulez embarquer
  3. Comprendre les éléments de la distribution
  4. Construire votre distribution avec les outils adéquats

Les outils nécessaires

Vous aurez besoin du paquetage rpmtools d'une version aussi récente que la distribution que vous voulez créer.
Sans cela, vous risquez de créer une distribution non utilisable.

Vous pourrez également utiliser un ou deux scripts bash mentionnés sur cette page.
Dans ce cas, il faut une version bash 3.2 ou plus (c'est à dire Mandriva 2008.0 ou plus).

Haut

Étape 1 : les sources

Trouver les sources

Pour créer votre propre édition, vous devez avoir à votre disposition l'ensemble des paquetages que vous voulez y mettre. Plusieurs sources sont possibles.

  • CD ou DVD de l'édition Free
  • CD ou DVD de l'édition Powerpack
  • image ISO de l'édition Free
  • image ISO de l'édition Powerpack
  • téléchargement de l'édition complète Free depuis un miroir
  • téléchargement des paquetages plf depuis un miroir
  • téléchargement des paquetages restricted depuis Mandriva (si vous avez l'abonnement Powerpack)

Il existe de nombreux sites internet où vous pouvez télécharger une arborescence complète des paquetages, les images iso d'une édition Free ou Powerpack ou Mini, les paquetages plf du Pengin Liberation Front. Voici juste quelques liens à partir desquels vous pourrez télécharger, avec votre logiciel de transfert de fichiers :

Dans une nouvelle fenêtre (onglet)

Haut

Télécharger les sources

TéléchargementSi vous voulez travailler en réseau et créer un serveur FTP, un bon endroit pour stocker votre miroir personnel, c'est le répertoire /var/ftp/pub où vous allez créer un sous-répertoire official pour les sources officielles. C'est une simple suggestion et vous pouvez placer où cela vous convient (et où il y a suffisamment d'espace disponible).

Vous pouvez également copier le contenu d'un DVD vers ce répertoire (Le contenu d'un CD One ne convient pas).

Enfin, si vous utilisez une image .iso, vous devez d'abord la "désarchiver".

Haut

Le contenu des sources

Si vous n'êtes pas encore familiarisé avec le contenu des sources :

Dans un popup : analyse du contenu des sources (DVD ou miroir) : Cliquez

Haut

Étape 2 : choisir les paquetages que vous voulez embarquer

Vous devez déjà songer à l'emplacement où vous voulez créer votre distribution personnelle.

Le répertoire de base pourrait être /home/vous-mêmes/version ou /var/ftp/pub/version, si vous avez un serveur ftp qui permettra l'installation en réseau.
Ce répertoire va recevoir la racine de la distribution : le répertoire i586 ou x86_64

À ce stade, vous devez déterminer ce que vous voulez embarquer dans votre distribution personnelle. Tout dépend de ce que vous voulez obtenir.
Voici simplement trois pistes (de la plus facile à la plus délicate) :

Haut

Étape 3 : comprendre les éléments de la distribution

Une distribution, ce n'est pas uniquement un ensembles de paquetages, disposés d'une certaine façon. C'est également tout un ensemble de fichiers qui permetta l'exploitation de cette distribution.

Si vous utilisez le script qui sera décrit dans le chapitre suivant, vous pouvez sautez ce chapitre.
Mais comme vous êtes curieux, vous allez certainement suivre le lien ci-dessous.

Dans une nouvelle fenêtre (onglet) : Autopsie d'une distribution Mandriva : Cliquez

Haut

Étape 4 : construire votre distribution

Le répertoire racine et les paquetages

Au cours de l'étape 2, vous avez défini à quel emplacement vous voulez créer votre distribution personnalisée. Vous avez choisi les branches et les paquetages qui la composent.

Si vous avez complété une distribution existante,
si vous avez créé une distribution à partir d'une liste de paquetages, avec le petit script,
si vous avez supprimé des paquetages sur une distribution existante,
  =>  alors, vous avez probablement déjà créé l'arborescence complète de votre nouvelle distribution.
Sinon, c'est le moment de le faire.

Vous devez avoir :

  • votre répertoire racine, i586 ou x86_64
  • Les fichiers du répertoire racine sont peu volumineux. Vous les laisserez tels qu'ils sont, typiquement : autorun.inf, COPYING, default.xbe, export, index.htm, install.htm, INSTALL.txt, LICENSE-APPS.txt, LICENSE.txt, linuxboot.cfg, product.id, README.txt, release-notes.html, release-notes.txt, VERSION.
  • Dans le répertoire doc, vous pouvez supprimer les langues qui ne vous intéressent pas. Cela libère un peu de place.
  • Le répertoire dosutils ne sert plus à grand chose, vous pouvez le supprimer.
  • Les répertoires install, isolinux et misc sont indispensables.
  • Le répertoire media contient les différentes branches que vous avez sélectionnées, avec les paquetages.

Quelques remarques concernant les branches sélectionnées

Haut

Les fichiers spécifiques de la distribution

Il faut maintenant actualiser les fichiers de la distribution.
Pour ceci, vous pouvez :

  • soit éditer à la main les fichiers de configuration puis utiliser la commande gendistrib,
  • soit utiliser un script interactif qui les modifiera pour vous et qui lancera également la commande. Vous n'aurez qu'à répondre à quelques questions.
    Il faut cependant avoir une version de bash assez récente (bash 3.2, ce qui correspond à Mandriva 2008.0)

La méthode manuelle avec les explications

Cette méthode manuelle explique pas à pas les modifications à faire.
Je vous invite donc à lire ces lignes, même si vous utilisez le script pour réaliser les changements.

Adaptation des fichiers de description de la distribution

Vous en trouverez dans le répertoire racine et dans le répertoire media/media_info.
Les fichiers spécifiques du répertoire racine sont :

  • Répertoire racine
    • /VERSION
      Il sera automatiquement actualisé par la suite, en fonction des valeurs de media.cfg.
      Inutile de le modifier ou supprimer..
    • /product.id
      Il est pareil que le fichier /etc/product.id.Free (ou /etc/product.id.Powerpack) contenu dans le paquetage mandriva-release-Free (ou mandriva-release-Powerpack).
      Si vous incluez les paquetages "comm" de Mandriva, vérifiez que vous avez bien product=Powerpack.
  • Répertoire media/media_info
    Les fichiers spécifiques sont indiqués dans le tableau ci-dessous, pour différents supports : miroir internet (official et cooker), DVD (ou son image.iso)
    Nom du fichierMiroirDVDObjetImportanceEst recalculé
    MD5SUMouinoncontient la somme de contrôle des fichiers de media_infoutileoui
    compssouinonfichier texte contenant, pour chaque groupe de programmes, la liste des paquetages du groupeobsolète depuis 2008.0oui, jusqu'à 2007.1
    compssUsers.plouiouiutilisé pour définir les paquetages qui seront installés par défautindispensablenon
    depslist.orderedouinonfichier texte contenant toutes les dépendances de tous les paquetages connusobsolète depuis 2008.0oui, jusqu'à 2007.1
    descriptionsparfoisnoncontient des informations, notamment sur les paquetages actualisésutilenon
    file-depsouiouiliste de fichiers. Il existe depuis certaines versions 2007.1. Le contenu ne semble pas changer depuis la 2007.1utilenon
    hdlist_xxx.czouinoncontient les informations sur tous les paquetages connus, c'est un résumé des en-têtes des rpm. Il y a un fichier par branche ou sous-brancheutileoui
    hdlistsouinoncontient la liste des branchesobsolèteoui
    media.cfgouiouidécrit les différents medias qui composent l'édition à installer. Il comprend une section générale media_info qui s'applique à l'ensembles des medias, puis une section spécifique à chaque medium, précisant les paramètres spécifiques au mediumindispensabledoit être défini
    voir ci-dessous
    providesouinonfichier texte contenant les fichiers fournis et la liste des paquetages associés qui les contiennentobsolète depuis 2008.0oui, jusqu'à 2007.1
    pubkey_xxxouinoncontiennent la clé d'authentification des paquetages. Il y a un fichier par branche ou sous-branche. C'est un lien vers la brancheutilenon
    rpmsrateouiouiutilisé pour définir les paquetages qui seront installés par défautindispensablenon
    rpmsrate-rawouinonpermet de recréer le fichier précédentutilenon
    synthesis.hdlist_xxx.czouinoncontient une synthèse des informations sur tous les paquetages connusutileoui
  • Répertoire media/xxx/media_info
    Chaque répertoire de branche comprend également un répertoire media_info. Les fichiers spécifiques sont indiqués dans le tableau ci-dessous
    Nom du fichierMiroirDVDObjetImportanceEst recalculé
    MD5SUMouinoncontient la somme de contrôle des fichiers de media_infoindispensableoui
    changelog.xml.lzmaouinoncontient des informations, notamment sur les actualisationsutilenon
    descriptionsparfoisnoncontient des informations, notamment sur les paquetages actualisésutilenon
    files.xml.lzmaouinonliste de fichiers.utilenon
    hdlist.czouinoncontient les informations sur tous les paquetages connus, c'est un résumé des en-têtes des rpm.utileoui
    info.xml.lzmaouinoncontient les descriptions des paquetagesnon
    pubkeyouiouicontiennent la clé d'authentification des paquetages.indispensablenon
    synthesis.hdlist.czouiouicontient une synthèse des informations sur tous les paquetages connusindispensableoui
Le fichier media.cfg

Les paramètres de media.cfg sont décrits dans la page man MDV::Distribconf::MediaCFG(3).

Dans un popup : la page man relative à media.cfg : Cliquez

Fichier media.cfgPartir sur un exemple concret sera certainement très instructif.
L'image ci-contre représente le fichier media.cfg du DVD Powerpack 2008.1 (survolez la avec la souris).
Voici ce que vous pouvez voir et que vous devez faire sur le vôtre.

Haut
Les fichiers pubkey

Vous avez lu précédemment que, chaque répertoire media/xxx/media_info contient la clé d'authentification des paquetages (sauf restricted, car les paquetages "comm" n'ont pas de clé pubkey).

Si vous utilisez les outils de la version 2008.1, ceux-ci créeront automatiquement un lien vers ces fichiers pubkey.

Par contre, avec les outils des versions inférieures, vous devrez, pour chacun des répertoires media_info (media/main_release/media_info, media/contrib_updates/media_info ...) :

gendistrib

Cette commande va créer tous les autres fichiers nécessaires à l'utilisation de la distribution.
Le paquetage rpmtools doit être installé, dans une version au moins aussi récente que la distribution que vous allez créer.

gendistrib --blind chemin/vers/la/racinePar exemple gendistrib --blind /var/ftp/pub/2008.1.1/i586

Les scripts

Si vous avez lu le paragraphe La méthode manuelle avec les explications, vous pourrez utiliser le script interactif, au lieu de faire les modifications à la main.
Dans un popup : le petit script interactif (sans garantie), que vous pourrez copier, rendre exécutable et exécuter : Cliquez

Placez-vous dans le répertoire où se trouve le script et lancez la commande
./CreateDistrib2.1et répondez ensuite aux questions.

Dans un autre popup : le petit script non-interactif (sans garantie), que vous pourrez copier, rendre exécutable et exécuter. Vous devrez probablement l'adapter à votre configuration. : Cliquez

Placez-vous dans le répertoire où se trouve le script et lancez la commande
./CreateDistrib1.1 emplacement_de_la_distribution [ask] [supp]

Haut
 

Les pages relatives aux tutoriels :

Installation : avant, pendant, après Installation, pas à pas, de 2008.0 Installation, depuis internet Installation en réseau
Comment MDV sélectionne les paquetages Créer sa liste de paquetages
Configuration du système Configuration d'un utilisateur KDE Serveur de fichiers avec ProFTPD Partage de fichiers avec NFS
Réveiller un ordinateur à distance Commander un ordinateur à distance avec ssh
Le son et la gestion du son La video et la gestion des images Découvrir la puissance de Gstreamer
Faire des sauvegardes générales Nettoyer le répertoire /home Changer de client de messagerie Synchroniser fichiers et répertoires
Créer sa distribution personnelle Autopsie d'une distribution Mandriva

Les différentes rubriques :

Accueil Ordinateur Mandriva Tutoriels Initiation à la programmation Maison bioclimatique
On se lasse de tout, sauf de comprendre.
Attribué à Virgile.