Paquet non valide ou corrompu

Bonjour/Bonsoir,

Je n’arrive pas à mettre à jour Manjaro en ligne de commande ou via pacman à cause de l’erreur suivante :

avertissement : les métadonnées pour le paquet sdl2-2.0.14-1 n’ont pas pu être totalement chargées.
erreur : la préparation de la transaction a échoué (paquet non valide ou corrompu)

J’ai essayé de remplacer les clés Arch et Manjaro, pacman -Syyu, -Sc et -Qqk indique :
erreur : l’ouverture du fichier /var/lib/pacman/local/sdl2-2.0.14-1/files a échoué : Aucun fichier ou dossier de ce type

Si quelqu’un à une idée… Merci d’avance :slight_smile:

Bonsoir,

Actualise la liste de miroirs du gestionnaire de paquets, redémarre ton système et relance le processus des mises à jour. Guytoo

Si l’upgrade mirrors ne founctionne pas et t’as toujours l’erreur les fichiers sont probablement corrompus.
Juste pour etre sur essaye d’executer :
sudo pacman-mirrors --fasttrack && sudo pacman -Syyu
Si l’erreur continue essaye le guide suivant :

https://archived.forum.manjaro.org/t/error-could-not-open-file-var-lib-pacman-local-desc-files-mtree-no-such-file-or-directory/84804

Dans le cas ou le probleme n’est toujours pas résolu essaye de poster les logs de pacman (/var/log/pacman.log)

1 Like

Il ne trouve pas la cible quand j’essaie sudo pacman -S sdl2-2.0.14-1

le nom est sdl2 :wink:

résolution des dépendances…
recherche des conflits entre paquets…
erreur : l’ouverture du fichier /var/lib/pacman/local/sdl2-2.0.14-1/files a échoué
: Aucun fichier ou dossier de ce type
avertissement : les métadonnées pour le paquet sdl2-2.0.14-1 n’ont pas pu être tot
alement chargées.
erreur : la préparation de la transaction a échoué (paquet non valide ou corrompu)

Pacman.log :

oui, même erreur car tu n’as pas fait ce qui était indiqué dans le lien …

sinon tu peux peut être (si paquet dans cache) aussi réparer d’une façon plus propre avec

sudo pacman -U --dbonly /var/cache/pacman/pkg/sdl2-2.0.14-1-x86_64.pkg.tar.zst
chargement des paquets…
erreur : '/var/cache/pacman/pkg/sdl2-2.0.14-1-x86_64.pkg.tar.zst': impossible de trouver ou de lire le paquet

Je dois faire une erreur quelque part :

résolution des dépendances…
recherche des conflits entre paquets…
erreur : l’ouverture du fichier /var/lib/pacman/local/sdl2-2.0.14-1/files a échoué : Aucun fichier ou dossier de ce type
avertissement : les métadonnées pour le paquet sdl2-2.0.14-1 n’ont pas pu être totalement chargées.
erreur : la préparation de la transaction a échoué (paquet non valide ou corrompu)
[julien@julien-virtualbox ~]$ 
[julien@julien-virtualbox ~]$ sudo touch /var/lib/pacman/local/sdl2-2.0.14-1/desc
[julien@julien-virtualbox ~]$ sudo pacman -S sdl2
résolution des dépendances…
recherche des conflits entre paquets…
erreur : l’ouverture du fichier /var/lib/pacman/local/sdl2-2.0.14-1/files a échoué : Aucun fichier ou dossier de ce type
avertissement : les métadonnées pour le paquet sdl2-2.0.14-1 n’ont pas pu être totalement chargées.
erreur : la préparation de la transaction a échoué (paquet non valide ou corrompu)
[julien@julien-virtualbox ~]$

il faut “bien” lire ton erreur :

Il est bien dit dans le lien que nous pouvons avoir 3 fichiers manquant, en fonction de l’erreur on crée le fichier (desc et/ou files et/ou mtree) :wink:

Tu as fait une mise à jour partielle et depuis nous avons une mise à jour stable, donc il n’est pas possible de réinstaller le paquet sdl2 dans la foulée : donc ce cas, après avoir créé les fichiers, il faut faire une mise à jour globale et ignorer le nouveau fichier “files” vide avec

pacman -Syu --overwrite "*"

ps: ton erreur arrive lorsque nous avons éteint notre ordinateur au milieu d’une mise à jour

2 Likes

