URL: https://linuxfr.org/forums/linux-debian-ubuntu/posts/resolu-mais-surement-perfectible-mint-derivee-et-installation-par-preseed Title: [RÉSOLU - mais sûrement perfectible] MINT (dérivée) et installation par preseed Authors: cévhé Date: 2026年05月28日T00:49:08+02:00 License: CC By-SA Tags: linux_mint et preseed Score: 2 Bonsoir, sur la base d'une MINT (légèrement) modifiée pour le [projet NIRD](https://nird.forge.apps.education.fr/) j'essaye de bricoler un mécanisme d'installation le plus automatique possible. Testé sur machines réelles et en machine virtuelle, ça semble commencer à tomber en marche. principe : un script bash permet, après un minimum d'interactivité, le lancement de l'insatll par `ubiquity` Reste un point sur lequel je bloque : la fenêtre de sélection du disque d'installation apparait quoi que je fasse. Est-ce que quelqu'un sait comment la contourner ? Le script : ```bash #/bin/bash # Fichier et répertoire SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SEED_FILE="$SCRIPT_DIR/test2.seed" if [ ! -f "$SEED_FILE" ]; then echo "ERREUR : fichier $SEED_FILE introuvable (doit être dans le même répertoire)." exit 1 fi # détection du disque interne en exluant les clés USB etc. DISK=$(lsblk -d -o NAME,TYPE,RM | grep "disk" | grep " 0$" | head -1 | awk '{print "/dev/"1ドル}') if [ -z "$DISK" ]; then echo "ERREUR : aucun disque interne détecté. Abandon." exit 1 fi DISK_INFO=$(lsblk -d -o NAME,SIZE,MODEL | grep "$(basename $DISK)" | awk '{print 2,ドル 3,ドル 4,ドル 5ドル}') # Nom unique (précaution utile ?) ALEA=$(head -c 3 /dev/urandom | xxd -p | tr '[:lower:]' '[:upper:]') HOSTNAME="NIRD-$ALEA" # Avertissement avec sauve qui peut echo "Installation automatique de linux NIRD" echo "" echo " Disque cible : $DISK" echo " ($DISK_INFO)" echo " Nom provisoire du poste : $HOSTNAME" echo "" echo "ATTENTION : TOUTES LES DONNÉES SERONT EFFACÉES (mode bourrin)" for i in 10 9 8 7 6 5 4 3 2; do echo -ne " Démarrage dans $i secondes... [Ctrl+C pour annuler] \r" sleep 1 done echo -ne " Démarrage dans 1 seconde... [Ctrl+C pour annuler] \r" sleep 1 echo "" echo " Trop tard, c'est parti..." echo "" # nettoyage du disque sudo swapoff -a 2>/dev/null sudo umount ${DISK}* 2>/dev/null || true sudo wipefs -a $DISK sudo sgdisk --zap-all $DISK sudo dd if=/dev/zero of=$DISK bs=1M count=100 2>/dev/null sudo partprobe $DISK 2>/dev/null || true sleep 2 # copie du preseed et edition du fichier pour le disque détecté + hostname cp "$SEED_FILE" /tmp/preseed-auto.seed sed -i "s|/dev/DISK|$DISK|g" /tmp/preseed-auto.seed sed -i "s|HOSTNAME|$HOSTNAME|g" /tmp/preseed-auto.seed # Chargement et lancement sudo debconf-set-selections /tmp/preseed-auto.seed sudo ubiquity --automatic gtk_ui ``` et le fichier `test2.seed` : ``` # L10n d-i debian-installer/locale string fr_FR d-i time/zone string Europe/Paris d-i console-setup/layoutcode string fr # Codec non free ubiquity ubiquity/use_nonfree boolean true # passw demandé sur les postes réels # à tester avec une vraie machine # Clavier Fr d-i console-setup/ask_detect boolean false d-i keyboard-configuration/layoutcode string fr # Disque d'nstallation : la chaine /dev/DISK sera remplacée à la volée partman-auto partman-auto/method string regular partman-auto partman-auto/init_automatically_partition select Guided - use entire disk partman-auto partman-auto/disk string /dev/DISK partman-lvm partman-lvm/device_remove_lvm boolean true partman-lvm partman-lvm/confirm boolean true partman-lvm partman-lvm/confirm_nooverwrite boolean true partman-md partman-md/device_remove_md boolean true partman-md partman-md/confirm_nooverwrite boolean true partman partman/confirm boolean true partman partman/confirm_nooverwrite boolean true partman-partitioning partman-partitioning/confirm_new_label boolean true partman-partitioning partman-partitioning/confirm_write_new_label boolean true grub-installer grub-installer/bootdev string /dev/DISK # compte utilisateur d-i passwd/user-fullname string prn d-i passwd/username string prn d-i passwd/user-password password censuré d-i passwd/user-password-again password censuré # non ce n'est pas le vrai mot de passe et il y a moyen de faire ça propre en l'encodant d-i passwd/auto-login boolean false # nom provisoire du poste d-i netcfg/get_hostname string HOSTNAME ``` `ubiquity` est lancé correctement et les différentes étapes se déroulent de façon automatique sauf la fenêtre de sélection du disque Edit : c'est cette fenêtre que je veux rendre silencieuse 