bug 3
This commit is contained in:
176
post_inst_deb.sh
176
post_inst_deb.sh
@@ -16,195 +16,77 @@ error() {
|
||||
echo -e "${RED}[ERROR]${RESET} $1"
|
||||
}
|
||||
|
||||
# Fonction pour mettre à jour et nettoyer le système
|
||||
# Fonctions de vos opérations
|
||||
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
|
||||
success "Mise à jour et nettoyage terminés."
|
||||
}
|
||||
|
||||
# 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
|
||||
success "Serveur NFS installé et configuré."
|
||||
}
|
||||
|
||||
# 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
|
||||
success "Client NFS installé."
|
||||
}
|
||||
|
||||
# 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
|
||||
success "Serveur Samba installé et configuré."
|
||||
}
|
||||
|
||||
# Fonction pour installer sudo et ajouter l'utilisateur actuel au groupe sudo
|
||||
add_user_to_sudo() {
|
||||
echo -e "${BLUE}Installation et configuration de sudo...${RESET}"
|
||||
|
||||
# Vérifier si sudo est installé, sinon l'installer
|
||||
if ! dpkg -l | grep -q sudo; then
|
||||
echo -e "${BLUE}Installation de sudo...${RESET}"
|
||||
su - -c "apt update && apt install -y sudo"
|
||||
if [ $? -eq 0 ]; then
|
||||
success "Sudo installé avec succès."
|
||||
else
|
||||
error "Échec de l'installation de sudo."
|
||||
return
|
||||
fi
|
||||
else
|
||||
success "Sudo est déjà installé."
|
||||
fi
|
||||
|
||||
# Ajouter l'utilisateur actuel au groupe sudo
|
||||
echo -e "${BLUE}Ajout de l'utilisateur actuel au groupe sudo...${RESET}"
|
||||
sudo adduser "$USER" sudo
|
||||
if [ $? -eq 0 ]; then
|
||||
success "Utilisateur '$USER' ajouté au groupe sudo."
|
||||
else
|
||||
error "Échec de l'ajout de l'utilisateur au groupe sudo."
|
||||
fi
|
||||
sudo apt install -y sudo
|
||||
sudo usermod -aG sudo "$USER"
|
||||
success "Utilisateur ajouté au groupe sudo."
|
||||
}
|
||||
|
||||
|
||||
# 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
|
||||
sudo usermod -aG docker "$USER"
|
||||
success "Docker installé et configuré."
|
||||
}
|
||||
|
||||
# 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
|
||||
echo "À configurer selon vos besoins spécifiques."
|
||||
}
|
||||
|
||||
# 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
|
||||
sudo apt install -y curl git
|
||||
success "Outils usuels installés."
|
||||
}
|
||||
|
||||
# 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
|
||||
# Menu principal avec `select`
|
||||
while true; do
|
||||
show_menu
|
||||
echo -n "Choisissez une option : "
|
||||
read -r choice
|
||||
|
||||
# Vérifier si la saisie est vide
|
||||
if [ -z "$choice" ]; then
|
||||
echo "[ERROR] Aucune saisie détectée. Veuillez entrer un chiffre."
|
||||
continue
|
||||
fi
|
||||
|
||||
# Debug pour voir ce qui a été saisi
|
||||
echo "DEBUG: Vous avez saisi : '$choice'"
|
||||
|
||||
# Gérer les choix
|
||||
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 ;;
|
||||
*) echo "[ERROR] Option invalide, veuillez réessayer." ;;
|
||||
esac
|
||||
done
|
||||
echo -e "\n${BLUE}Post-installation Debian : Menu${RESET}"
|
||||
select option in \
|
||||
"Mise à jour et nettoyage du système" \
|
||||
"Installation et configuration du serveur NFS" \
|
||||
"Installation du client NFS" \
|
||||
"Installation et configuration du serveur Samba" \
|
||||
"Ajouter l'utilisateur actuel à sudo" \
|
||||
"Installation de Docker" \
|
||||
"Configuration du réseau" \
|
||||
"Installation des outils usuels" \
|
||||
"Quitter"; do
|
||||
|
||||
case $REPLY in
|
||||
1) update_and_clean_system ; break ;;
|
||||
2) install_nfs_server ; break ;;
|
||||
3) install_nfs_clie
|
||||
|
||||
Reference in New Issue
Block a user