From 4d9106d93587370abad56ac5ee0ea6efdedb91f8 Mon Sep 17 00:00:00 2001 From: Ssyleric <47066760+Ssyleric@users.noreply.github.com> Date: Tue, 29 Jul 2025 16:36:41 +0200 Subject: [PATCH] Update README.md --- README.md | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ce9ed9e..b122a72 100644 --- a/README.md +++ b/README.md @@ -1 +1,106 @@ -# Plex-postinst \ No newline at end of file +# 📘 README — Sauvegarde et restauration du script Plex `postinst` corrigé + +## 📂️ Objectif + +Ce fichier décrit : + +* ✅ Comment **sauvegarder** le script corrigé (`postinst`) de `plexmediaserver` +* ♻️ Comment le **restaurer automatiquement** si Plex est à nouveau cassé après un `apt upgrade` + +### ⚠️ Pourquoi Plex est cassé ? + +Le paquet `.deb` officiel de Plex comporte un script `postinst` mal conçu : + +* Il fait des comparaisons `-eq`, `-gt`, `=` sur des variables non initialisées +* Il échoue silencieusement avec des erreurs comme `[: -eq: unary operator expected]` ou `usermod: user '' does not exist` +* Il termine par `exit 255` même après une installation réussie + +Ce README documente le correctif appliqué pour rendre l’installation fonctionnelle malgré ces défauts. + +--- + +## ✅ 1. Sauvegarde du script `postinst` corrigé + +Après avoir patché et validé l'installation de Plex, il est **essentiel de sauvegarder la version fonctionnelle du script** : + +```bash +cp /var/lib/dpkg/info/plexmediaserver.postinst /root/plexmediaserver.postinst.patched +``` + +Ce fichier servira de référence propre pour toutes restaurations futures. + +--- + +## 🛠️ 2. Script de restauration automatique + +Un script est placé dans : + +```bash +/home/scripts/repatch-plex.sh +``` + +Ce script permet de **restaurer automatiquement le script corrigé** et de relancer la configuration de Plex. + +### 📄 Contenu du script + +```bash +#!/bin/bash + +PATCHED="/root/plexmediaserver.postinst.patched" +TARGET="/var/lib/dpkg/info/plexmediaserver.postinst" + +echo "🔍 Vérification des fichiers..." +if [ ! -f "$PATCHED" ]; then + echo "❌ Patch introuvable : $PATCHED" + exit 1 +fi + +echo "🩹 Restauration du script postinst corrigé..." +cp "$PATCHED" "$TARGET" +chmod 755 "$TARGET" + +echo "🚀 Reconfiguration du paquet plexmediaserver..." +dpkg --configure plexmediaserver + +echo "✅ Script postinst restauré et Plex reconfiguré." +``` + +### ✅ Rendre le script exécutable + +```bash +chmod +x /home/scripts/repatch-plex.sh +``` + +--- + +## ♻️ 3. En cas de mise à jour future cassée + +Si `apt upgrade` brise de nouveau Plex (`exit 255`, erreurs de script, etc.) : + +```bash +bash /home/scripts/repatch-plex.sh +``` + +Cela restaure immédiatement un `plexmediaserver` fonctionnel sans perte de données ni réinstallation. + +--- + +## 🔒 4. Protection recommandée + +Pour éviter qu’APT ne casse à nouveau Plex automatiquement : + +```bash +apt-mark hold plexmediaserver +``` + +--- + +## 📦 Fichiers en jeu + +| Fichier | Rôle | +| --------------------------------------------- | ------------------------------------------------------------ | +| `/var/lib/dpkg/info/plexmediaserver.postinst` | Script original utilisé à chaque installation ou mise à jour | +| `/root/plexmediaserver.postinst.patched` | Version corrigée et fonctionnelle | +| `/home/scripts/repatch-plex.sh` | Script de restauration automatique | + +---