134 lines
5.2 KiB
Markdown
134 lines
5.2 KiB
Markdown
# UDIB - Outil de Construction d'Installation Debian Non Assistée
|
|
|
|
## Introduction
|
|
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](https://github.com/YunoHost/custom-debian-iso) qui est lui-même un fork de [ulinja/udib](https://github.com/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
|
|
- Automatiser entièrement l'installation
|
|
|
|
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 sont automatiquement appliquées.
|
|
|
|
Pour plus d'informations, consultez :
|
|
- [Guide officiel Debian](https://www.debian.org/releases/stable/amd64/apb.en.html)
|
|
- [Aperçu rapide du wiki Debian](https://wiki.debian.org/DebianInstaller/Preseed)
|
|
|
|
## 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 :
|
|
1. Extrayant l'ISO
|
|
2. Ajoutant les fichiers à l'initrd de l'ISO
|
|
3. Repackageant l'ISO à nouveau
|
|
|
|
Vous pourriez faire tout cela manuellement en suivant les guides du wiki Debian, mais UDIB fait tout cela pour vous.
|
|
|
|
## Prérequis
|
|
|
|
### Dépendances
|
|
L'utilisation d'UDIB pour créer des ISOs nécessite les logiciels suivants :
|
|
|
|
- Système d'exploitation : GNU/Linux
|
|
- `python3` *(version 3.10.4 connue pour fonctionner)*
|
|
- Les [packages python requis](./requirements.txt) peuvent être installés dans un environnement virtuel
|
|
- `xorriso` *(version 1.5.4 connue pour fonctionner)*
|
|
- **Debian (bullseye):** [xorriso](https://packages.debian.org/bullseye/xorriso)
|
|
- **Arch Linux:** [extra/libisoburn](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.
|
|
|
|
### Installation
|
|
1. Clonez ce dépôt et `cd` dans votre copie locale
|
|
2. (Optionnel) Créez et activez un environnement virtuel :
|
|
```bash
|
|
python3 -m venv .venv && . .venv/bin/activate
|
|
```
|
|
3. Installez les packages python requis :
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
4. Téléchargez l'ISO Debian :
|
|
```bash
|
|
python3 udib.py get iso
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Aide en ligne de commande
|
|
- Options générales : `./udib.py --help`
|
|
- Aide pour une sous-commande spécifique : `./udib.py COMMAND --help`
|
|
|
|
### Télécharger Debian
|
|
|
|
#### Version stable
|
|
```bash
|
|
python3 udib.py get iso
|
|
```
|
|
|
|
#### Version testing
|
|
```bash
|
|
python3 udib.py get iso-testing
|
|
```
|
|
|
|
#### Options supplémentaires
|
|
|
|
Télécharger dans un répertoire spécifique :
|
|
```bash
|
|
python3 udib.py --output-dir /tmp get iso
|
|
```
|
|
|
|
Télécharger avec un nom personnalisé :
|
|
```bash
|
|
python3 udib.py --output-file debian-stable-custom.iso get iso
|
|
```
|
|
|
|
Télécharger le fichier de préconfiguration basique :
|
|
```bash
|
|
python3 udib.py get preseed-file-basic
|
|
```
|
|
|
|
Télécharger le fichier de préconfiguration complet :
|
|
```bash
|
|
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ée
|
|
- `boot/grub/theme/` : Thème GRUB personnalisé
|
|
- `isolinux/menu.cfg` : Configuration du menu isolinux
|
|
- `isolinux/splash.png` : Image de fond du menu isolinux
|
|
- `logo.png` : Logo personnalisé affiché pendant l'installation
|
|
- `preseeds/default.preseed` : Fichier de préconfiguration pour l'installation automatisée
|
|
|
|
#### Injection de fichiers
|
|
```bash
|
|
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 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. Pour plus de personnalisation, consultez la section [Qu'est-ce que la préconfiguration](#quest-ce-que-la-préconfiguration).
|
|
|
|
Vous pouvez obtenir le fichier d'exemple de préconfiguration complet avec :
|
|
```bash
|
|
./udib.py get preseed-file-full
|
|
```
|
|
|
|
Consultez la [référence d'utilisation](#guide-dutilisation-détaillé) pour un regard plus approfondi sur UDIB. |