Préambule
Ce tutoriel a pour but de montrer une installation avec une iso Debian Netinst (ici version Bookworm 12.11).
Le choix est ici fait de passer par une utilisation des options avancées, afin d’avoir plus de choix dans le type d’instalaltion, mais aussi plus de choix dans les options qui suivront tout au long de l’installation.
Le choix de l’option Graphic Install est un choix tout à fait possible, mais il y aura moins de choix dans les options d’installations.
Introduction
Le présent tutoriel est réalisé sur une VM VirtualBox 7.1 (elle sert aussi à faire des tests de chiffrement/Secure Boot/TPM2 d’où certaines options activées, mais qui n’auront aucune incidence directe sur l’installation).
Les options systèmes incluent :
Les options CPU incluent :
Les options d’accélération incluent :
L’affichage dispose :
-
256 MB de mémoire vidéo
-
1 écran
-
Contrôleur VMSVGA
-
Accélération 3D activée
L’installation a pour but d’installer Debian avec Cinnamon (vous choisirez votre Bureau comme vous voudrez), et un partitionnement réalisé de la façon suivante (desc, type, taille, montage, label, options) :
-
Partition EFI, EFI, 500M, montage /boot/efi, BOOTEFI (pas besoin de spécifier le point de montage vous le verrez)
-
Partition LVM, LVM, le reste du disque, pas de point de montage, LVM, contiendra toutes les autres partitions, telles que :
-
Partition d’échange, swap : 4 Go (on en reparlera, ici il n’y a pas d’objectif de mise en veille ou d’hibernation auquel cas, il faudrait une taille de 1,5 à 2 fois la RAM )
-
Partition de démarrage, , 600M, montage /boot, BOOT, le choix de la taille permet éventuellement de mettre un thème de démarrage custom)
-
Partition racine, 10 Go, montage /, ROOT
-
Partition pour les utilisateurs, 5G, montage /home, HOME, taille réduite c’est une VM de test, mais sur votre système mettez ce qui vous sera nécessaire
-
Partition temporaire, 2 Go, montage, /tmp
-
Partition des fichiers variables et temporaires, 10 Go, montage /var, VAR
-
Partition des fichiers de logs, 4 Go, montage /var/log, VARLOG
-
Partition des fichiers d’audit, 4 Go, montage /var/log/audit, VARLOGAUDIT
-
Partition des fichiers variables temporaires, 2 Go, montage /var/tmp, VARTMP
Ce découpage est un choix voulu pour une meilleure sécurisation de l’utilisation des partitions
-
Les logs ne peuvent pas bloquer le système par utilisation de la capacité totale du disque
-
Les logs d’audit idem, et pour les séparer du reste (ils sont volumineux suivant le paramétrage)
-
Les options de montage sont différentes, en particulier sur les options suid, dev et exec. Suid permet à un utilisateur de lancer une commande qui s’exécutera avec des droits administrateurs. Dev permet de monter des devices sur la partition. Exec permet de pouvoir exécuter des applications dans l’environnement de la partition.
Nous reviendrons en temps voulu sur les différentes dénominations, ainsi que les options de montages.
La définition des tailles de partition est personnelle. Dans les différents cas, je préciserais les raisons du choix.
Pour faire une installation RAID1, il suffit de créer deux partitions identiques sur chacun des deux disques.
Mais les grappes RAID devront être crées manuellement via la console, car la première grappe, pour /boot/efi devra être en version metadata 1.0 ou 0.9, alors que la seconde pour LVM sera en metadata version 1.2.
Debian impose son choix et ne permet pas de change le paramètre.
Pour le faire, avant d’entrer dans la partie partitionnement, mais après la détection des disques, dans une console:
mdadm --verbose --create /dev/md0 --auto=yes --force --level raid1 --raid-devices 2 /dev/sda1 /dev/sdb1 --metadata=1.0
mdadm --verbose --create /dev/md1 --auto=yes --force --level raid1 --raid-devices 2 /dev/sda2 /dev/sdb2 --metadata=1.2
Ensuite de retour dans l’installateur, il suffit d’aller directement dans la configuration LVM sans choisir le partitionnement RAID.
Démarrage de l’installation
Au démarrage de l’iso, nous allons passer dans les Options avancées afin d’avoir plus de choix.

