# 🐧 Debian Base ![Debian](https://img.shields.io/badge/Debian-server-A81D33?style=for-the-badge&logo=debian&logoColor=white) ![Bash](https://img.shields.io/badge/Bash-script-4EAA25?style=for-the-badge&logo=gnubash&logoColor=white) ![Network](https://img.shields.io/badge/Network-ifupdown-2563EB?style=for-the-badge) ![License](https://img.shields.io/badge/License-AGPLv3-blue?style=for-the-badge) ✨ Scripts utiles pour preparer rapidement une base serveur Debian sans environnement graphique. ## 🎯 Objectif Ce depot contient un script interactif permettant de configurer les premiers parametres d'une machine Debian serveur : - 🏷️ nom de machine - 🌐 adresse IP statique - 🚪 passerelle par defaut - 🧭 serveur(s) DNS Chaque partie est facultative. Il est donc possible de modifier uniquement le hostname, uniquement le reseau, ou les deux. ## 🧰 Fichier principal ```text configure-debian-network.sh ``` Le script cible une installation serveur Debian classique utilisant : - 📄 `/etc/network/interfaces` - ⚙️ le service `networking` - 🔐 une execution en root via `sudo` Il ne vise pas les postes avec NetworkManager, interface graphique ou gestion reseau desktop. ## 🚀 Utilisation ```bash sudo ./configure-debian-network.sh ``` Le script demande les informations une par une : ```text Nom de la machine (laisser vide pour ne pas modifier): Adresse IP avec prefixe CIDR (ex: 192.168.1.50/24, laisser vide pour ne pas modifier le reseau): ``` Exemples de cas d'usage : | Besoin | Action | | --- | --- | | 🏷️ Modifier uniquement le hostname | Renseigner le hostname, laisser l'IP vide | | 🌐 Modifier uniquement le reseau | Laisser le hostname vide, renseigner l'IP | | 🛠️ Modifier hostname et reseau | Renseigner toutes les informations | | 💤 Ne rien changer | Laisser hostname et IP vides | ## 🛟 Sauvegardes Avant modification, le script sauvegarde les fichiers concernes avec un suffixe date : ```text /etc/hostname.bak.YYYYMMDD-HHMMSS /etc/hosts.bak.YYYYMMDD-HHMMSS /etc/network/interfaces.bak.YYYYMMDD-HHMMSS /etc/resolv.conf.bak.YYYYMMDD-HHMMSS ``` Seuls les fichiers necessaires sont sauvegardes selon les options choisies. ## ✅ Validation Verification syntaxique : ```bash bash -n configure-debian-network.sh ``` Verification manuelle recommandee apres execution : ```bash hostnamectl ip addr ip route cat /etc/resolv.conf ``` ## 📝 Notes Debian Le script est adapte aux serveurs Debian minimalistes. Sur une machine utilisant NetworkManager ou systemd-networkd, il faut utiliser le backend reseau correspondant plutot que modifier directement `/etc/network/interfaces`. ## ⚖️ Licence Ce projet est distribue sous licence GNU Affero General Public License v3.0. Voir [LICENSE](LICENSE) pour le texte complet.