Problème d'upgrade MariaDB 10.1.41

Bonjour,

Utilisateur satisfait de Yunohost depuis quelques années, je rencontre un problème lors d’une mise à jour sur le paquet mariadb-server.

Je fais des mises à jour régulièrement (ynh sur vps chez Gandi).
Dimanche dernier, mon serveur était HS. Je m’aperçois que je n’avais plus beaucoup de place sur /var, restait 220mo, comme un nigaud j’avais oublié de faire resize2fs après mon dernier redimensionnement et le fs n’utilisait pas tout le disque… Je répare mon erreur, redémarre et tant qu’à faire je lance un apt update/upgrade.

C’est là que les ennuis commencent… Le paquet mariadb-server-10.1 (10.1.41-0+deb9u1) ne veut pas se mettre à jour correctement et le service est down ! Du coup, plus rien ne fonctionne.

Je vous mets un extrait de /var/apt/term.log:

Log started: 2019-09-01  10:31:06
(Lecture de la base de données... 78824 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../base-files_9.9+deb9u10_amd64.deb ...
Dépaquetage de base-files (9.9+deb9u10) sur (9.9+deb9u9) ...
Paramétrage de base-files (9.9+deb9u10) ...
Installation de la nouvelle version du fichier de configuration /etc/debian_version ...
(Lecture de la base de données... 78824 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../mariadb-common_10.1.41-0+deb9u1_all.deb ...
Dépaquetage de mariadb-common (10.1.41-0+deb9u1) sur (10.1.38-0+deb9u1) ...
Paramétrage de mariadb-common (10.1.41-0+deb9u1) ...
(Lecture de la base de données... 78824 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../mariadb-client-core-10.1_10.1.41-0+deb9u1_amd64.deb ...
Dépaquetage de mariadb-client-core-10.1 (10.1.41-0+deb9u1) sur (10.1.38-0+deb9u1) ...
Paramétrage de mariadb-client-core-10.1 (10.1.41-0+deb9u1) ...
(Lecture de la base de données... 78824 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../mariadb-client-10.1_10.1.41-0+deb9u1_amd64.deb ...
Dépaquetage de mariadb-client-10.1 (10.1.41-0+deb9u1) sur (10.1.38-0+deb9u1) ...
Paramétrage de mariadb-client-10.1 (10.1.41-0+deb9u1) ...
(Lecture de la base de données... 78824 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../mariadb-server-10.1_10.1.41-0+deb9u1_amd64.deb ...
/var/lib/mysql: found previous version 10.1
Dépaquetage de mariadb-server-10.1 (10.1.41-0+deb9u1) sur (10.1.38-0+deb9u1) ...
Préparation du dépaquetage de .../mariadb-server-core-10.1_10.1.41-0+deb9u1_amd64.deb ...
Dépaquetage de mariadb-server-core-10.1 (10.1.41-0+deb9u1) sur (10.1.38-0+deb9u1) ...
Paramétrage de mariadb-server-core-10.1 (10.1.41-0+deb9u1) ...
(Lecture de la base de données... 78824 fichiers et répertoires déjà installés.)

Jusque là tout va bien, on voit que j’étais déjà en 10.1, certains paquets mariadb passent bien. Ensuite ça se passe sans erreur sur d’autres paquets puis:

Préparation du dépaquetage de .../mariadb-server_10.1.41-0+deb9u1_all.deb ...
Dépaquetage de mariadb-server (10.1.41-0+deb9u1) sur (10.1.38-0+deb9u1) ...
Paramétrage de mariadb-server-10.1 (10.1.41-0+deb9u1) ...
dpkg: erreur de traitement du paquet mariadb-server-10.1 (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
dpkg: des problèmes de dépendances empêchent la configuration de mariadb-server :
 mariadb-server dépend de mariadb-server-10.1 (>= 10.1.41-0+deb9u1) ; cependant :
 Le paquet mariadb-server-10.1 n'est pas encore configuré.

dpkg: erreur de traitement du paquet mariadb-server (--configure) :
 problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
 mariadb-server-10.1
 mariadb-server
Log ended: 2019-09-01  10:33:04

Mon premier réflexe a été de relancer “dpkg --configure mariadb-server-10.1” mais en plus des erreurs déjà présente dans le logs j’ai celle-ci:

error: bad index file sha1 signature
fatal: index file corrupt

Quand je googlise ces messages d’erreurs je tombe sur des contexts d’index git corrompu. Je ne vois pas le rapport avec apt/dpkg…

J’ai essayé de forcer l’install, de désinstaller, etc, rien à faire, je reste bloqué avec mon paquet mariadb-server à moitié installé.

Avez-vous des conseils ?

J’ai réussi à m’en sortir en repartant d’un /var/lib/mysql vide… dpkg --configure -a a terminé l’upgrade. Le service MariaDB s’est relancé.

J’ai ensuite arrêté le service, replacé les bases dans le répertoire et relancé le service. Status: Ok ! Diantre !

Du coup, j’ai réinstallé yunohost et yunohost-admin (qui avait sautés quand j’ai forcé la désinstall de MariaDB). J’ai pu me connecté avec mon user/passwd, je n’ai pas l’impression d’avoir perdu de données, tout à l’air de fonctionner.

Derniers pb:
1 - lorsque je refais un update/upgrade j’ai toujours les 2 messages d’erreurs (bad index file sha1 signature/index file corrupt) mais ça passe…???
2 - lorsque j’ai voulu allé dans l’interface d’admin yunohost, j’ai eu droit au script d’init (avez-vous déjà un nom de domaine, etc). Je ne suis pas allé plus loin ne sachant pas si le script va retrouver ses p’tits ou tout m’écraser (sous-domaine, users, etc).

Si quelqu’un a des infos je prends ! Merci.

Ben si tu as la page de postinstall, ça veux dire que le fichier /etc/yunohost/installed n’est pas là.
Tu peux essayer de le créer toi même touch /etc/yunohost/installed, mais si tu as perdu ce fichier peut être que ta base ldap a été désinstallé…
Si tu met le fichier, que dit yunohost user list (est ce que c’est vide ?)

Merci de ta réponse !

Ça me renvoie la liste de mes users.
Ça ne me parait pas illogique étant donné que je peux toujours me connecter avec mon user, sso fonctionne bien pour moi.

Penses-tu que je peux laisser ce fichier et aller voir dans l’interface d’admin voir ce qu’elle dit ?

ps: yunohost domain list me retourne la liste des domaines…

Du coup, j’ai laissé le fichier /etc/yunohost/installed et suis allé faire un tour dans l’interface d’admin, ça semble correct.

Question: comment ce fichier a pu sauter alors que je n’ai pas fait de --purge lorsque les paquets yunohost et yunohost-admin ont été désinstallés ?

Parce que c’est codé comme ça:

Mais je ne sais pas si c’est normal…

Ok ceci explique cela. Merci de tes réponses !

Bon… Impossible de faire les maj des appli depuis l’interface admin. J’ai essayé dokuwiki, échec, nexcloud (j’avais une version de retard donc maj vers 14 puis 15), échec… C’est la lose !

Dans le log de la maj nextcloud je vois ça:

2019-09-05 19:15:16,479: DEBUG - 213221 Creating config file /etc/php/7.0/mods-available/zip.ini with new **********
2019-09-05 19:15:16,682: DEBUG - 213421 /bin/bash: BASH_XTRACEFD: 7: invalid value for trace file descriptor
2019-09-05 19:15:17,486: DEBUG - 214224 Processing triggers for libc-bin (2.24-11+deb9u4) ...
2019-09-05 19:15:17,587: DEBUG - 214325 Setting up php-zip (1:7.0+49) ...
2019-09-05 19:15:17,688: DEBUG - 214429 Processing triggers for php7.0-fpm (7.0.33-0+deb9u3) ...
2019-09-05 19:15:19,503: DEBUG - 216144 + [[ -n /tmp/tmp.K17lYuAPzm ]]
2019-09-05 19:15:19,503: WARNING - 216144 error: bad index file sha1 signature
2019-09-05 19:15:19,504: DEBUG - 216144 + rm -rf /tmp/tmp.K17lYuAPzm
2019-09-05 19:15:19,504: WARNING - 216144 fatal: index file corrupt
2019-09-05 19:15:19,504: DEBUG - 216144 + ynh_package_is_installed nextcloud-ynh-deps

Toujours ces histoires d’index de fichier corrompus. Je précise que j’ai déjà fait un redémarrage avec forçage fsck ( shutdown -rF now si je dis pas de connerie).

Et à la fin:

2019-09-05 19:15:29,332: ERROR - Impossible de mettre à jour nextcloud

Punaise je me dirige de plus en plus vers une réinstall et transfert des données. Fait chier !

Arf. Je m’aperçois que mon système de fichiers racine n’a pas été vérifié depuis des lustres (j’ai var et home sur des disques séparés ils sont ok) et j’ai plein de fichiers chelous à la racine (0 ko, 1er janvier 1970, nom de fichier avec caractères à la noix).

Je me demande si ça vaut le coup d’essayer de récupérer le coup ou si j’ai meilleur temps de réinstallé une base propre et de refaire pointer var et home sur mes disques actuels…

J’ai trouvé le coupable: /etc/.git/index corrompu !