Désolé, je suis débutant sous Linux. Il faut du temps pour que je comprenne comment fonctionne le système.

Problème résolu par ailleurs.

sudo touch /var/lib/pacman/local/sdl2-2.0.14-1/files
sudo pacman -S sdl2
donne

résolution des dépendances…
recherche des conflits entre paquets…

Paquets (1) sdl2-2.0.16-2

Taille totale du téléchargement :  0,77 MiB
Taille totale installée :        3,45 MiB

:: Procéder à l’installation ? [O/n] 
:: Récupération des paquets…
 sdl2-2.0.16-2-x86_64  790,1 KiB  8,57 MiB/s 00:00 [########################] 100%
(1/1) vérification des clés dans le trousseau      [########################] 100%
(1/1) vérification de l’intégrité des paquets      [########################] 100%
(1/1) chargement des fichiers des paquets          [########################] 100%
(1/1) analyse des conflits entre fichiers          [########################] 100%
erreur : la validation de la transaction a échoué (conflit de fichiers)
sdl2 : /usr/bin/sdl2-config est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_assert.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_atomic.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_audio.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_bits.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_blendmode.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_clipboard.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_android.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_iphoneos.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_macosx.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_minimal.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_os2.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_pandora.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_psp.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_windows.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_winrt.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_config_wiz.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_copying.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_cpuinfo.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_egl.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_endian.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_error.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_events.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_filesystem.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_gamecontroller.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_gesture.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_haptic.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_hints.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_joystick.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_keyboard.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_keycode.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_loadso.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_locale.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_log.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_main.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_messagebox.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_metal.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_misc.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_mouse.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_mutex.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_name.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengl.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengl_glext.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengles.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengles2.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengles2_gl2.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengles2_gl2ext.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengles2_gl2platform.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_opengles2_khrplatform.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_pixels.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_platform.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_power.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_quit.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_rect.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_render.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_revision.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_rwops.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_scancode.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_sensor.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_shape.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_stdinc.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_surface.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_system.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_syswm.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_assert.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_common.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_compare.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_crc32.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_font.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_fuzzer.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_harness.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_images.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_log.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_md5.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_memory.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_test_random.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_thread.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_timer.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_touch.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_types.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_version.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_video.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/SDL_vulkan.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/begin_code.h est déjà présent dans le système de fichiers
sdl2 : /usr/include/SDL2/close_code.h est déjà présent dans le système de fichiers
sdl2 : /usr/lib/cmake/SDL2/SDL2Config.cmake est déjà présent dans le système de fichiers
sdl2 : /usr/lib/cmake/SDL2/SDL2ConfigVersion.cmake est déjà présent dans le système de fichiers
sdl2 : /usr/lib/cmake/SDL2/SDL2Targets-noconfig.cmake est déjà présent dans le système de fichiers
sdl2 : /usr/lib/cmake/SDL2/SDL2Targets.cmake est déjà présent dans le système de fichiers
sdl2 : /usr/lib/libSDL2-2.0.so est déjà présent dans le système de fichiers
sdl2 : /usr/lib/libSDL2-2.0.so.0 est déjà présent dans le système de fichiers
Des erreurs se sont produites, aucun paquet n’a été mis à jour.

pacman -Syu --overwrite “/var/lib/pacman/local/sdl2-2.0.14-1/files”
Il demande de passer en administrateur et après un “su” il refuse de reconnaitre mon mot de passe.

Maintenant sudo pacman -Syyu fonctionne et la mise à jour se lance.

Par contre je n’ai jamais éteint cette machine virtuelle en cours de mise à jour. Une mise en veille est suffisante pour casser le processus de mise à jour ?

Voilà le résultat de la mise à jour :

(465/465) vérification de l’intégrité des paquets                         [##########################################] 100%
erreur : llvm-libs : la signature de « Evangelos Foutras <evangelos@foutrelis.com> » n’est pas valide
:: Le fichier /var/cache/pacman/pkg/llvm-libs-12.0.1-3-x86_64.pkg.tar.zst est corrompu (paquet non valide ou corrompu (signature PGP)).
Voulez-vous le supprimer ? [O/n] 
erreur : la validation de la transaction a échoué (paquet non valide ou corrompu)
Des erreurs se sont produites, aucun paquet n’a été mis à jour.

J’ai lancé une mise à jour avec pacman en graphique, il a refait les étapes pré installation 3 fois, mais là il vient de commencer à installer.