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"
|
echo -e "${RED}[ERROR]${RESET} $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fonction pour mettre à jour et nettoyer le système
|
# Fonctions de vos opérations
|
||||||
update_and_clean_system() {
|
update_and_clean_system() {
|
||||||
echo -e "${BLUE}Mise à jour et nettoyage du système...${RESET}"
|
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
|
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 terminés."
|
||||||
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() {
|
install_nfs_server() {
|
||||||
echo -e "${BLUE}Installation et configuration du serveur NFS...${RESET}"
|
echo -e "${BLUE}Installation et configuration du serveur NFS...${RESET}"
|
||||||
sudo apt install -y nfs-kernel-server
|
sudo apt install -y nfs-kernel-server
|
||||||
sudo systemctl enable nfs-server
|
sudo systemctl enable nfs-server
|
||||||
sudo systemctl start nfs-server
|
sudo systemctl start nfs-server
|
||||||
if [ $? -eq 0 ]; then
|
success "Serveur NFS installé et configuré."
|
||||||
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() {
|
install_nfs_client() {
|
||||||
echo -e "${BLUE}Installation du client NFS...${RESET}"
|
echo -e "${BLUE}Installation du client NFS...${RESET}"
|
||||||
sudo apt install -y nfs-common
|
sudo apt install -y nfs-common
|
||||||
if [ $? -eq 0 ]; then
|
success "Client NFS installé."
|
||||||
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() {
|
install_samba_server() {
|
||||||
echo -e "${BLUE}Installation et configuration du serveur Samba...${RESET}"
|
echo -e "${BLUE}Installation et configuration du serveur Samba...${RESET}"
|
||||||
sudo apt install -y samba
|
sudo apt install -y samba
|
||||||
sudo systemctl enable smbd
|
sudo systemctl enable smbd
|
||||||
sudo systemctl start smbd
|
sudo systemctl start smbd
|
||||||
if [ $? -eq 0 ]; then
|
success "Serveur Samba installé et configuré."
|
||||||
success "Serveur Samba installé et configuré."
|
|
||||||
else
|
|
||||||
error "Échec de l'installation du serveur Samba."
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fonction pour installer sudo et ajouter l'utilisateur actuel au groupe sudo
|
|
||||||
add_user_to_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}"
|
echo -e "${BLUE}Ajout de l'utilisateur actuel au groupe sudo...${RESET}"
|
||||||
sudo adduser "$USER" sudo
|
sudo apt install -y sudo
|
||||||
if [ $? -eq 0 ]; then
|
sudo usermod -aG sudo "$USER"
|
||||||
success "Utilisateur '$USER' ajouté au groupe sudo."
|
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() {
|
install_docker() {
|
||||||
echo -e "${BLUE}Installation de Docker...${RESET}"
|
echo -e "${BLUE}Installation de Docker...${RESET}"
|
||||||
sudo apt install -y docker.io docker-compose
|
sudo apt install -y docker.io docker-compose
|
||||||
sudo systemctl enable docker
|
sudo systemctl enable docker
|
||||||
sudo systemctl start docker
|
sudo systemctl start docker
|
||||||
|
sudo usermod -aG docker "$USER"
|
||||||
echo -e "${BLUE}Ajout de l'utilisateur actuel au groupe docker...${RESET}"
|
success "Docker installé et configuré."
|
||||||
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() {
|
configure_network() {
|
||||||
echo -e "${BLUE}Configuration du réseau...${RESET}"
|
echo -e "${BLUE}Configuration du réseau...${RESET}"
|
||||||
echo -e "1. IP Statique\n2. DHCP\n"
|
echo "À configurer selon vos besoins spécifiques."
|
||||||
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() {
|
install_usual_tools() {
|
||||||
echo -e "${BLUE}Installation des outils usuels...${RESET}"
|
echo -e "${BLUE}Installation des outils usuels...${RESET}"
|
||||||
sudo apt install -y sudo curl git
|
sudo apt install -y curl git
|
||||||
if [ $? -eq 0 ]; then
|
success "Outils usuels installés."
|
||||||
success "Outils usuels installés."
|
|
||||||
else
|
|
||||||
error "Échec de l'installation des outils usuels."
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Menu principal
|
# Menu principal avec `select`
|
||||||
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
|
while true; do
|
||||||
show_menu
|
echo -e "\n${BLUE}Post-installation Debian : Menu${RESET}"
|
||||||
echo -n "Choisissez une option : "
|
select option in \
|
||||||
read -r choice
|
"Mise à jour et nettoyage du système" \
|
||||||
|
"Installation et configuration du serveur NFS" \
|
||||||
# Vérifier si la saisie est vide
|
"Installation du client NFS" \
|
||||||
if [ -z "$choice" ]; then
|
"Installation et configuration du serveur Samba" \
|
||||||
echo "[ERROR] Aucune saisie détectée. Veuillez entrer un chiffre."
|
"Ajouter l'utilisateur actuel à sudo" \
|
||||||
continue
|
"Installation de Docker" \
|
||||||
fi
|
"Configuration du réseau" \
|
||||||
|
"Installation des outils usuels" \
|
||||||
# Debug pour voir ce qui a été saisi
|
"Quitter"; do
|
||||||
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
|
|
||||||
|
|
||||||
|
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