Ajouter post_inst_deb.sh

création
This commit is contained in:
2024-12-15 02:41:56 +01:00
commit 571338901d

179
post_inst_deb.sh Normal file
View File

@@ -0,0 +1,179 @@
#!/bin/bash
# Couleurs pour le texte
GREEN="\e[32m"
RED="\e[31m"
BLUE="\e[34m"
RESET="\e[0m"
# Fonction pour afficher un message de succès
success() {
echo -e "${GREEN}[SUCCESS]${RESET} $1"
}
# Fonction pour afficher un message d'erreur
error() {
echo -e "${RED}[ERROR]${RESET} $1"
}
# Fonction pour mettre à jour et nettoyer le système
update_and_clean_system() {
echo -e "${BLUE}Mise à jour et nettoyage du système...${RESET}"
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y
if [ $? -eq 0 ]; then
success "Mise à jour et nettoyage effectués avec succès."
else
error "Échec de la mise à jour et du nettoyage."
fi
}
# Fonction pour installer et configurer un serveur NFS
install_nfs_server() {
echo -e "${BLUE}Installation et configuration du serveur NFS...${RESET}"
sudo apt install -y nfs-kernel-server
sudo systemctl enable nfs-server
sudo systemctl start nfs-server
if [ $? -eq 0 ]; then
success "Serveur NFS installé et configuré."
else
error "Échec de l'installation du serveur NFS."
fi
}
# Fonction pour installer un client NFS
install_nfs_client() {
echo -e "${BLUE}Installation du client NFS...${RESET}"
sudo apt install -y nfs-common
if [ $? -eq 0 ]; then
success "Client NFS installé."
else
error "Échec de l'installation du client NFS."
fi
}
# Fonction pour installer et configurer un serveur Samba
install_samba_server() {
echo -e "${BLUE}Installation et configuration du serveur Samba...${RESET}"
sudo apt install -y samba
sudo systemctl enable smbd
sudo systemctl start smbd
if [ $? -eq 0 ]; then
success "Serveur Samba installé et configuré."
else
error "Échec de l'installation du serveur Samba."
fi
}
# Fonction pour ajouter l'utilisateur actuel à sudo
add_user_to_sudo() {
echo -e "${BLUE}Ajout de l'utilisateur actuel au groupe sudo...${RESET}"
sudo usermod -aG sudo $USER
if [ $? -eq 0 ]; then
success "Utilisateur ajouté au groupe sudo."
else
error "Échec de l'ajout de l'utilisateur au groupe sudo."
fi
}
# Fonction pour installer Docker avec post-installation
install_docker() {
echo -e "${BLUE}Installation de Docker...${RESET}"
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker
echo -e "${BLUE}Ajout de l'utilisateur actuel au groupe docker...${RESET}"
sudo usermod -aG docker $USER
echo -e "${BLUE}Création d'un dossier pour les conteneurs Docker...${RESET}"
mkdir -p ~/docker/containers
if [ $? -eq 0 ]; then
success "Docker installé et configuré avec succès."
else
error "Échec de l'installation de Docker."
fi
}
# Fonction pour configurer le réseau
configure_network() {
echo -e "${BLUE}Configuration du réseau...${RESET}"
echo -e "1. IP Statique\n2. DHCP\n"
read -p "Choisissez une option (1/2) : " net_choice
case $net_choice in
1)
read -p "Entrez l'adresse IP statique : " ip
read -p "Entrez le masque de sous-réseau (par ex. 255.255.255.0) : " netmask
read -p "Entrez la passerelle : " gateway
read -p "Entrez le DNS (par ex. 8.8.8.8) : " dns
sudo bash -c "cat > /etc/network/interfaces <<EOL
auto eth0
iface eth0 inet static
address $ip
netmask $netmask
gateway $gateway
dns-nameservers $dns
EOL"
sudo systemctl restart networking
success "Réseau configuré en IP statique."
;;
2)
echo -e "${BLUE}Configuration en DHCP...${RESET}"
sudo bash -c "cat > /etc/network/interfaces <<EOL
auto eth0
iface eth0 inet dhcp
EOL"
sudo systemctl restart networking
success "Réseau configuré en DHCP."
;;
*)
error "Option invalide."
;;
esac
}
# Fonction pour installer des outils usuels
install_usual_tools() {
echo -e "${BLUE}Installation des outils usuels...${RESET}"
sudo apt install -y sudo curl git
if [ $? -eq 0 ]; then
success "Outils usuels installés."
else
error "Échec de l'installation des outils usuels."
fi
}
# Menu principal
show_menu() {
echo -e "\n${BLUE}Post-installation Debian : Menu${RESET}"
echo "1. Mise à jour et nettoyage du système"
echo "2. Installation et configuration du serveur NFS"
echo "3. Installation du client NFS"
echo "4. Installation et configuration du serveur Samba"
echo "5. Ajouter l'utilisateur actuel à sudo"
echo "6. Installation de Docker"
echo "7. Configuration du réseau"
echo "8. Installation des outils usuels"
echo "9. Quitter"
echo -n "Choisissez une option : "
}
# Boucle principale
while true; do
show_menu
read -r choice
case $choice in
1) update_and_clean_system ;;
2) install_nfs_server ;;
3) install_nfs_client ;;
4) install_samba_server ;;
5) add_user_to_sudo ;;
6) install_docker ;;
7) configure_network ;;
8) install_usual_tools ;;
9) echo -e "${GREEN}Au revoir !${RESET}" ; exit 0 ;;
*) error "Option invalide, veuillez réessayer." ;;
esac
done