====== 🐳 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 =====
{{fa>clipboard}} Cliquez dans le bloc ci-dessous pour copier le script complet :
#!/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 < /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`
----
**Auteur :** [[utilisateur:votrenom]]
**Dernière mise à jour :** {{date}}