ajout support sudo
This commit is contained in:
parent
b1e434ac9a
commit
877b612c90
64
install.sh
64
install.sh
@ -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,11 +45,43 @@ 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
|
||||
if $sudook; then
|
||||
# URLs dans l’ordre 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 l’ordre 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"
|
||||
@ -50,17 +89,20 @@ else
|
||||
LISTE_APPLIS+=("$BIN_DIR/mediainfo")
|
||||
echo -e "${VERT}mediainfo installé dans $BIN_DIR${NORMAL}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Vérifier et installer sqlite3 si manquant
|
||||
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"
|
||||
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"
|
||||
|
||||
# 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
|
||||
@ -68,6 +110,8 @@ else
|
||||
|
||||
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"
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user