Pour prendre Graphical expert install :

Dans le menu d’installation, nous allons passer les options une à une :

Installation des langues
Le langage d’installation :

Puis le choix de la langue régionale (« locale » du système) :


C’est ce qui vous donnera (dans une console) une fois le système installé :
~# locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
On peut aussi ajouter d’autres langues régionales, nous n’en mettrons pas ici en choisissant continuer , mais vous pouvez en ajouter comme vous voulez :

On passera sur le braille, et la voix de synthèse, pour arriver à la configuration du clavier :

Nous choisissons Français :

Détection et montage du support d’installations et chargement des composants d’installation
On passe à la suite :

j’utilise une clef USB, donc :



Le chargement des composants d’installation vous permet de choisir les modules que vous voulez pour votre installation (normalement aucun n’est nécessaire pour une installation standard ; j’utilise personnellement fdisk, parted et crypto-dm).

Détection et configuration du réseau
Dans cette partie, l’installateur va détecter votre configuration réseau (en utilisant si nécessaire les firmware) et va réaliser la configuration. Pour la configuration, nous utiliserons le DHCP, mais il est tout à fait possible de configurer manuellement.
Détection :

Configuration :

Pour choisir le DHCP :

On laisse la valeur par défaut :

on attend :

Si on choisit la configuration manuelle :

Avec le choix de l’adresse IP (mettez ici l’adresse qui correspond à votre réseau) :

et le masque de sous-réseau :

Avec la passerelle par défaut :

Le serveur de nom (DNS), ici la box :

Vérification des paramètres avant validation :

On laisse la valeur par défaut :

Et on attend :

On définit ensuite le nom de la machine :

le nom de domaine local si vous en avez un (exemple : net.mondomaine.org), mais on peut le laisser vide :

Définition des utilisateurs :
Certte partie va permettre de définir les utilisateurs suivantr :
Le choix est ici important, ne pas configurer d’utilisateur root impliquera l’utilisation obligatoire de sudo. Ce n’est pas un bon choix, car laisser root sans mot de passe (ce qu’implique de ne pas le définir) est une faille de sécurité.
L’utilisation de sudo systématique est un grand sujet de discussion sur internet dans la communauté Linux. Nous ne participerons pas ici à la discussion, car ce n’est pas l’objet. Mais le choix va être fait de ne pas utiliser sudo (il faudra utiliser su- pour pouvoir lancer des commandes non suid avec les droits administrateurs).

Note : A mon sens, la façon dont l’installateur présente cette configuration est d’ailleurs mal conçu, voir trompeuse.
Autoriser les connexions du super utilisateur :

Définir le mot de passe root :

Toujours créer un utilisateur ordinaire :

Donnez ici le nom complet de votre utilisateur. ATTENTION : ce n’est pas le login de votre utilisateur !

Donnez/validez l’identifiant/login de l’utilisateur (par défaut la valeur correspond au premier mot du nom complet) :

Et donnez son mot de passe :

Configuration de l’horloge
Cette partie va permettre de configurer le synchronisation de l’horloge du système. Celui-ci va pouvoir se synchroniser avec un serveur de temps, local ou sur internet.

Ici vous choisissez si votre horloge sera synchronisée à partir d’un autre serveur :

Utilisez le serveur par défaut de Debian, un autre serveur sur Internet, ou un serveur local si vous en avez un :

Configurez ensuite votre fuseau horaire, ou utiliser le temps UTC :

Détection des disques et partitionnement
Dans cette partie, l’installateur va détecter les disques puis il vous sera permis de configurer les partitions :


Sur un disque qui n’a jamais servi, il va falloir créer une table de partition gpt.

L’installateur vous demande si vous voulez créer une table de partition, vous acceptez :

