Files
Plex-postinst/README.md
2025-07-29 16:36:41 +02:00

107 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📘 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 linstallation 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 quAPT 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 |
---