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
set -euo pipefail
# Couleurs de texte
NOIR='\e[30m'
ROUGE='\e[31m'
@ -26,11 +27,17 @@ CLIGNOTANT='\e[5m'
INVERSE='\e[7m'
NORMAL='\e[0m'
#Vérification des prérequis
echo -e "$BLEU""Vérification si les prérequis sont disponibles""$NORMAL"
LISTE_APPLIS="curl basename php"
BIN_DIR="$HOME/bin"
AUTOPOST_DIR="$HOME/autopost"
# Initialisation
sudook=false
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
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"
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+=("curl basename php")
# Vérifier et installer mediainfo si manquant
if command -v mediainfo > /dev/null 2>&1; then
LISTE_APPLIS+=("mediainfo")
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}"
if $sudook; then
# URLs dans lordre souhaité
urls=(
"https://mediaarea.net/download/binary/libzen0/0.4.41/libzen0v5_0.4.41-1_amd64.Debian_12.deb"
"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
# Vérifier et installer sqlite3 si manquant
@ -56,18 +96,22 @@ if command -v sqlite3 > /dev/null 2>&1; then
LISTE_APPLIS+=("sqlite3")
else
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"
unzip sqlite-tools.zip -d "$BIN_DIR"
if $sudook; then
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
find "$BIN_DIR" -type f -name "sqlite3" -exec mv {} "$BIN_DIR/sqlite3" \;
chmod 777 "$BIN_DIR/sqlite3"
# Nettoyage des fichiers inutiles
rm -rf sqlite-tools.zip "$BIN_DIR/sqlite-tools-linux-x64-3480000" "$BIN_DIR/sqldiff" "$BIN_DIR/sqlite3_analyzer" "$BIN_DIR/sqlite3_rsync"
# Nettoyage des fichiers inutiles
rm -rf sqlite-tools.zip "$BIN_DIR/sqlite-tools-linux-x64-3480000" "$BIN_DIR/sqldiff" "$BIN_DIR/sqlite3_analyzer" "$BIN_DIR/sqlite3_rsync"
LISTE_APPLIS+=("$BIN_DIR/sqlite3")
echo -e "${VERT}sqlite3 installé dans $BIN_DIR${NORMAL}"
LISTE_APPLIS+=("$BIN_DIR/sqlite3")
echo -e "${VERT}sqlite3 installé dans $BIN_DIR${NORMAL}"
fi
fi
# Vérifier et installer jq si manquant
@ -308,3 +352,5 @@ fi
echo "Suppression du script après exécution..."
rm -- "$0"