En choisissant bien sûr gpt (nécessaire pour UEFI) :

Dans le cas où le disque est en msdos ou un autre type de table de partition, il suffit de passer en console et d’effacer la table existante avec la commande dd suivante :

Après chargement des outils, le menu de base de partitionnement vous est proposé :

Nous n’utiliserons pas ici les partitionnements assistés, car ils ne permettent pas de faire la configuration que nous voulons (outre le fait qu’elles ne sont pas toutes bien faites, en particulier le LVM chiffré). Nous choisirons l’option manuelle afin de mieux détailler l’opération :

Voici le menu de partitionnement :

Dans un premier temps, avant de se lancer dans la configuration LVM, nous allons configurer la partition EFI
Nous sélectionnons l’espace libre du disque sur lequel nous allons installer le système :

Pour créer une nouvelle partition :

Pour la partition EFI nous choisirons une taille de 500M (cela peut paraître surdimensionné, mais dans le cas d’une installation multi-boot, il faut plus de place, de même que pour certaines configurations chiffrées ou UEFI). ATTENTION : par défaut, l’installateur vous propose la taille totale du disque !

Cette partition démarre bien évidement au début du disque (toujours pour la partition EFI) :

Ensuite il va falloir donner les paramètres de cette partition EFI :

Les paramètres seront :
- Nom : BOOTEFI
- Utiliser comme : Partition système EFI
Et c’est tout! Nous obtenons :

Nous allons maintenant passer à la configuration LVM:

Il faut appliquer la configuration actuelle :

Ensuite, dans la configuration LVM il faut commencer par créer un groupe de volume (un VG) :

En lui donnant un nom :

Et en spécifiant le périphérique, le groupe physique (PV). Note : Ici c’est mal fait dans l’installateur ; la notion de PV n’est pas très explicite, elle le devrait pourtant. On sélectionne la partie libre/non occupée (free) :

Nous pourrions ici sélectionner plusieurs parties libres, sur plusieurs disques s’il y en avait.
Nous pourrions aussi configurer plusieurs VG.
Avant de lancer le gestionnaire LVM, il faut appliquer la configuration :

Le menu nous permet désormais de configurer les volumes logiques, les LVs (qui sont les partitions sur lesquelles nous appliquerons nos points de montages). Commençons par la première partition, le swap :

Choisissons le VG :

Le nom du volume, ici nous l’appelons swap . Note : Il faut éviter de mettre des noms trop longs. Il n’est pas nécessaire de préciser le VG non plus, car LVM inclura le nom du VG dans le device. Ne jamais mettre de caractères spéciaux dans le nom autre que le souligné « _ ». Comme pour le rasoir d’Occam, le plus simple est toujours le meilleur.

Et enfin la taille :

Je prends les tailles définies en introduction.
Et on passe à la suivante, et ainsi de suite, pour obtenir à la fin en affichant les détails :


Et nous confirmons :

Maintenant, nous allons passer à la configuration des points de montages de chaque partition. ATTENTION : il n’y a rien à faire avec la partition EFI. Sa définition implique de facto le montage de cette partition sur /boot/efi.
Afin de voir les différents paramètres, nous allons commencer par le point de montage /tmp, puis nous aurons un tableau récapitulatif de chaque partition. Nous sélectionnons donc le volume logique tmp :

Nous définissons en premier lieu le type de partition :

Ce sera ext4 :

Nous définissons le point de montage :


NOTE: Si le point de montage n’est pas listé il faut utiliser Autre choix et saisir le point de montage manuellement.
Ensuite les options de montage :

/tmp est une partition à tout faire. De ce fait, nous ne voulons pas permettre qu’il puisse servir pour :
-
un environnement d’exécution : noexec
-
la définition d’un exécutable en suid : nosuid
-
la définition d’un périphérique : nodev
Il faut mettre aussi ces options pour /var/tmp, /var/log, /var/log/audit.
Pour /home et /var, seuls nodev et nosuid seront utilisés.
On va définir une étiquette (ce n’est pas obligatoire mais c’est parfois bien utile). Chaque étiquette devra être unique (nous utiliserons des majuscules, qui permettrons visuellement de différencier celles-ci du nom de LV) :


