7.0 KiB
UDIB
UDIB est l'outil de construction d'installation Debian non assistée. Il fournit un utilitaire en ligne de commande pratique pour injecter des fichiers dans les ISOs d'installation Debian. En utilisant UDIB, vous pouvez préconfigurer un ISO en injectant un fichier de préconfiguration. Les ISOs préconfigurés permettent des installations Debian entièrement automatisées sur du matériel nu (ou n'importe où ailleurs).
Note: Ce projet est un fork de YunoHost/custom-debian-iso qui est lui-même un fork de ulinja/udib.
Qu'est-ce que la préconfiguration ?
Un fichier de préconfiguration est un fichier texte qui fournit à l'installateur Debian des réponses préalablement définies (préconfigurées) pendant le processus d'installation. La préconfiguration d'un ISO Debian vous permet de réduire considérablement la quantité d'interaction utilisateur requise pendant une installation, ou même de l'automatiser entièrement. Le fichier de préconfiguration est écrit par vous puis injecté dans l'image d'installation. Quand vous démarrez l'installation, toutes les réponses que vous avez fournies à l'installateur debian dans le cadre de votre fichier de préconfiguration sont automatiquement appliquées pendant l'installation. Si vous voulez en savoir plus, vous pouvez regarder le guide officiel de Debian ou l'aperçu rapide du wiki Debian, qui expliquent tous deux la préconfiguration bien mieux que je ne peux le faire.
Comment fonctionne UDIB ?
Le but principal d'UDIB est l'injection de fichiers dans les ISOs d'installation Debian existants. En résumé, il fait cela en extrayant l'ISO, en ajoutant les fichiers à l'initrd de l'ISO, et en repackageant l'ISO à nouveau. Vous pourriez faire tout cela manuellement bien sûr en suivant les guides basique et avancé pour le repackaging d'ISO sur le wiki Debian, mais UDIB fait tout cela pour vous.
Prérequis
Avant d'utiliser UDIB pour créer des ISOs personnalisés :
- Assurez-vous d'avoir tous les logiciels requis installés
- Clonez ce dépôt et
cddans votre copie locale - (optionnel) Créez et activez un environnement virtuel :
python3 -m venv .venv && . .venv/bin/activate - Installez les packages python requis :
pip install -r requirements.txt - Téléchargez l'ISO Debian :
python3 udib.py get iso
Dépendances
L'utilisation d'UDIB pour créer des ISOs nécessite les logiciels suivants :
- GNU/Linux
python3(3.10.4 connu pour fonctionner)- packages python requis peuvent être installés dans un environnement virtuel
xorriso(1.5.4 connu pour fonctionner)- Debian (bullseye): xorriso
- Arch Linux: extra/libisoburn
- GNU
gpg- préinstallé sur la plupart des distributions
- GNU
cpio- préinstallé sur la plupart des distributions
- GNU
sha512sum- préinstallé sur la plupart des distributions
Un accès Internet est (évidemment) requis si vous voulez récupérer des fichiers en utilisant UDIB.
Usage
Télécharger Debian
Pour télécharger la dernière ISO Debian x86-64 netinstall :
Version stable :
python3 udib.py get iso
Version testing :
python3 udib.py get iso-testing
Exemples avancés de téléchargement
Télécharger dans un répertoire spécifique :
python3 udib.py --output-dir /tmp get iso
Télécharger avec un nom personnalisé :
python3 udib.py --output-file debian-stable-custom.iso get iso
Télécharger le fichier de préconfiguration basique :
python3 udib.py get preseed-file-basic
Télécharger le fichier de préconfiguration complet :
python3 udib.py get preseed-file-full
Ces commandes téléchargent automatiquement l'ISO et vérifient son intégrité avec les signatures GPG.
Créer un ISO personnalisé
Préparer les fichiers à injecter :
Le dossier files_to_inject/ doit contenir tous les fichiers que vous souhaitez injecter dans l'ISO :
boot/grub/grub.cfg: Configuration GRUB personnaliséeboot/grub/theme/: Thème GRUB personnaliséisolinux/menu.cfg: Configuration du menu isolinuxisolinux/splash.png: Image de fond du menu isolinuxlogo.png: Logo personnalisé affiché pendant l'installationpreseeds/default.preseed: Fichier de préconfiguration pour l'installation automatisée
Injection de fichiers :
python3 udib.py --output-file skylanix.iso inject --image-file debian-12.x.x-amd64-netinst.iso
Utilisation :
Démarrez à partir de l'ISO -modified.iso sur votre machine cible (ou dans une VM)
Selon le nombre de réponses que vous avez fournies dans le fichier de préconfiguration, l'installation peut nécessiter une certaine interaction manuelle.
Les fichiers de préconfiguration sont très puissants, et si vous avez besoin de plus de personnalisation, vous pouvez regarder plus en détail comment ils fonctionnent.
Vous pouvez également utiliser UDIB pour obtenir le fichier d'exemple de préconfiguration complet : ./udib.py get preseed-file-full et l'utiliser comme point de départ.
Assurez-vous de jeter un œil à la référence d'utilisation pour un regard plus approfondi sur UDIB lui-même.
Guide d'utilisation détaillé
Vous pouvez voir l'aide en ligne de commande en utilisant ./udib.py --help pour les options générales et ./udib.py COMMAND --help pour l'aide avec une sous-commande spécifique.
Le nom et la destination des fichiers produits par udib.py peuvent être spécifiés avec l'option --output-file.
Alternativement, vous pouvez utiliser l'option --output-dir pour spécifier le répertoire où les fichiers produits seront sauvegardés, sans avoir à les nommer explicitement (les noms par défaut seront utilisés).
Commandes avancées
Récupération d'exemples de fichiers de préconfiguration ou d'ISOs vanille
Comme point de départ pour créer votre propre ISO préconfiguré, vous pouvez récupérer un des fichiers d'exemple de préconfiguration de Debian ou un ISO Debian non modifié en utilisant UDIB :
udib.py [--output-file FILE | --output-dir DIR] get WHAT
WHAT doit être une chaîne spécifique et peut être soit :
preseed-file-basicpour télécharger le fichier d'exemple de préconfiguration basique de Debian (suffisant dans la plupart des cas)preseed-file-fullpour télécharger le fichier d'exemple de préconfiguration complet de Debian (a BEAUCOUP d'options de personnalisation)isopour télécharger le dernier ISO netinst Debian stable x86-64 non modifiéiso-testingpour télécharger le dernier ISO netinst Debian testing x86-64 non modifié