Dépannage de Pacman

Revision as of 04:28, 15 July 2024 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
English • ‎Türkçe • ‎español • ‎français • ‎русский • ‎中文(中国大陆)‎

Installation du logiciel

Diverses questions relatives au téléchargement et à l'installation de paquets logiciels à partir des dépôts de Manjaro sont traitées ici.

Erreur "Unrecognized archive format"

Cela s'est produit plus d'une fois, une mise à jour émet ces messages dans un flux apparemment sans fin. Pacman n'a pas pu ouvrir le fichier: sync files

erreur: impossible d'ouvrir le fichier /var/lib/pacman/sync/core.db : Format d'archive non reconnu

erreur: impossible d'ouvrir le fichier /var/lib/pacman/sync/extra.db : Format d'archive non reconnu erreur: Impossible d'ouvrir le fichier /var/lib/pacman/sync/community.db : Format d'archive non reconnu

erreur: Impossible d'ouvrir le fichier /var/lib/pacman/sync/multilib.db : Format d'archive non reconnu

L'erreur concerne le contenu des fichiers db. L'erreur se produit lorsque pacman reçoit des balises du miroir au lieu des archives de la base de données.

Bien qu'il soit parfois possible de résoudre le problème en supprimant simplement les fichiers et en exécutant une mise à jour pacman, c'est loin d'être toujours le cas.

Exécuter pacman-mirrors pour rafraîchir votre liste de miroirs

user $ sudo pacman-mirrors -c Global COPY TO CLIPBOARD


Télécharger les bases de données et mettre à jour le système

user $ sudo pacman -Syyu COPY TO CLIPBOARD

Erreur "Unable to lock database"

