serveur_maison:postinstall_debian-trixie
Ceci est une ancienne révision du document !
Table des matières
🐳 Script post-installation VM Debian Trixie
Ce script Bash permet de configurer automatiquement une VM Debian Trixie fraîchement déployée sur Misère.
Il effectue les actions suivantes :
- 💾 Fixe une adresse IP statique en `192.168.77.xxx` avec une interface en ligne de commande
- 🐳 Installe Docker
- 🛠️ Installe les outils utiles : `btop`, `eza`, `duf`, `bat`, `vim`, `curl`, `git`
- ⚙️ Configure les aliases Bash suivants :
- `ll = eza -l`
- `la = eza -A`
- `dufhide = duf –hide special`
- `bat = batcat`
- 🎨 Applique un prompt Bash coloré
▶️ Script complet
clipboard Cliquez dans le bloc ci-dessous pour copier le script complet :
- postinstall-vm-debian-trixie.sh
#!/bin/bash set -e if [ "$EUID" -ne 0 ]; then echo "❌ Veuillez exécuter ce script en tant que root." exit 1 fi read -p "👉 Entrez l'adresse IP statique à assigner (ex: 192.168.77.42): " STATIC_IP NETMASK="255.255.255.0" GATEWAY="192.168.77.254" DNS_SERVERS=$(grep -m1 ^nameserver /etc/resolv.conf | awk '{print $2}') [ -z "$DNS_SERVERS" ] && DNS_SERVERS="1.1.1.1 8.8.8.8" IFACE=$(ip -o -4 route show to default | awk '{print $5}') if [ -z "$IFACE" ]; then echo "❌ Impossible de détecter l'interface réseau." exit 1 fi echo "➡️ Interface détectée : $IFACE" mkdir -p /etc/systemd/network cat > /etc/systemd/network/20-static.network <<EOF [Match] Name=$IFACE [Network] Address=$STATIC_IP/24 Gateway=$GATEWAY DNS=$DNS_SERVERS EOF systemctl disable --now networking || true systemctl enable systemd-networkd systemctl restart systemd-networkd echo "✅ IP statique configurée sur $IFACE : $STATIC_IP" echo "🐳 Installation de Docker..." apt update && apt install -y ca-certificates curl gnupg lsb-release install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | \ gpg --dearmor -o /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null apt update apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin systemctl enable docker systemctl start docker CURRENT_USER=$(logname) usermod -aG docker "$CURRENT_USER" echo "🛠️ Installation des outils système..." apt install -y btop git curl vim bat duf eza BASHRC="/home/$CURRENT_USER/.bashrc" echo "💡 Configuration des alias et du prompt dans $BASHRC..." cat >> "$BASHRC" <<'EOT' # 🌈 Aliases personnalisés alias ll="eza -l" alias la="eza -A" alias dufhide="duf --hide special" alias bat="batcat" # 🎨 Prompt coloré minimal PS1='\[\e[1;32m\]\u@\h:\[\e[0;36m\]\w\[\e[0m\]\$ ' EOT chown "$CURRENT_USER:$CURRENT_USER" "$BASHRC" echo "" echo "✅ Réseau statique OK, Docker installé, outils ajoutés" echo "ℹ️ Déconnexion + reconnexion recommandée." read -p "🔁 Redémarrer maintenant ? (o/N): " confirm if [[ "$confirm" =~ ^[oO]$ ]]; then reboot fi
📌 Notes
- 💡 Le script est conçu pour des VMs en réseau local (pas de configuration SSH ou firewall)
- 🔧 `systemd-networkd` est utilisé à la place du DHCP
- ⚙️ Les changements de `.bashrc` s’appliquent après reconnexion de l’utilisateur
- 🐳 Docker fonctionne sans `sudo` grâce au groupe `docker`
serveur_maison/postinstall_debian-trixie.1752519698.txt.gz · Dernière modification : 2025/07/14 19:01 de jpg