Ajout Menu Principal

This commit is contained in:
lebartal committed 2026-01-24 14:30:23 +01:00
1 parent 06cadc6535
commit 16d11ca7e0
5 files changed
+77 -26

No files matched your search

+65
View File
@@ -0,0 +1,65 @@
#! /bin/bash
set -eo pipefail
#--------------------------------------------
# Script autoinstallation et configuration Ubuntu/Debian
#--------------------------------------------
function verif_source
{
source=$1
if [[ -f "./sources/${source}" ]]; then
{
. ./sources/${source}
}
else
{
echo "Erreur : Impossible de charger les sources ${source}"
exit 1
}
fi
}
verif_source "fonctions.ksh"
verif_source "couleurs.ksh"
# Recuperation de la distribution
if command -v lsb_release >/dev/null 2>&1; then
systeme=$(lsb_release -d | cut -c 14-)
else
systeme="Inconnu (lsb_release non trouvé)"
fi
#Affichage du Menu
clear
echo -e "${SOULIGNE}===== AUTOINSTALL =====${RESET} \n"
echo -e "Votre Systeme : ${BG_NOIR}${BLEU}${systeme}${RESET}"
echo ""
echo "Que voulez vous faire ? "
echo " [1] - Mettre a jour les paquets"
echo " [2] - Mettre a jour les paquets et le systeme"
echo " [0] - Quitter"
read reponse
case ${reponse} in
1)
maj_depot
;;
2)
maj_systeme
;;
0)
exit
;;
#Autre
*)
echo -e "${ROUGE}merci de repondre${RESET}"
read reponse
;;
esac
+86
View File
@@ -0,0 +1,86 @@
#!/bin/bash
###############################################################
# name: MAJ.ksh
# Description : Automatise les mises a jours Paquets + OS
#
#---------------------------------------------------------------------------
#
# Auteur : LeBartal
#
# Date de création : 19/04/2023
#
###############################################################
# ---------- Couleurs (facultatives) ----------
# Certaines consoles ne supportent pas tput, on prévoit un fallback vide.
RED=$(tput setaf 1 2>/dev/null || printf '')
GREEN=$(tput setaf 2 2>/dev/null || printf '')
YELLOW=$(tput setaf 3 2>/dev/null || printf '')
RESET=$(tput sgr0 2>/dev/null || printf '')
# ---------- Fonction de journalisation ----------
log() {
# $1 = niveau (INFO|OK|ERR)
# $2 = message
case "$1" in
INFO) printf '%b[INFO] %s%b\n' "$YELLOW" "$2" "$RESET" ;;
OK) printf '%b[OK] %s%b\n' "$GREEN" "$2" "$RESET" ;;
ERR) printf '%b[ERROR] %s%b\n' "$RED" "$2" "$RESET" ;;
*) printf '[%s] %s\n' "$1" "$2" ;;
esac
}
# ---------- Wrapper d’exécution de commande ----------
run_cmd() {
# On exécute la commande passée en arguments séparés
# "$@" préserve les espaces éventuels dans chaque argument.
"$@"
rc=$?
if [ $rc -ne 0 ]; then
log ERR "Commande \"$*\" échouée (code $rc)"
exit $rc
else
log OK "Commande \"$*\" réussie"
fi
}
# ---------- Étapes de mise à jour ----------
update_pkg_list() {
log INFO "Mise à jour de la liste des paquets…"
run_cmd apt-get update -y
}
upgrade_installed() {
log INFO "Mise à jour des paquets déjà installés…"
run_cmd apt-get upgrade -y
}
dist_upgrade_os() {
log INFO "Dist-upgrade de l’OS…"
run_cmd apt-get dist-upgrade -y
}
autoremove_obsolete() {
log INFO "Suppression des paquets obsolètes…"
run_cmd apt-get autoremove -y
}
clean_cache() {
log INFO "Nettoyage du cache des paquets…"
run_cmd apt-get clean -y
}
# ---------- Point d’entrée ----------
main()
{
update_pkg_list
upgrade_installed
dist_upgrade_os
autoremove_obsolete
clean_cache
log OK "Mise à jour terminée avec succès."
}
# Lancer le script
main "$@"