Il fût un temps j’avais essayé d’installer l’application yunohost pgadmin non officielle qui n’a jamais été opérationnelle sur mon serveur. Je me demande si elle n’a pas foutu le bazar dans mes paquets postgresql… J’ai lancé apt install postgresql-server-dev-9.6 et apt install postgresql, le système me répond que les paquets sont déjà installés mais il souhaite toujours effectuer une maj 9.4 à 9.6.
.
Quelqu’un a-t-il une idée ? Le reste du système fonctionne correctement et les maj se font (hors migrations évidemment).
J’imagine que du coup tu n’as pas vraiment d’app qui utilise postgresql … bien que j’n’en soit pas vraiment sur (mais je pense que sinon, le dossier /var/lib/postgresql/9.4 existerait)
A mon avis je tenterais un : apt remove postgresql-9.4
Alors effectivement en dehors d’un serveur plex / des sites web / du torrent / pihole et nextcloud. Aucun utilise postgre sql à ma connaissance. En soi, cela me dérangerait pas si cette migration ne se faisait pas. Par contre je suppose que ça bloque les suivantes? Y a-t-il un moyen de forcer le passage?
J’ai essayé apt remove postgresql-9.4, cela me dit que le paquet n’existe pas. Quand j’essaye de l’installer, on me répond que le paquet n’est pas disponible. Quand je teste apt remove postgresql-9.6, j’ai 3 paquets installés: postgresql postgresql-9.6 postgresql-contrib-9.6.
Bref, quels sont les paquets nécessaires pour que la migration soit réussie?
Hm je réalise que c’est effectivement un bug dans YunoHost dans la façon dont il detecte si un paquet (ici : postgresql-9.4) est installé. J’imagine que si tu fais dpkg --list | grep postgresql-9.4, tu trouves une ligne, mais que celle-ci ne commence pas par ii (au tout début) ?
Je pense que tu peux fixer le bug chez toi de la façon suivante :
Ouvre le fichier correspondant à la migration avec nano /usr/lib/moulinette/yunohost/data_migrations/0005_postgresql_9p4_to_9p6.py
Descend tout en bas pour trouver une ligne qui devrait être :
p = subprocess.Popen("dpkg --list | grep -q -w {}".format(package_name), shell=True)
Modifie cette ligne en rajoutant le | grep "^ii " comme ceci :
Au tooopp! T’es un bon ! :DD ça a presque marché du premier coup!
Il suffisait de retirer les guillemets délimitant ^ii. Donc il suffisait de mettre ceci: