Cet article va vous expliquer comment installer nâimporte quelle distribution Linux depuis une autre distribution.
Publié le 5 octobre 2022Â
Version PDF Version hors-ligne
Cet article va vous expliquer comment installer nâimporte quelle distribution Linux depuis une autre distribution, et notamment des distributions nâayant pas les mêmes gestionnaires de paquets.
Ce type dâopérations, en plus de lâintérêt pédagogique, vous permettra dâinstaller nâimporte quel Linux depuis celui démarré.
Pour cela, nous utiliserons essentiellement la technique du « chroot ».
« chroot » contraction de « change root ». La commande va changer le dossier racine du processus en cours, les fichiers ou dossiers ouverts hors de la nouvelle racine restent accessibles.
Cette commande permet dâisoler lâaccès à une partie du système de fichiers. Elle est lâancêtre des conteneurs tels que Docker qui eux vont plus loin dans lâisolation.
Les opérations ont été réalisées dans une machine virtuelle en démarrant sur une image CD Ubuntu Live 18.04 en UEFI.
Une distribution Linux est un packaging incluant un noyau Linux, une interface graphique (étant elle même un package logiciel, les principales étant Gnome , KDE , Cinnamon ,...) et un ensemble de logiciels. Il est aussi possible dâeffectuer une installation sans interface graphique.
Il y a pléthore de distributions Linux, mais la plupart sont basées sur dâautres distributions
Les deux familles de distributions les plus connues sont :
Nous pouvons à cela ajouter dâautres distributions plutôt à usage dâutilisateurs avancés :
Un gestionnaire de paquets est un ensemble dâoutils fourni par une distribution permettant dâinstaller des logiciels.
Les paquets vont contenir les fichiers à installer à des emplacements précis ainsi que des scripts de pré et post installation permettant la configuration. Ils vont également inclure leurs dépendances à dâautres paquets, le gestionnaire de paquet installant automatiquement celles-ci.
Chaque famille de distribution va avoir son propre système de gestion de paquets pour lâinstallation de logiciels :
à ceci peuvent sâajouter des surcouches comme Synaptic ou Ubuntu software pour Ubuntu .
Quelle que soit la distribution installée, le processus sera le même :
installation minimale en chroot pour que le système soit utilisable ;
redémarrage et réglages post-installation :
Les opérations décrites dans ce chapitre devront être effectuées en préliminaire, quelle que soit la distribution installée.
*Jâentends par ceci un système minimal contenant tous les binaires, toutes les bibliothèques, tous les fichiers de configuration nécessaires à la commande lancée en « chroot » (dans notre cas un shell et les commandes annexes nécessaires)
Depuis lâISO Ubuntu, nous passerons tout dâabord en clavier français pour avoir un confort dâutilisation.
En mode UEFI , lâISO Ubuntu 18.04 se charge en anglais. En mode Legacy, une boite de dialogue propose le choix de la langue de lâinterface avant de charger le bureau.
Nous allons dans le menu de configuration pour passer en langue française :
Une fois le nouvel agencement clavier installé, il faut le sélectionner dans la barre en haut :
Si vous effectuez lâopération depuis un système opérationnel, vous nâaurez pas cette manipulation à effectuer.
Ubuntu 18.04 est une version vieillissante, mais rien ne changera avec les versions suivantes.
Je vais présenter ci-dessous le processus de création de partitions.
Il est possible dâappliquer le principe de ce tutoriel pour créer un dual-boot avec une autre distribution que celle active. Il vous faudra dans ce cas adapter cette partie en réduisant par exemple une partition existante de façon à pouvoir installer la nouvelle distribution dans une nouvelle partition sans écraser lâexistant. Vous nâaurez pas à installer GRUB dans ce cas, lâidée étant dâajouter la nouvelle distribution au menu GRUB préexistant.
Il nous faut tout dâabord ouvrir un terminal.
Nous passons ensuite en root grâce à la commande :
Depuis le terminal, nous lançons ensuite GParted  :
Le disque ne fait que 10Â Go, car câest un disque virtuel pour une machine virtuelle.
Il est bien sûr possible dâutiliser parted ou gdisk (ou cfdisk en mode Legacy) pour créer les partitions.
Dans le cas de lâutilisation en mode Legacy (déprécié), lâamorce du système sera contenue dans le 1 er secteur du disque, à la suite de la table de partition MBR.
Dans le cas dâune installation en UEFI , cas qui sera présenté ici, il faudra créer une table de partitions GPT (Guid Partition Table) contenant une partition ESP (EFI System Partition). Chaque OS stockera un fichier .efi de chargement dans cette partition. Dans le cas dâun dual-boot, cette partition devrait déjà exister, vous pouvez donc passer la partie suivante.
Nous créons ensuite la partition ESP qui est en fait une partition FAT32 avec des attributs supplémentaires (sauf en cas dâutilisation en mode Legacy avec une table de partition MBR ).
Pour cela, il faudra cliquer sur le bouton droit au niveau de lâespace disponible :
Nous créons une partition FAT32 de 200 Mo :
Sur le même principe, nous créons une partition ext4 qui contiendra notre racine et une partition pour le swap :
Les partitions seront physiquement écrites après clic sur lâicône en haut.
Vous aurez une demande de confirmation, cette opération écrase toutes les données précédemment contenues sur le disque :
Ces opérations auraient pu être effectuées en ligne de commande, mais lâavantage dâutiliser GParted , câest quâil formate les partitions en même temps quâil les crée.
Il nous restera à positionner le drapeau ESP , cela se fera en cliquant avec le bouton de droite sur la partition et en sélectionnant « manage flags » :
Le fait de cocher le drapeau « esp » cochera automatiquement le drapeau « boot » et décochera msftdata coché par défaut.
Il nâest possible dâappliquer les drapeaux quâune fois la validation de la création des partitions effectuées.
Une fois le partitionnement effectué, nous montons la partition qui stockera la racine de notre système depuis la ligne de commande :
Pour effectuer lâinstallation dâune distribution à base Debian, nous utiliserons un outil nommé debootstrap qui permet lâinstallation des bases Debian. Cet outil va installer une base de la distribution sélectionnée dans un dossier choisi. Le choix se fera en communiquant le nom de la distribution en paramètre (comme nous le verrons un peu plus loin). deboostrap est fourni dans les paquets.
Ci-dessous une liste des versions installables avec deboostrap  :
Liste non exhaustive, de plus anciennes versions sont disponibles.
Vous trouverez la liste des distributions gérées par debootstrap dans /usr/share/debootstrap/script
Pour pouvoir installer deboostrap , il va nous falloir modifier le fichier /etc/apt/source.list en y ajoutant le dépôt « universe » (dépôts des logiciels libres et open source maintenus par la communauté).
Fichier /etc/apt/sources.list avant modification :
Fichier / etc/apt/sources.list après modification :
Une fois le fichier modifié, nous exécutons la commande suivante :
Nous installons ensuite debootstrap  :
puis nous lançons lâinstallation de notre distribution Debian 10 Buster dans le dossier /mnt (le point de montage de la racine de notre futur système) :
Lâoption « buster » représentant le nom de la distribution à préparer et /mnt le dossier où lâinstallation doit être effectuée.
Je vous invite à consulter la documentation pour voir les autres options de debootstrap .
Comme précisé dans le chapitre 3, il est ici sous-entendu que la partition qui contiendra la distribution est formatée et montée dans / mnt , et quâune partition est préparée pour lâUEFI.
debootstrap va télécharger les paquets de base nécessaires à la distribution, les décompresser et les configurer dans le dossier sélectionné.
Vous pouvez voir ci-dessous le résultat fourni sur la console et la liste des paquets installés :
Les ⦠dans la sortie de la commande debootstrap indiquent une suppression dâinformations que jâai effectuée pour ne laisser quâun extrait, ce principe sera appliqué sur toutes les sorties.
Nous nous plaçons ensuite dans le dossier / mnt pour faire un « chroot » dans le système de destination pour continuer la configuration. Pour cela, nous nous plaçons dans le dossier et nous montons les pseudo-dossiers /proc , / sys , / dev dans le sous-dossier contenant le futur système :
La commande chroot attend en paramètres le dossier de destination et la commande à lancer. Sans indication, la commande lancée est /bin/sh (depuis le chroot, qui doit donc contenir celle-ci ainsi que ses dépendances comme les bibliothèques liées). Le « . » qui suit la commande chroot indique le dossier actuel.
La première opération que nous allons effectuer sera de mettre un mot de passe sur le compte root :
Nous modifions ensuite le fichier /etc/fstab pour indiquer les partitions à monter :
Dans lâexemple ci-dessus, nous indiquons de monter notre partition ext4 en lecture/écriture, ainsi que notre partition de swap.
Nous éditons le fichier /etc/hostname (il suffit de mettre le nom voulu dans le fichier) afin dây positionner le nom choisi pour la machine. Selon le besoin, il pourra être pertinent de positionner le nom de la machine dans le fichier / etc/hosts .
Il va nous falloir ensuite installer un noyau.
Pour rechercher les noyaux disponibles :
Dans la liste des noyaux disponibles, je choisis le noyau disponible 4.19.0.18 non signé
à adapter à votre situation.
Il nous reste enfin à installer le chargeur dâamorçage GRUB.
Nous commençons par créer le point de montage pour la partition UEFI :
nous montons ensuite la partition UEFIÂ :
puis nous procédons à lâinstallation des paquets de GRUB :
Une fois lâinstallation des paquets de GRUB effectuée, nous procédons à lâinstallation proprement dite dans la partition UEFI :
GRUB va détecter le type dâinstallation à faire et lâeffectuer, vous devriez avoir le retour suivant :
Nous créons ensuite automatiquement le fichier de configuration GRUB :
Si vous nâexécutez pas la commande update-grub , il nây aura pas de fichier de configuration pour GRUB, et vous tomberez sur lâécran suivant :
Nous sortons ensuite du chroot en lançant simplement la commande :
Avant de redémarrer, pour nous faciliter la configuration réseau, nous copions le fichier /etc/network/interfaces  ainsi que le fichier /etc/resolv.conf quâil faudra modifier en y mettant les adresses IP des DNS.
puis nous éteignons la machine proprement :
Au redémarrage, vous aurez le prompt GRUB pour le système nouvellement installé :
Pour les étapes de post-installation, nous effectuerons le paramétrage :
Nous commençons par activer le réseau. Il nous faut tout dâabord le nom du périphérique :
Avec la configuration actuelle, vous serez en clavier Qwerty.
La commande retourne enp0s3, nom de la carte réseau dans la machine virtuelle :
Nous lâintégrons dans le fichier /etc/network/interface .
Le fichier devra ressembler à ceci :
Ceci configurera la carte réseau en DHCP. Pour une IP fixe, remplacez « inet dhcp » par « inet static » et entrez les informations complémentaires comme ci-dessous :
à adapter à votre réseau.
Ensuite, nous redémarrons le service ainsi :
Il faudra également que les serveurs DNS soient configurés dans le fichier /etc/resolv.conf .
Nous installons ensuite les locales :
puis les configurons :
Pour que les changements soient pris en compte, il faut fermer et rouvrir la session, puis mettre à jour la liste des paquets :
Vous verrez le téléchargement de translation-fr.
Jâinstalle ensuite le support du clavier français :
Il reste à configurer le fuseau horaire :
Sortie sur la console :
Nous allons remplacer les noms des périphériques dans le fichier par leur UUID. Ceci nâest pas obligatoire, mais vous permettra de ne pas avoir de problèmes de démarrage en cas dâajout ou de suppression de disques dans la machine ou de montage du disque système dans une autre machine.
Je récupère les UUID grâce à la commande blkid et les inclus dans le fichier /etc/fstab . :
Jâédite ensuite le fichier pour obtenir finalement :
Les UUID sont uniques et seront donc différents chez vous.
Il faut ensuite mettre lâinitramfs à jour :
Vous aurez un message dâerreur indiquant de mettre à jour le fichier / etc/initramfs-tools/conf.d/resume . Ceci est nécessaire pour la gestion de la mise en veille.
Puis actualiser GRUBÂ :
Nous installons pour lâexemple une version Ubuntu 18.04 Bionic Beaver .
Lâinstallation se fait avec debootstrap , tout comme pour Debian vu dans le chapitre précédent.
Nous entrons ensuite en chroot comme vu précédemment, puis changeons le mot de passe et mettons à jour le fichier / etc/fstab .
nano nâest pas installé par défaut dans le debootstrap Ubuntu, nous lâinstallons :
Nous installons ensuite un noyau.
Lors de lâinstallation du package de noyau, GRUB Legacy est également installé. Nous ne le configurerons pas, la version installée étant la version non UEFI.
Il vous faut donc installer le paquet grub-efi  :
Au redémarrage, le système se charge, mais ne propose pas de menu GRUB.
Si vous souhaitez avoir le menu GRUB, ajoutez la ligne suivante dans /etc/default/grub  :
Pour prendre en compte le changement, effectuez un :
Vous pouvez bien sûr modifier directement le fichier /etc/default/grub depuis le chroot avant le 1er démarrage.
La version Ubuntu 18.04 utilise dorénavant netplan au lieu de ifupdown . Le fichier /etc/network/interfaces nâest plus utilisé. Il va falloir créer un fichier de configuration au format yaml.
Voici un exemple de fichier /etc/netplan/config.yaml  :
Et un autre pour une IP fixe :
Adressage à adapter à votre situation.
La configuration sera prise en compte après lâappel de la commande :
Vous pouvez toujours utiliser lâancienne méthode en installant le paquet ifupdown . Il vous faudra le faire depuis le chroot.
Pour les locales, les paquets sont déjà présents, vous aurez juste à faire la configuration :
Pour passer le clavier en français, utilisez la commande suivante :
Il reste ensuite à reconfigurer le fuseau horaire :
Le projet Devuan est un fork du projet Debian datant de la controverse due au passage de Debian à systemd au lieu dâ init , certains développeurs considérant que systemd ne respecte pas le principe KISS .
Les versions disponibles sont :
Le principe sera le même que pour Debian et utilisera debootstrap . Par contre, il faudra récupérer le paquet debootstrap depuis les dépôts Devuan , la version debootstrap Debian nâintégrant pas les distributions Devuan .
Une fois les partitions créées, nous récupérons le paquet dans les dépôts Devuan  :
Les versions de paquets peuvent évoluer dans le temps, vous pouvez vous connecter sur http://deb.devuan.org pour contrôler la version à jour.
Une fois le paquet téléchargé, nous lâinstallons :
puis nous lançons la commande debootstrap , avec dans notre cas la version beowulf  :
Le reste de lâinstallation sâeffectuera comme pour Debian.
Pour les cartes réseau, Devuan garde lâancienne nomenclature eth0 .
La distribution Fedora est dérivée de RedHat qui la subventionne.
Pour effectuer une installation de Fedora, nous ne pouvons pas utiliser debootstrap , qui nâest fonctionnel que pour des bases Debian .
Comme système de base, nous allons télécharger une archive destinée aux conteneurs.
Nous commençons par créer un dossier temporaire dans le dossier /mnt  :
Nous y téléchargeons notre archive depuis un miroir Fedora :
Une fois le téléchargement effectué, nous décompressons lâarchive :
tar est capable de décompresser les fichiers avant de faire lâextraction de lâarchive il faudra ajouter lâoption :
-J pour les archives xz
-j pour les archives bz2
-z pour les archives gzip (les plus courantes)
Une fois lâarchive décompressée, vous obtenez un dossier avec pour nom une suite hexadécimale et quelques fichiers .json.
Ce dossier contient une archive .tar nommée layer.tar .
Nous la déplaçons à la racine /mnt  :
Une fois le fichier .tar déplacé, nous pouvons effacer ce quâil reste dans le dossier tmp  :
Nous décompressons le fichier .tar :
à ce stade, nous avons le contenu minimal permettant de continuer en chroot .
Nous copions le fichier resolv.conf :
puis entrons dans le chroot :
Nous installons les paquets complémentaires pour avoir un système exploitable :
dnf ( Dandified Yum ) est le gestionnaire de paquets succédant à yum, le gestionnaire de paquets de ReHat et Fedora.
Sortie de la commande dnf :
Une fois la validation faite, lâinstallation continue :
Nous ajoutons nano et passwd  :
Vous pouvez aussi utiliser vi qui est présent par défaut.
Nous créons ensuite un utilisateur, Fedora interdisant le login en root :
puis nous lui affectons un mot de passe :
Nous modifions ensuite le fichier /etc/sudoers pour quâil ait les droits administrateur en lançant la commande visudo , qui vérifiera la syntaxe correcte de celui-ci.
Nous y ajoutons la ligne suivante :
Nous éditons ensuite le fichier /etc/fstab  :
puis nous procédons à lâInstallation dâun noyau :
Installation de GRUB EFIÂ :
Nous commençons par monter la partition EFI :
puis installons les paquets nécessaires :
Contrairement aux installations déjà vues, il nâest pas nécessaire de lancer grub-install , GRUB est à ce stade installé.
Il faudra par contre procéder à la configuration. Il nây a pas sous Fedora de commande update-grub , la commande à lancer est :
La dernière opération à effectuer sera de déclencher un autorelabel selinux avec la commande :
Cette commande va créer un fichier vide .autorelabel à la racine.
Le premier démarrage prendra du temps et finira par un redémarrage, ceci à cause de lâautorelabel SELinux.
Lâautorelabel permet de réappliquer la politique de contrôle dâaccès aux éléments du système.
Nous effectuerons les mêmes opérations de post-installation que celles déjà vues.
Obtention de la liste des cartes réseau :
Par défaut, le DHCP est activé, si vous souhaitez passer en IP fixe (IP 192.168.1.200 dans mon cas de figure), voici comment faire :
Nous recherchons le paquet nécessaire :
Il en ressort le paquet langpacks-fr que nous installons :
Nous listons ensuite les locales disponibles :
Qui nous retournera :
Nous changeons la locale avec la commande :
Pour afficher la locale en cours :
qui en lâétat retournera :
Nous voyons que les locales sont bien FR, mais pas le clavier
Nous commençons par lister les agencements (keymaps) disponibles :
Nous choisissions latin9Â :
Pour avoir la liste des fuseaux horaires (timezone) disponibles, utilisez la commande suivante :
Sélection du fuseau :
Les commandes localectl , timedatectl sont utilisables sur Debian également, celles-ci étant des commandes systemd .
La société allemande à lâorigine de la distribution SUSE fournit deux versions :
(Open)SUSE utilise le format de paquets .rpm de RedHat .
Il sâagit dâune des plus anciennes distributions commerciales.
Pour procéder à lâinstallation dâune distribution SUSE, nous allons utiliser lâoutil yum , gestionnaire de paquets RPM utilisé auparavant par Fedora, mais aussi CentOS et SUSE.
Nous allons utiliser le portage de yum disponible dans les dépôts Debian.
Nous commençons par ajouter le dépôt universe dans /etc/apt/sources.list , puis effectuons un :
Nous installons ensuite yum :
Nous créons ensuite un fichier de dépôt /etc/yum/repos.d/opensuse-leap-15.3.repo
Nous installons les paquets minimums rpm-repos, bash et zypper dans le dossier /mnt  :
Nous passons ensuite en chroot  :
Nous reconstituons la base RPMÂ :
Nous y intégrons la clé de dépôt :
Nous utilisons la commande zypper , permettant lâutilisation du gestionnaire de paquets Zypp dâ OpenSUSE .
Nous choisissons lâoption ar pour « add repo » :
Nous lançons un rafraîchissement de la base zypper :
Reconstruction de la base RPM pour éviter une erreur dâinstallation :
Je continue par lâinstallation de vim , nano et shadow pour la commande passwd , avec zypper .
à ce stade, vous aurez les commandes nécessaires au changement de mot de passe :
puis nous modifions le fichier fstab  :
Nous continuons par lâinstallation dâun noyau :
Durant lâinstallation (dans une machine virtuelle avec VirtualBox), jâai eu lâerreur suivante :
En sélectionnant « ignore » la procédure a continué.
Installation de GRUBÂ :
Je commence par modifier le fichier /etc/os-release pour remplacer le nom « dummy » par « OpenSUSE », ceci afin de ne pas avoir une entrée UEFI nommée « Dummy »
Nous préparons le point de montage UEFI :
Puis installons les paquets afférents à GRUB :
Lâinstallation proprement dite sâeffectuera grâce à la commande :
Nous créons le fichier de configuration de GRUB :
Pour faciliter lâinstallation réseau après redémarrage, nous allons installer le paquet yast2-network et iputils .
YasT ( Yet Another Setup Tool ) est lâoutil graphique dâinstallation (il est également disponible en mode texte grâce à Ncurses ) fourni avec openSUSE et se lançant depuis un CD dâinstallation openSUSE .
Une fois le système fraîchement installé redémarré, nous lançons la commande Yast pour facilement configurer le réseau. Il faudra se rendre sur la ligne « system » :
Une fois « network settings » sélectionné, yast trouve la carte réseau.
Nous cliquons « edit » (F4) comme indiqué pour effectuer le paramétrage, ci-dessous exemple avec sélection DHCP :
Ãcran affiché une fois la sélection effectuée :
Avant de quitter Yast , vous pouvez aussi modifier le hostname .
Après validation (F10), la configuration sâeffectue :
Il restera à fixer les DNS dans le fichier /etc/resolv.conf .
Pour configurer les locales, la procédure est la même que pour Fedora , en utilisant systemd .
Listage les locales disponibles :
Changement de la locale :
Tout comme pour Fedora, voici ci-dessous la commande pour lister les locales contenant fr :
Nous avons tout dâabord besoin dâinstaller le paquet timezone :
Nous appliquons le fuseau de Paris :
Slackware est à ma connaissance la plus vieille distribution Linux en activité.
Pour effectuer une installation Slackware, nous commencerons par récupérer le fichier dâinstallation dédié à une clé USB ou à un serveur PXE que nous trouverons dans le sous-répertoire « usb-and-pxe-installers » du miroir choisi.
Dans le cas présenté ici, le miroir sera :
http://slackware.uk/slackware/slackware64-14.2/
Le dossier slackware64-14.2 représentant la version 14.2. La dernière version est accessible depuis « slackware64-current ».
Le fichier à télécharger se nomme usbboot.img.
Nous montons le fichier image dans un dossier temporaire :
Nous y récupérons lâinitrd :
Nous démontons lâimage usbboot et la supprimons, nous nâen avons plus besoin :
Un fichier initrd est une image cpio compressée
Nous déplaçons celle-ci dans notre dossier temporaire en changeant son extension en .gz :
Nous entrons dans le dossier tmp pour décompresser lâarchive cpio  :
Nous obtenons après extraction le contenu suivant :
Avant dâeffectuer un chroot , nous copions le fichier resolv.conf pour avoir accès à Internet :
Nous effectuons notre chroot  :
Nous lançons ensuite le script dâinstallation :
Nous obtenons lâécran suivant :
Commençons directement par la sélection du clavier :
Sâaffiche ensuite un écran nous proposant de taper du texte pour tester :
Comme indiqué, il faut taper 1 et retour chariot pour continuer.
Il est ensuite demandé la partition de swap, celle présente vous étant proposée :
Il nous est ensuite demandé si nous souhaitons tester les secteurs défectueux :
Nous obtenons ensuite la notification dâentrée dans le fichier fstab :
Vient ensuite la sélection de la partition à utiliser comme racine. Notre partition est également présélectionnée :
Il nous est par la suite proposé de formater ou non la partition. Celle-ci ayant été formatée par Gparted , et contenant notre chroot temporaire, il faut choisir « no » :
Lâoutil dâinstallation crée ensuite automatiquement une entrée dans fstab pour la partition EFI :
Il nous est ensuite demandé de choisir la source pour lâinstallation, nous choisissons donc FTP/HTTP :
Nous entrons donc lâURL miroir utilisée, dans notre cas :
Ne pas oublier le « / » à la fin.
Par la suite, le nom du dossier source est demandé, dans notre cas câest « slackware64 », nous pouvons le voir en consultant lâURL du miroir :
Une demande de confirmation est affichée
Il faut bien lire le message, pour ne pas être induit en erreur et répondre « non » pour passer à la suite. Il est indiqué que la liste de paquets a été trouvée, mais la question étant traduisible par « voulez-vous réessayez de configurer » :
Le traitement de la liste de paquets sâeffectue :
Nous sont ensuite proposées les catégories de paquets à installer. Il nous faut sélectionner :
La série A contient les paquets de base nécessaires au fonctionnement, la série AP contient slackpkg , un gestionnaire de paquets et la série N contient wget , nécessaire à slackpkg .
Ces éléments sont nécessaires à une installation minimale sans interface graphique, libre à nous de personnaliser selon notre choix si lâon sait ce quâon fait.
Sur lâécran suivant, nous choisissons le mode de sélection des paquets, ici le mode expert :
Il nous est ensuite demandé de sélectionner les paquets de la série A, ceux-ci étant tous cochés. Nous laissons les réglages tels quels :
Comme nous pouvons le voir, les paquets nécessaires sont indiqués. Je vous conseille de ne pas en décocher pour ne pas avoir de problèmes pour la suite de lâinstallation, empêchant par exemple le fonctionnement du gestionnaire de paquets. (exemple awk nâest pas nécessaire pour le fonctionnement dâun système minimal, mais sera nécessaire à Slackpack â non exhaustif). Nous pouvons par exemple décocher ReiserFS.
Pour la série AP, nous décocherons tout, sauf slackpkg :
Pour la série N, nous ne sélectionnerons que wget  :
Lâinstallation des paquets va ensuite commencer :
Il nous est ensuite proposé de créer une clé USB amorçable, logique pour une base dâinstallation USB :
Nous passons lâétape.
Puis on nous propose lâinstallation du gestionnaire de démarrage LILO , opération que nous passons, car nous installerons GRUB.
Nous est ensuite proposée la configuration de la souris, qui fait suite à lâinstallation de gpm (sauf si nous lâavons décochée) :
Comme nous ne lâutiliserons pas, nous nâactivons pas le service au démarrage comme proposé :
Les services qui démarreront automatiquement sont ensuite précisés :
puis on nous demande si lâon veut choisir une police de caractères, câest inutile pour une installation minimale en mode terminal :
La prochaine étape est la configuration de lâhorloge :
suivie du choix du fuseau horaire :
Vient ensuite le mot de passe root :
Lâinstallation automatique est terminée :
Nous quittons ensuite lâutilitaire de configuration :
Nous ne redémarrons pas, car dâune part cela nâest pas possible en chroot et dâautre part il nous reste de la configuration à faire.
Nous sortons ensuite de chroot avec la commande :
/dev/sda2 où nous avons installé notre système est toujours monté dans le dossier mnt de notre dossier tmp en cours, depuis lequel nous avons effectué un chroot , le script dâinstallation nâayant pas démonté les points de montage quâil a utilisé.
Nous réeffectuons un chroot , dans lâinstallation définitive :
Un noyau est déjà présent, mais il va nous falloir créer un initramfs et les entrées GRUB .
Pour lâ initramfs , un script présent va nous assister :
Il faudra ensuite exécuter la commande retournée par le script :
Pour lâinstallation de GRUB, la partition EFI étant déjà montée dans /boot/efi , un simple appel à grub-install va faire le travail :
Nous créons ensuite le fichier de configuration de GRUB :
à ce stade, notre machine est amorçable, mais il nous reste quelques paquets à installer pour la gestion du réseau.
Nous commençons par paramétrer slackpkg en sélectionnant mon miroir :
Nous déclenchons ensuite une mise à jour de la liste des paquets :
Nous commençons par installer le paquet gnugpg  :
Nous récupérons la clé GPG pour le dépôt :
que nous installons :
Remise à jour du cache slackpkg  :
Nous installons ensuite nano pour des questions de facilité :
Puis nous installons les paquets suivants pour la gestion réseau :
Une fois sorti du chroot, pour redémarrer proprement il faut démonter au moins proc et sys pointant sur notre dossier dans /mnt  :
Après le démarrage, la première chose quâil va falloir faire est de nettoyer le dossier /tmp ayant servi à contenir le 1 er chroot temporaire :
Nous lançons ensuite la commande netconfig , qui va commencer par demander le hostname  :
Suivi du nom de domaine :
Nous sera ensuite demandé si nous souhaitons configurer une IP fixe ou dynamique :
Ne trouvant pas de conteneur de système minimal comme pour Fedora , jâai démarré sur un ISO « Minimal Installation » pour étudier le comportement.
Au démarrage jâai eu lâécran suivant indiquant quâil fallait lancer « setup » pour effectuer une installation :
Une recherche avec la commande find nous retourne le chemin de setup
En montant lâISO sur un Linux, je nâai trouvé aucune trace de ce dossier « setup ». LâISO ne contient que des noyaux, un initrd et quelques fichiers.
Jâai donc extrait le contenu de lâ initrd et relancé une recherche de « setup ». Câest ainsi que jâai vu quâil était possible de faire un chroot sur le contenu de cet initrd et dây lancer le setup.
ArchLinux est une distribution réservée aux utilisateurs avancés. Elle ressemble à Slackware .
Pour installer ArchLinux , il va nous falloir démarrer sur une image ArchLinux nommée bootstrap.
La procédure est similaire à la procédure précédente avec un niveau un peu plus complexe. Tout comme pour lâinstallation de Slackware, il va nous falloir effectuer deux chroot. Comme nous serons obligés de lancer notre bootstrap hors de la partition où nous installerons la version définitive, nous utiliserons la partition de swap que nous formaterons temporairement en ext4.
Nous créons un point de montage pour notre système de fichiers temporaire, formatons la partition et la montons :
Nous nous plaçons dans le dossier temporaire :
Nous téléchargeons ensuite le fichier de boostrap pour ArchLinux  :
Nous pouvons télécharger le lien depuis le miroir de notre choix.
Nous décompressons le fichier :
Nous rentrons ensuite dans le dossier décompressé nommé root.x86_64 :
Nous modifions le fichier etc/pacman.d/mirrorlist avant dâeffectuer le chroot , le dossier de bootstrap ne contenant ni vim ni nano  :
Il faut sélectionner le miroir de notre choix en le décommentant, ils sont classés par pays comme nous pourrons le voir en éditant le fichier.
Nous préparons notre chroot :
Avant dâeffectuer le chroot, nous montons la partition qui contiendra la racine de notre Archlinux  :
Nous entrons enfin en chroot :
Nous allons ensuite utiliser la commande pacstrap , semblable à debootstrap. Avant ceci, il va nous falloir récupérer les clés PGP des dépôts (équivalent à apt-key add des bases Debian) :
Nous lançons ensuite la commande pacstrap  :
Puis nous générons le fichier fstab :
Enfin, nous passons au second chroot avec la commande dédiée arch-chroot  :
La première chose, à faire est de mettre le mot de passe root :
Nous installons ensuite nano  :
Puis nous installons le paquet dhclient pour pouvoir obtenir une adresse IP via DHCPÂ :
Tout comme avec apt , il aurait été possible dâinstaller les deux paquets avec une seule commande :
Puis nous installons un noyau :
Il nous sera demandé un « provider » pour lâ initramfs  :
Nous sélectionnons celui par défaut.
Nous installons ensuite GRUBÂ :
Pour redémarrer, il faudra sortir des deux chroot grâce à deux appels à exit .
La commande dhclient vous connectera au réseau.
Vous pourrez ensuite fixer une adresse IP en dur en créant un fichier de configuration systemd /etc/systemd/network/50-wired.network  :
Remplacez enp0s3 (correspondant à ma carte réseau dans ma machine virtuelle) par votre périphérique disponible que lâon peut retrouver avec la commande ip addr show .
La configuration sera activée par :
puis définie en dur par :
Vous pouvez également installer un service DHCP.
Pour activer les locales en français, il faut éditer le fichier /etc/locale.gen et décommenter la locale concernée.
Il faudra ensuite lancer la commande :
Pour passer en clavier français, nous utilisons la commande déjà vue :
La configuration sera permanente.
Nous allons réaffecter la partition utilisée pour les manipulations à usage de swap.
Nous commençons par installer gdisk  :
Puis nous allons modifier le type de partition de la partition 3, qui occupait notre espace temporaire :
Nous lançons ensuite la commande mkswap  :
Nous ajoutons lâentrée dans le fichier fstab :
puis lâactivons :
Alpine Linux est une distribution très légère qui sert de base à beaucoup de conteneurs Docker.
Une commande est fournie sur git pour faire une installation en chroot .
Nous téléchargeons celle-ci :
Nous lançons ensuite la commande :
Lâoption -d sert à préciser le dossier où lâinstallation sera effectuée (dossier /alpine par défaut).
Nous nous plaçons dans le dossier contenant le système de base :
Nous supprimons les fichiers ajoutés par le dépôt et qui ne nous seront pas utiles : destroy , enter-chroot et env.sh
Nous lançons ensuite le chroot  :
Alpine Linux est fourni avec le shell ash , que nous appelons lors de la commande chroot, lâoption -l change le prompt.
Nous installons ensuite le paquet suivant :
apk est le gestionnaire de paquets dâAlpine Linux.
Une fois cette installation effectuée, il est possible de lancer le script suivant, permettant de facilement configurer le système :
La première question posée concernera le hostname , celui-ci étant Ubuntu par défaut, le hostname de notre hôte chroot :
Lâétape suivante concernera la configuration réseau, que nous allons sauter en laissant les valeurs par défaut :
Adresse à adapter à votre cas de figure.
Ensuite le mot de passe root :
Suivi de la sélection du fuseau horaire :
Ci-dessous la liste affichée après entrée de « ? » :
La sélection de la zone « Europe » affichera une sous-liste :
Ãtape de configuration en cours :
Il vous sera ensuite demandé lâéventuel proxy pour accéder à Internet :
Suivi du client NTP de votre choix ( chrony par défaut, positionné à none) :
Puis le miroir à utiliser :
Suite de la procédure :
Il vous sera également demandé si vous souhaitez créer un utilisateur (en plus de root) :
Puis le choix du serveur SSHÂ :
Dans lâétape suivante, nous annulerons la procédure qui normalement formate le disque :
Vu que la procédure dâinstallation a été interrompue, nous appelons ensuite le script de configuration clavier, normalement appelé par setup-alpine  :
Une fois « fr » sélectionné, une seconde option vous sera demandée :
Nous installons ensuite nano , celui-ci nâétant pas installé par défaut, contrairement à vi (que vous pouvez utiliser si vous le souhaitez).
Nous modifions ensuite le fichier /etc/fstab , qui devra contenir comme précédemment vu :
Nous continuons par lâinstallation du noyau :
Puis nous ajoutons lâentrée suivante dans /etc/default/grub pour que le démarrage fonctionne :
Création du fichier de configuration GRUB :
Au redémarrage, pour avoir le réseau, jâai du remplacer enp0s3 par eth0 dans le fichier /etc/network/interfaces  : Alpine Linux utilise lâancienne nomenclature des cartes réseaux utilisées par le paquet net-tool , dépréciée dans les distributions les plus courantes.
Au démarrage, le swap nâétait pas actif, voici la commande pour lâactiver :
Câest effectif après un redémarrage.
rcâupdate add est la commande dâactivation de service dâ OpenRC , le remplaçant du démon init utilisé par Alpine Linux.
Au cours de ce tutoriel, nous avons vu comment installer/configurer une distribution Linux à partir dâune autre en montrant la flexibilité du système. Même si cela est possible, il est rare que ce soit utile : il est nettement plus simple dâeffectuer une installation à partir dâun média dédié. Finalement, lâexercice est intéressant, voir amusant et permet de progresser dans lâutilisation de Linux.
Je remercie Sergiomaster , Philippe dpt35 et LitttleWhite pour leur relecture technique, ainsi quâ Escartefigue pour sa relecture orthographique