Lors du téléchargement et de l'installation de logiciels à partir des référentiels, un fichier spécial de verrouillage de la base de données est créé afin de garantir que le processus d'installation en cours est le seul en cours d'exécution à ce moment-là. Dans le cas contraire, une tentative d'installation simultanée de plusieurs fichiers provenant de plusieurs sources peut corrompre les fichiers téléchargés, provoquer des conflits de fichiers ou, pire encore, endommager votre système. Une fois l'installation terminée, le fichier de verrouillage sera alors automatiquement supprimé. Cette erreur peut donc se produire pour deux raisons possibles:

  • Une autre installation est en cours et n'est pas encore terminée.
  • Une tentative d'installation précédente ne s'est pas terminée correctement (par exemple, parce qu'elle a été interrompue prématurément).

Il est donc sage de vérifier d'abord qu'une autre installation ne soit pas (ou n'ait pas été) en cours au moment de l'erreur. Si vous êtes sûr que ce n'est pas le cas, vous pouvez supprimer manuellement le fichier de verrouillage de la base de données. Pour ce faire, ouvrez le terminal et entrez la commande suivante :

user $ sudo rm /var/lib/pacman/db.lck COPY TO CLIPBOARD


Une fois que c'est fait, vous devriez maintenant être en mesure de réessayer avec succès votre installation prévue.

Erreurs sur les clés

Nous possédons tous une signature unique qui sert à authentifier notre identité et à prévenir les activités frauduleuses ou même malveillantes des autres. C'est également le cas des progiciels disponibles dans les dépôts de logiciels. Ils contiennent tous des codes chiffrés (clés de signature) propres à leurs développeurs afin de garantir qu'ils sont authentiques et non malveillants par nature.

Au cours du processus d'installation, une fois que les logiciels ont été téléchargés, votre système vérifie d'abord leur clé de signature pour s'assurer qu'ils sont authentiques avant de les installer. Si une clé de signature ne peut être vérifiée pour une raison quelconque, le processus d'installation est interrompu. Ce problème se produit généralement pour les raisons suivantes:

  • une ou plusieurs clés de signature contenues dans la base de données de votre système sont révoquées, modifiées, corrompues ou périmées.
  • un ou plusieurs logiciels n'ont pas été signés correctement lorsqu'ils ont été placés dans un référentiel.

Lorsqu'un paquet n'a pas été signé correctement avant d'être placé dans un référentiel, il incombe au(x) développeur(s) de corriger ce problème. Cependant, comme ce problème est plus que probablement dû à un problème de vérification de la clé de signature par votre système, il peut être résolu en trois étapes simples. Une connexion Internet fonctionnelle est nécessaire. Une fois que vous avez ouvert votre terminal:

Template:Avertissement


Info
La récupération des derniers paquets du trousseau peut se faire en parcourant un dossier du pool de miroirs actuel. Par exemple, à partir de https://mirror.easyname.at/manjaro/pool - en utilisant le overlay pour le trousseau Manjaro et sync pour le trousseau Arch et en les téléchargeant sur votre système. Ne téléchargez pas de fichiers .sig.


Info
Ceux qui utilisent ARM peuvent trouver le archlinuxarm-keyring et le manjaro-arm-keyring dans les dossiers sync-arm et overlay-arm respectivement.

Télécharger les nouveaux paquets de trousseaux de clés'. Avant de procéder au téléchargement, assurez-vous qu'aucun paquet du trousseau ne se trouve dans le dossier actuel.

user $ rm manjaro-keyring* archlinux-keyring* COPY TO CLIPBOARD


Utilisez votre navigateur ou curl pour télécharger. L'utilisation de curl suppose que vous connaissez le nom correct du paquet tel qu'il se trouve dans le miroir. Remplacez YYYYMMDD-R par le nom disponible dans le miroir.

user $ curl -O https://mirror.easyname.at/manjaro/pool/overlay/manjaro-keyring-YYYYMMDD-R-any.pkg.tar.xz COPY TO CLIPBOARD

user $ curl -O https://mirror.easyname.at/manjaro/pool/sync/archlinux-keyring-YYYYMMDD-R-any.pkg.tar.zst COPY TO CLIPBOARD


Supprimer les trousseaux de clés dysfonctionnels en entrant cette commande :

user $ sudo rm -r /etc/pacman.d/gnupg COPY TO CLIPBOARD


Initialiser le trousseau pacman :

user $ {{{command}}} COPY TO CLIPBOARD


Installer les paquets téléchargés En supposant que les fichiers sont dans le dossier courant et en utilisant des caractères génériques pour ne pas avoir à gérer les dates et les versions, supprimez les paquets une fois l'installation réussie.

user $ sudo pacman -U manjaro-keyring*.pkg.tar.xz archlinux-keyring*.pkg.tar.zst COPY TO CLIPBOARD

Remplir les porte-clés - (optionnel car le processus d'installation le fera)

user $ sudo pacman-key --populate manjaro archlinux COPY TO CLIPBOARD


Effacer les paquets de logiciels téléchargés lors de l'installation interrompue (optionnel):

Warning
La commande efface complètement le cache de pacman, et il ne sera pas possible de revenir à une version antérieure d'un paquet si nécessaire. En revanche, les paquets qui provoquent des erreurs de signature peuvent être supprimés individuellement lors de la mise à niveau.
user $ sudo pacman -Sc COPY TO CLIPBOARD


Après cela, essayez de lancer sudo pacman -Syyu pour voir si les erreurs ont été résolues.

Fichiers en conflit - FILENAME existe dans le système de fichiers

Si vous ne pouvez pas installer ou mettre à jour un paquet à cause d'une erreur comme celle-ci :

error : could not prepare transaction
error : failed to commit transaction (conflicting files)
libname : /insert/file/name/here existe dans le système de fichiers
Des erreurs se sont produites, aucun paquet n'a été mis à niveau.

Le gestionnaire de paquets, pacman, a détecté un fichier inattendu qui existe déjà sur le disque.

Pourquoi cela arrive-t-il ?

Par conception, pacman n'écrase pas les fichiers qui existent déjà. C'est une caractéristique de conception, pas un défaut - les gestionnaires de paquets sont conçus pour garder la trace des fichiers installés.

Ce problème se produit normalement parce que vous avez ajouté, copié ou créé manuellement un fichier. Il peut également se produire lorsque vous installez un logiciel à l'aide d'un exécutable téléchargé, exécutez un make install ou utilisez un système de paquets tiers tel que conda. Il se produit également lorsque vous installez un paquet AUR qui installe des fichiers qui entrent en conflit avec un paquet repo.

Lorsque vous utilisez un programme d'installation tiers, vous devez toujours spécifier un emplacement d'installation alternatif, par exemple sous votre répertoire personnel, ou sous /opt ou /usr/local/. N'installez jamais directement sous / ou /usr.

Comment puis-je réparer ça ?

La première étape consiste à identifier le paquet qui possède le fichier, le cas échéant. Cela peut être fait facilement avec:

user $ pacman -Qo /path/to/file COPY TO CLIPBOARD


Si cela identifie un paquet en conflit, vous pouvez décider de le supprimer avec pacman -R. Si aucun paquet n'est identifié, vous pouvez supprimer le fichier (ou le déplacer vers un emplacement de sauvegarde).

Où puis-je en lire plus?

Ce billet a été inspiré par (et adapté de):

Translations:Pacman troubleshooting/53/fr https://wiki.archlinux.org/title/Pacman#%22Failed_to_commit_transaction_(conflicting_files)%22_error

L'article ci-dessus contient également des liens vers d'autres lectures.

Erreur "Le fichier de configuration...n'est pas reconnu"

Le gestionnaire de paquets de Manjaro, pacman, utilise un fichier appelé mirrorlist. - utilise un fichier appelé mirrorlist pour lui indiquer les adresses internet des serveurs Manjaro afin de télécharger les mises à jour et les applications logicielles à partir de ceux-ci. Cette erreur se produira donc si une ou plusieurs adresses de serveurs contenues dans le fichier mirrorlist n'ont pas été listées correctement, ce qui fait que pacman ne peut pas s'y connecter. Un autre signe révélateur est que ce problème sera également rencontré immédiatement après:

  • Installer Manjaro et éditer le fichier mirrorlist pendant l'installation, ou
  • Editer le fichier mirrorlist plus tard.

Consultez le guide Passer à un autre serveur de téléchargement pour obtenir des informations plus détaillées sur la manière de sélectionner et d'activer correctement un autre serveur Manjaro pour le téléchargement.


Erreur "GPGME error: No data"

Warning
This section duplicates information from Pacman_troubleshooting#Errors_about_Keys consider removing duplicated information

La cause la plus probable de ce problème est qu'une erreur ou une corruption a été détectée par pacman dans un ou plusieurs paquets logiciels en cours de téléchargement. Les signatures et les sommes de contrôle des paquets sont utilisées pour vérifier la validité des logiciels téléchargés, et en cas d'échec, la tentative d'installation sera interrompue pour protéger votre système jusqu'à ce que le problème soit résolu.


Option 1 : Résolution de base

Pour résoudre ce problème, suivez d'abord la procédure de base fournie ci-dessous. Si cela ne fonctionne pas, il existe une procédure plus complète.


1. Téléchargez les bases de données des paquets et mettez votre système à jour:

user $ sudo pacman -Syyu COPY TO CLIPBOARD

2. Effacez les paquets logiciels téléchargés pendant l'installation avortée en entrant la commande:

user $ sudo pacman -Sc COPY TO CLIPBOARD


3. Tentez à nouveau le téléchargement interrompu.

Option 2 : Résolution approfondi

Si la procédure de base ne permet toujours pas de résoudre le problème, d'autres étapes sont possibles :

1. Resynchronisez avec les serveurs Manjaro pour vous assurer que tout est à jour en entrant la commande :

user $ sudo pacman -Syy COPY TO CLIPBOARD

2. Rafraîchissez et mettez à jour les clés de signature en entrant la commande:

user $ sudo pacman-key --refresh-keys COPY TO CLIPBOARD


3. Rechargez les clés de signature en entrant la commande:

user $ sudo pacman-key --populate archlinux manjaro COPY TO CLIPBOARD


4. Effacez les paquets logiciels téléchargés pendant l'installation avortée en entrant la commande:

user $ sudo pacman -Sc COPY TO CLIPBOARD


5. Tentez à nouveau le téléchargement interrompu.

Si l'erreur persiste, il est recommandé de changer de serveur de téléchargement'.

Erreur "Le rafraîchissement du serveur de clés a échoué : No dirmngr"

Essayez d'exécuter la commande suivante:

user $ sudo dirmngr </dev/null COPY TO CLIPBOARD


Voir aussi