Et c’est tout :

Le tableau suivant renseigne les paramètres pour chaque partition :
| Noms LV | Filesystem | Points de Montage | Options | Étiquettes |
|-------------|--------------|---------------------|----------------------|-----------------|
| swap | swap | - | - | - |
| boot | ext4 | /boot | - | BOOT |
| root | ext4 | / | - | ROOT |
| home | ext4 | /home |nodev, nosuid | HOME |
| tmp | ext4 | /tmp |nodev, nosuid, noexec | TMP |
| var | ext4 | /var |nodev, nosuid | VAR |
| var_log | ext4 | /var/log |nodev, nosuid, noexec | VARLOG |
|var_log_audit| ext4 |/var/log/audit |nodev, nosuid, noexec | VARLOGAUDIT |
| var_tmp | ext4 | /var/tmp |nodev, nosuid, noexec | VARTMP |
|-------------|--------------|---------------------|----------------------|-----------------|
Une fois tout configuré, nous confirmons :


L’installateur formate alors les partitions et monte celles-ci sur les points de montage.
Installation du système de base
Le système de base va être installé.

Il faut choisir le noyau à installer :

On peut choisir du générique ou du ciblé (lire le texte présenté). Il ne sert à rien de vouloir réduire l’image si on a la place, ça ne se joue qu’à quelques Mo.

Configuration de l’outil de gestion des paquets
Cette partie va nous permettre de configurer les sources.list d’apt et le mode de mise à jour des paquets.

Il n’y a qu’un seul support, pas besoin d’en analyser d’autres :

Nous utiliserons un miroir sur le réseau :

Avec le protocole HTTPS :

Nous devons alors saisir le miroir manuellement :

On laisse les paramètres proposés :

Certains préfèrent mettre ftp.fr.debian.org. Cependant, deb.debian.org permet en cas de panne de ftp.fr.debian de pouvoir se rabattre sur un autre miroir français.
Pas de proxy :

Utiliser les firmwares non-free (non-free-firmware) :

Et accepter les logiciels non-free, quasiment indispensables avec les matériels actuels :

Les sources ne servent à rien si on ne fait pas du packaging :

Accepter les mises à jour, les mises à jour de sécurité et les backports :

Installation des logiciels
L’installation des logiciels consiste en fait à définir quel bureau installer, le SSH, le serveur d’impression. L’installateur procédera aux mises à jour en fonction de la configuration précédente.

Choisir si les mises à jour sont automatiques (je ne fais que des mises à jour manuelles) :

Pas de participation aux études statistiques :

Les choix d’installation : ssh, Cinnamon (comme indiqué dans l’introduction), pas de Gnome. Choisir ici le Bureau que vous voulez :

Installation de Grub
Nous arrivons à la fin de l’installation, il fautr i nstaller el chargeur de démarrage, le bootloader et GRUB :

Nous allons forcer l’installation sure le chemin des supports amovible (option –force-extra-removable). Cela permet au shell UEFI, en cas de besoin, de pouvoir démarrer sur un support amovible comme un CDROM/DVD ou une clef USB, ou une iso (considéré comme un CDROM/DVD) pour la VM.

Dans le cas présent on conserve ce paramètre :

Si on veut du multi-boot et donc dé »tecter les autres OS installés sur la machgine, il faut mettre Oui à ce paramètre :

GRUB est installé et update-grub executé.
Terminer l’installation
C’est fini, l’installation est terminée

L’installateur exécute ses derniers scripts de postinstallation. Donc l’horloge système en UTC ou pas ; sélectionner UTC (l’heure s’ajustera en fonction du fuseau horaire) :

Il ne reste plus qu’à redémarrer :

Et voilà :


Avec un thème spécifique, on peut aussi avoir ça (ça fera peut-être l’objet d’un autre tutoriel) :
