1
0

ajout support sudo

This commit is contained in:
unfr 2025-05-14 19:35:49 +02:00
parent b1e434ac9a
commit 877b612c90

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -euo pipefail
# Couleurs de texte # Couleurs de texte
NOIR='\e[30m' NOIR='\e[30m'
ROUGE='\e[31m' ROUGE='\e[31m'
@ -26,11 +27,17 @@ CLIGNOTANT='\e[5m'
INVERSE='\e[7m' INVERSE='\e[7m'
NORMAL='\e[0m' NORMAL='\e[0m'
#Vérification des prérequis
echo -e "$BLEU""Vérification si les prérequis sont disponibles""$NORMAL" # Initialisation
LISTE_APPLIS="curl basename php" sudook=false
BIN_DIR="$HOME/bin"
AUTOPOST_DIR="$HOME/autopost" if sudo -n true 2>/dev/null; then
# On peut faire sudo sans mot de passe (ticket sudo en cours ou NOPASSWD)
sudook=true
else
# Ni root ni sudo dispo
sudook=false
fi
# Vérifier si le dossier bin existe, sinon le créer # Vérifier si le dossier bin existe, sinon le créer
echo -e "$BLEU""Vérification de la présence du dossier bin""$NORMAL" echo -e "$BLEU""Vérification de la présence du dossier bin""$NORMAL"
@ -38,17 +45,50 @@ if [ ! -d "$BIN_DIR" ]; then
mkdir -p "$BIN_DIR" mkdir -p "$BIN_DIR"
fi fi
#Vérification des prérequis
echo -e "$BLEU""Vérification si les prérequis sont disponibles""$NORMAL"
BIN_DIR="$HOME/bin"
AUTOPOST_DIR="$HOME/autopost"
LISTE_APPLIS=() LISTE_APPLIS=()
LISTE_APPLIS+=("curl basename php")
# Vérifier et installer mediainfo si manquant # Vérifier et installer mediainfo si manquant
if command -v mediainfo > /dev/null 2>&1; then if command -v mediainfo > /dev/null 2>&1; then
LISTE_APPLIS+=("mediainfo") LISTE_APPLIS+=("mediainfo")
else else
echo -e "${ROUGE}mediainfo est manquant. Installation en cours...${NORMAL}" if $sudook; then
curl -L -o "$BIN_DIR/mediainfo" "https://mediaarea.net/download/binary/mediainfo/20.09/mediainfo-20.09.glibc2.3-x86_64.AppImage" # URLs dans lordre souhaité
chmod 777 "$BIN_DIR/mediainfo" urls=(
LISTE_APPLIS+=("$BIN_DIR/mediainfo") "https://mediaarea.net/download/binary/libzen0/0.4.41/libzen0v5_0.4.41-1_amd64.Debian_12.deb"
echo -e "${VERT}mediainfo installé dans $BIN_DIR${NORMAL}" "https://mediaarea.net/download/binary/libmediainfo0/25.04/libmediainfo0v5_25.04-1_amd64.Debian_12.deb"
"https://mediaarea.net/download/binary/mediainfo/25.04/mediainfo_25.04-1_amd64.Debian_12.deb"
)
# Télécharger
for url in "${urls[@]}"; do
wget -q "$url"
done
# Extraire les noms de fichiers, dans le même ordre
files=("${urls[@]##*/}")
# Installer dans lordre défini
for pkg in "${files[@]}"; do
sudo dpkg -i "$pkg"
done
# Nettoyer
rm -f "${files[@]}"
LISTE_APPLIS+=("mediainfo")
echo -e "${VERT}mediainfo installé${NORMAL}"
else
echo -e "${ROUGE}mediainfo est manquant. Installation en cours...${NORMAL}"
curl -L -o "$BIN_DIR/mediainfo" "https://mediaarea.net/download/binary/mediainfo/20.09/mediainfo-20.09.glibc2.3-x86_64.AppImage"
chmod 777 "$BIN_DIR/mediainfo"
LISTE_APPLIS+=("$BIN_DIR/mediainfo")
echo -e "${VERT}mediainfo installé dans $BIN_DIR${NORMAL}"
fi
fi fi
# Vérifier et installer sqlite3 si manquant # Vérifier et installer sqlite3 si manquant
@ -56,18 +96,22 @@ if command -v sqlite3 > /dev/null 2>&1; then
LISTE_APPLIS+=("sqlite3") LISTE_APPLIS+=("sqlite3")
else else
echo -e "${ROUGE}sqlite3 est manquant. Installation en cours...${NORMAL}" echo -e "${ROUGE}sqlite3 est manquant. Installation en cours...${NORMAL}"
curl -L -o sqlite-tools.zip "https://www.sqlite.org/2025/sqlite-tools-linux-x64-3480000.zip" if $sudook; then
unzip sqlite-tools.zip -d "$BIN_DIR" sudo apt install sqlite3
LISTE_APPLIS+=("sqlite3")
echo -e "${VERT}sqlite3 installé${NORMAL}"
else
curl -L -o sqlite-tools.zip "https://www.sqlite.org/2024/sqlite-tools-linux-x64-3470000.zip"
unzip sqlite-tools.zip -d "$BIN_DIR"
chmod 777 "$BIN_DIR/sqlite3"
# Recherche et déplacement du binaire sqlite3 uniquement # Nettoyage des fichiers inutiles
find "$BIN_DIR" -type f -name "sqlite3" -exec mv {} "$BIN_DIR/sqlite3" \; rm -rf sqlite-tools.zip "$BIN_DIR/sqlite-tools-linux-x64-3480000" "$BIN_DIR/sqldiff" "$BIN_DIR/sqlite3_analyzer" "$BIN_DIR/sqlite3_rsync"
chmod 777 "$BIN_DIR/sqlite3"
# Nettoyage des fichiers inutiles LISTE_APPLIS+=("$BIN_DIR/sqlite3")
rm -rf sqlite-tools.zip "$BIN_DIR/sqlite-tools-linux-x64-3480000" "$BIN_DIR/sqldiff" "$BIN_DIR/sqlite3_analyzer" "$BIN_DIR/sqlite3_rsync" echo -e "${VERT}sqlite3 installé dans $BIN_DIR${NORMAL}"
LISTE_APPLIS+=("$BIN_DIR/sqlite3") fi
echo -e "${VERT}sqlite3 installé dans $BIN_DIR${NORMAL}"
fi fi
# Vérifier et installer jq si manquant # Vérifier et installer jq si manquant
@ -308,3 +352,5 @@ fi
echo "Suppression du script après exécution..." echo "Suppression du script après exécution..."
rm -- "$0" rm -- "$0"