Dépannage de Pacman

Revision as of 09:26, 29 December 2022 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
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 est liée à une incompatibilité entre les informations contenues dans les fichiers db à l'emplacement mentionné et les fichiers db du premier miroir de votre liste de miroirs. Pacman vérifie un paquet dans la base de données et voit si le fichier de signature correspond à celui de la base de données. Si ce n'est pas le cas, alors Pacman dira que le paquet est corrompu.

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.

Une recette pour résoudre ce problème

Il est obligatoire de s'assurer que les trousseaux de clés sont à jour. En s'assurant que les trousseaux de clés sont en état puis en téléchargeant de nouveau les bases de données, nous rétablissons la chaîne de confiance entre les trousseaux de clés et les paquets.

Vous devrez trouver les noms corrects en regardant.

Parcourez https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay pour trouver le manjaro-keyring actuel

et

Parcourir https://mirror.netzspielplatz.de/manjaro/packages/pool/sync pour la version actuelle de archlinux-keyring.

Remplacez aaaammjj et x par les informations trouvées sur les liens ci-dessus.

Supprimez vos bases de données défectueuses.

sudo rm -f /var/lib/pacman/sync/*

Téléchargez les bases de données et mettez le système à jour.

sudo pacman -Syyu

Download the databases and update the system

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 :

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

1. Supprimez les anciennes clés (et éventuellement cassées) en entrant cette commande :

sudo rm -r /etc/pacman.d/gnupg

'2. Réinstallez les trousseaux de clés incluant les dernières clés :

'2. Initialiser le trousseau de clés pacman :

4. Chargez les clés de signature :

5. Rafraîchir et mettre à jour les clés de signature :

6. Effacez les paquets de logiciels téléchargés pendant l'installation avortée (facultatif) :


Info
Version améliorée ajoutée, puisque cela ne fonctionne pas de cette manière ci-dessus. Les paquets sont signés et comme /etc/pacman.d/gnupg a été supprimé, il ne peut pas être installé à cause de la vérification. Au lieu d'éditer le fichier /etc/pacman.conf et de diminuer le SigLevel, il serait préférable d'installer les trousseaux de clés sans vérification manuellement pour surmonter ce problème.

1. Supprimez les anciennes clés (et éventuellement les clés cassées) en entrant cette commande :

sudo rm -r /etc/pacman.d/gnupg

2. Initialisez le trousseau de clés pacman :

sudo pacman-key --init

3. Téléchargez les paquets :'

Info
Les erreurs de vérification GPG peuvent être ignorées, car il ne télécharge que les paquets du trousseau de clés
.
mkdir -pv $HOME/.cache/pkg/ && sudo pacman -Syw archlinux-keyring manjaro-keyring --cachedir $HOME/.cache/pkg/

Those running ARM may also need to download archlinuxarm-keyring and manjaro-arm-keyring.

}}

user $ mkdir -pv $HOME/.cache/pkg/ && sudo pacman -Syw archlinux-keyring manjaro-keyring --cachedir $HOME/.cache/pkg/ COPY TO CLIPBOARD

4. Supprimer les signatures :

Info
Les signatures doivent être supprimées pour éviter la vérification automatique des paquets.
rm -f $HOME/.cache/pkg/*.sig

5. installez manuellement les paquets téléchargés:

Info
Cela déclenchera également le processus de populage.
sudo pacman -U $HOME/.cache/pkg/*.tar.zst

6. Effacer les paquets logiciels téléchargés pendant l'installation avortée (facultatif) : Template:Avertissement

sudo pacman -Sc

7. Supprimez le dossier des paquets personnalisés : (facultatif) :

sudo rm -Rf $HOME/.cache/pkg/

7. Remove the custom package folder: (optional):

user $ sudo rm -Rf $HOME/.cache/pkg/ COPY TO CLIPBOARD

Après cela, essayez de lancer sudo pacman -Syu 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:

pacman -Qo /path/to/file

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"

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:

sudo pacman -Syyu

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

sudo pacman -Sc

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. Resynchronise with the Manjaro servers to ensure that everything is up to date by entering the command:

user $ sudo pacman -Syy COPY TO CLIPBOARD

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

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

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

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:

Voir aussi