Le fichier yaml de metadata associé aux logs est corrompu : '{md_file}'

Bonjour tout le monde,

Je rencontre ce message bizarre lors de la dernière mise a jour des paquets du système via l’interface d’administration web:
Le fichier yaml de metadata associé aux logs est corrompu : '{md_file}'

Je ne sais pas vraiment si c’est important, et ce que je peux faire pour arranger l’éventuel problème.
Merci a vous pour votre aide.

Matériel: Raspberry Pi 3
YunoHost: 3.6.4.1
J’ai accès à mon serveur : En SSH , par la webadmin et en direct avec un clavier/écran.

Bonjour à tous,

J’ai le même message sur la Briq complètement à jour.

  • Debian 9.9 32bit (Linux 4.14.84-sunxi)
  • yunohost 3.6.4.3 (stable)
  • yunohost-admin 3.6.4 (stable)
  • moulinette 3.6.4 (stable)
  • ssowat 3.6.4 (stable)

Merci!

Uuuh du coup ça ressemble clairement à un bug de yunohost

Suivant si vous savez bidouiller un peu, est-ce que vous pouvez tenter de trouver le fichier correspondant ?

Vous devriez pouvoir le trouver en faisant (en root) :

cd  /var/log/yunohost/categories/operation
ls -thor *.yml
# Puis identifier le fichier contenant le mot "upgrade" et l'afficher avec
cat fichier.yml

(du coup ce qui m’interesse c’est le contenu du fichier .yml pour comprendre pourquoi il ne l’aime pas…)

Alors je vois le plus récent :


args:
  apps: null
  system: true
ended_at: 2019-07-10 13:45:48.252726
error: null
operation: tools_upgrade
related_to: []
started_at: 2019-07-10 13:45:17.591207
success: true

Ça te parle? pour moi, c’est un peu du Volapuk. :face_with_thermometer:

Mah oui, c’est tres clair ! :nerd_face:

Celui là, il a pas l’air corrompu. Ce doit être un autre fichier.

Si tu lance ça tu seras quel est le fichier qu’il faut nous montrer.

Ce programme python charge les librairies yaml et glob, et pour chaque fichier correspondant à /var/log/yunohost/categories/operation/*.yml essaie d’interpréter le fichier yaml. Si ça marche pas, ça affiche “NOM DU FICHIER : Error”

echo "import glob
import yaml
for path in glob.glob('/var/log/yunohost/categories/operation/*.yml'):
    try:
        yaml.load(path)
    except Exception:
        print(path + ': Error')" | python

Chez moi ça donne ça :

args:
  apps: null
  system: true
operation: tools_upgrade
related_to: []
started_at: 2019-07-05 20:49:59.807129
success: true

Je ne suis pas super familier avec python malheureusement.
Si je comprends bien, je dois coller ton code dans un ficher.py ?

Comme ceci :

#! /usr/bin/env python3
# _*_ coding: utf8 _*_

echo "import glob
import yaml
for path in glob.glob('/var/log/yunohost/categories/operation/*.yml'):
    try:
        yaml.load(path)
    except Exception:
        print(path + ': Error')" | python

Ensuite lancer le programme avec la commande:
python3 fichier.py

J’obtiens ceci comme résultat, j’ai du faire un truc faux ^^

  File "yml.py", line 4
    echo "import glob
                    ^
SyntaxError: EOL while scanning string literal

La commande que j’ai donnée est une commande bash qui appelle du python, il faut juste la lancer en entier tel quel.

Je viens d’essayer de la coller telle quelle dans un terminal en root et je n’obtiens aucun résultat … je sais pas si je m’y suis bien pris.

Bonjour,
J’ai eu ce message également, il y a quelques temps, sans que je m’en préoccupe plus que ça !
Pourtant, lorsque je lance ton script : tout a l’air OK.

1 Like

Bon j’ai créé une PR pour qu’à l’avenir on sache de quel fichier il s’agit !

Mais ça reste un mystère si vous lancez ma commande et qu’aucun fichier n’est retourné!

1 Like