skylanix
This commit is contained in:
120
README.md
120
README.md
@@ -1,90 +1,102 @@
|
||||
# UDIB
|
||||
|
||||
UDIB is the Unattended Debian Installation Builder.
|
||||
It provides a handy commandline utility for injecting files into Debian installation ISOs.
|
||||
Using UDIB, you can preseed an ISO by injecting a preseed file.
|
||||
Preseeded ISOs allow fully automated Debian installations on bare metal (or anywhere else).
|
||||
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).
|
||||
|
||||
## Quick Start Guide
|
||||
**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).
|
||||
|
||||
This short guide explains how to build a Debian ISO with a customized and automated installation:
|
||||
## Guide de démarrage rapide
|
||||
|
||||
1. make sure you have all the [required software](#build-machine) installed
|
||||
2. clone this repo and `cd` into your local copy
|
||||
3. (optional) create and activate a virtual environment: `python3 -m venv .venv && . .venv/bin/activate`
|
||||
4. install the required python packages: `pip install -r requirements.txt`
|
||||
5. all the Debian ISOs are available in <https://cdimage.debian.org/mirror/cdimage/archive/>
|
||||
5. create the custom ISOs: `./udib.py inject -i debian-11.10.0-amd64-netinst.iso`
|
||||
6. boot from the `-modified.iso` on your target machine (or in a VM)
|
||||
Ce guide court explique comment construire un ISO Debian avec une installation personnalisée et automatisée :
|
||||
|
||||
Depending on how many answers you provided in the preseed file, the installation may require some manual interaction.
|
||||
Preseed files are very powerful, and if you need more customization you can have a deeper look into [how they work](#whats-preseeding).
|
||||
You can also use UDIB to get the full preseed example file: `./udib.py get preseed-file-full` and use that as a starting point.
|
||||
Be sure to have a look at the [usage reference](#detailed-usage-guide) for a closer look at UDIB itself.
|
||||
1. assurez-vous d'avoir tous les [logiciels requis](#machine-de-construction) installés
|
||||
2. clonez ce dépôt et `cd` dans votre copie locale
|
||||
3. (optionnel) créez et activez un environnement virtuel : `python3 -m venv .venv && . .venv/bin/activate`
|
||||
4. installez les packages python requis : `pip install -r requirements.txt`
|
||||
5. tous les ISOs Debian sont disponibles dans <https://cdimage.debian.org/mirror/cdimage/archive/>
|
||||
5. créez les ISOs personnalisés : `./udib.py inject -i debian-11.10.0-amd64-netinst.iso`
|
||||
6. démarrez à partir de l'ISO `-modified.iso` sur votre machine cible (ou dans une VM)
|
||||
|
||||
## What's preseeding?
|
||||
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](#quest-ce-que-la-préconfiguration).
|
||||
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](#guide-dutilisation-détaillé) pour un regard plus approfondi sur UDIB lui-même.
|
||||
|
||||
A preseed file is a text file which provides the Debian installer with previously set (preseeded) answers during the installation process.
|
||||
Preseeding a Debian ISO allows you to heavily reduce the amount of user interaction required during an installation, or even fully automate it.
|
||||
The preseed file is written by you and then injected into the installation image.
|
||||
When you start the installation, any answers you have provided to the debian installer as part of your preseed file are automatically applied during the installation.
|
||||
If you want to know more, you can have a look at Debian's [official guide](https://www.debian.org/releases/stable/amd64/apb.en.html) or at the Debian wiki's [quick overview](https://wiki.debian.org/DebianInstaller/Preseed), both of which explain preseeding much better than I can.
|
||||
## Qu'est-ce que la préconfiguration ?
|
||||
|
||||
## How does UDIB work?
|
||||
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](https://www.debian.org/releases/stable/amd64/apb.en.html) de Debian ou l'[aperçu rapide](https://wiki.debian.org/DebianInstaller/Preseed) du wiki Debian, qui expliquent tous deux la préconfiguration bien mieux que je ne peux le faire.
|
||||
|
||||
UDIB's main purpose is the injection files into existing Debian installation ISOs.
|
||||
In a nutshell, it does this by extracting the ISO, adding the files to the ISO's initrd, and repacking the ISO again.
|
||||
You could do all of this manually of course by following the [basic](https://wiki.debian.org/DebianInstaller/Preseed/EditIso#Adding_a_Preseed_File_to_the_Initrd) and [advanced](https://wiki.debian.org/RepackBootableISO) guides for ISO repacking on the Debian wiki, but UDIB does all of this for you.
|
||||
## Comment fonctionne UDIB ?
|
||||
|
||||
# Dependencies
|
||||
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](https://wiki.debian.org/DebianInstaller/Preseed/EditIso#Adding_a_Preseed_File_to_the_Initrd) et [avancé](https://wiki.debian.org/RepackBootableISO) pour le repackaging d'ISO sur le wiki Debian, mais UDIB fait tout cela pour vous.
|
||||
|
||||
Using UDIB to create ISOs requires the following software:
|
||||
# Dépendances
|
||||
|
||||
L'utilisation d'UDIB pour créer des ISOs nécessite les logiciels suivants :
|
||||
|
||||
- GNU/Linux
|
||||
- `python3` *(3.10.4 known to work)*
|
||||
- [required python packages](./requirements.txt) can be installed in a virtual environment
|
||||
- `xorriso` *(1.5.4 known to work)*
|
||||
- `python3` *(3.10.4 connu pour fonctionner)*
|
||||
- [packages python requis](./requirements.txt) peuvent être installés dans un environnement virtuel
|
||||
- `xorriso` *(1.5.4 connu pour fonctionner)*
|
||||
- **Debian (bullseye):** [xorriso](https://packages.debian.org/bullseye/xorriso)
|
||||
- **Arch Linux:** [extra/libisoburn](extra/libisoburn)
|
||||
- GNU `gpg`
|
||||
- preinstalled on most distributions
|
||||
- préinstallé sur la plupart des distributions
|
||||
- GNU `cpio`
|
||||
- preinstalled on most distributions
|
||||
- préinstallé sur la plupart des distributions
|
||||
- GNU `sha512sum`
|
||||
- preinstalled on most distributions
|
||||
- préinstallé sur la plupart des distributions
|
||||
|
||||
Internet access is (obviously) required if you want to fetch any files using UDIB.
|
||||
Un accès Internet est (évidemment) requis si vous voulez récupérer des fichiers en utilisant UDIB.
|
||||
|
||||
# Detailed usage guide
|
||||
# Guide d'utilisation détaillé
|
||||
|
||||
You can view help at the commandline using `./udib.py --help` for general options and `./udib.py COMMAND --help` for help with a specific subcommand.
|
||||
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.
|
||||
|
||||
The name and destination of files produced by `udib.py` can be specified with the `--output-file` option.
|
||||
Alternatively, you can use the `--output-dir` option to specify the directory where produced files will be saved, without having to name them explicitly (default names will be used).
|
||||
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).
|
||||
|
||||
## Retrieving example preseed files or vanilla ISOs
|
||||
## Récupération d'exemples de fichiers de préconfiguration ou d'ISOs vanille
|
||||
|
||||
As a starting point for creating your own preseeded ISO, you can retrieve one of Debian's example preseed files or an unmodified Debian ISO using UDIB:
|
||||
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` must be a specific string and can be either one of:
|
||||
`WHAT` doit être une chaîne spécifique et peut être soit :
|
||||
|
||||
- `preseed-file-basic` to download Debian's basic example preseed file (sufficient in most cases)
|
||||
- `preseed-file-full` to download Debian's full example preseed file (has a LOT of customization options)
|
||||
- `iso` to download the latest, unmodified Debian stable x86-64 netinst ISO
|
||||
- `preseed-file-basic` pour télécharger le fichier d'exemple de préconfiguration basique de Debian (suffisant dans la plupart des cas)
|
||||
- `preseed-file-full` pour télécharger le fichier d'exemple de préconfiguration complet de Debian (a BEAUCOUP d'options de personnalisation)
|
||||
- `iso` pour télécharger le dernier ISO netinst Debian stable x86-64 non modifié
|
||||
|
||||
## Injecting files into an ISO
|
||||
## Injection de fichiers dans un ISO
|
||||
|
||||
To inject existing files into an ISO, you can run the following command:
|
||||
Pour injecter des fichiers existants dans un ISO, vous pouvez exécuter la commande suivante :
|
||||
|
||||
```
|
||||
udib.py [--output-file FILE | --output-dir DIR] inject [--image-file IMAGEFILE] FILE [FILE ...]
|
||||
```bash
|
||||
python udib.py --output-file skylanix.iso inject --image-file debian-12.11.0-amd64-netinst.iso
|
||||
```
|
||||
|
||||
where `FILE` is the path to the file you want to inject.
|
||||
Injected files are added at the root of the installer's filesystem and can be accessed there during the installation.
|
||||
**NOTE:** the installer will not recognize a preseed file unless it's filename is `preseed.cfg` exactly.
|
||||
If you don't specify an `--image-file`, UDIB will download the latest Debian x86-64 netinst ISO and inject your `FILE`s into it.
|
||||
Le script injecte automatiquement tous les fichiers présents dans le dossier `files_to_inject/` :
|
||||
- Configuration GRUB personnalisée (`boot/grub/grub.cfg` et thème)
|
||||
- Configuration isolinux (`isolinux/menu.cfg` et `splash.png`)
|
||||
- Logo personnalisé (`logo.png`)
|
||||
- Fichier de préconfiguration (`preseeds/default.preseed`)
|
||||
|
||||
**Exemple complet :**
|
||||
```bash
|
||||
# Créer un ISO personnalisé "skylanix.iso" à partir de l'ISO Debian standard
|
||||
python udib.py --output-file skylanix.iso inject --image-file debian-12.11.0-amd64-netinst.iso
|
||||
```
|
||||
|
||||
**NOTE:** l'installateur ne reconnaîtra pas un fichier de préconfiguration sauf si son nom de fichier est exactement `preseed.cfg`.
|
||||
Si vous ne spécifiez pas d'`--image-file`, UDIB téléchargera le dernier ISO netinst Debian x86-64 et injectera vos fichiers dedans.
|
||||
Reference in New Issue
Block a user