Ajout Menu Principal
This commit is contained in:
1 parent
06cadc6535
commit
16d11ca7e0
5 files changed
+77
-26
No files matched your search
Executable
+65
@@ -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
|
||||
@@ -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 "$@"
|
||||
Reference in new issue
Block a user