Problèmes avec Pacman

From Manjaro Linux
Jump to: navigation, search

Retour à l'accueil

Installation de logiciels

Des problèmes variés concernant le téléchargement et l'installation de paquets logiciels depuis les dépôts Manjaro sont traités ici.

Message "Unable to lock database"

Lorsqu'on télécharge et installe des logiciels depuis les dépots, un fichier de blocage de la base de données est créé pour assurer qu'il ne puisse pas y avoir plusieurs processus d'installation fonctionnant simultanément. En effet, essayer d'installer plusieurs fichiers depuis plusieurs sources en même temps pourrait corrompre les fichiers téléchargés, causer des conflits, ou pire, endommager le système. Dès que l'installation est terminées, le fichier de blocage est automatiquement effacé. Si malgré tout cette erreur s'affiche, il y a deux raisons possibles:

  • Une autre installation est en cours et ne s'est pas encore terminée, ou
  • Un précédent essai d'installation ne s'est pas terminé proprement (s'il a par exemple été interrompu accidentellement)

Il faut avant tout s'assurer qu'aucun processus d'installation n'est en cours, ou n'était en cours au moment de l'erreur. Lorsqu'on est sûr que ce n'est pas le cas, le fichier de blocage peut être effacé manuellement. Pour cela, ouvrir le Terminal, et entrer la commande suivante:

sudo rm /var/lib/pacman/db.lck

Après cela, vous pouvez relancer votre installation.


Message "Failed to commit transaction (invalid or corrupted package)"

Nous avons tous notre propre signature, unique, utilisée pour nous authentifier et empêcher toute activité frauduleuse ou malicieuse d'un tiers. C'est aussi le cas des paquets logiciels disponibles dans les dépôts. Ils contiennent tous un code chiffré (signature) unique de leur développeur pour assurer qu'ils sont authentiques et ne contiennent rien de malicieux.

Durant le processus d'installation, une fois que les paquets ont été téléchargés, le système va d'abord vérifier leurs signatures pour s'assurer de leur authenticité avant de les installer. Si une signature ne peut pas être vérifiée, pour une raison ou une autre, le processus d'installation est interrompu. Ce problème se produit généralement quand:

  • Une ou plusieurs signatures de la base de données su système sont annulées, modifiées, corrompues, ou obsolètes
  • Un ou plusieurs paquets n'ont pas été signés correctement quand ils ont été placés dans les dépots


Quand un paquet n'a pas été signé correctement avant d'être placé dans le dépôt, c'est au développeur de corriger. Mais si le problème est causé par la vérification des clés de votre système, cela peut être résolu en trois étapes. Ouvrez le Terminal:


1. Rafraichir et mettre à jour les signatures en entrant la commande:

sudo pacman-key --refresh-keys


2. Recharger les signatures grâce à la commande:

sudo pacman-key --populate archlinux manjaro


3. Supprimer les paquets téléchargés durant l'installation avortée en entrant la commande:

sudo pacman -Scc


Pendant l'opération, il vous sera demandé de confirmer que vous voulez supprimer les fichiers du cache, et les dépôts inutilisés. Entrez O pour 'oui' pour confirmer à chaque fois, sachant qu'il sera nécessaire de télécharger à nouveau les paquets que vous tentez d'installer, mais que ça rafraichira et rechargera les signatures.


Message "Configuration file...not recognized"

Le gestionnaire de paquets de Manjaro - pacman - utilise un fichier nommé mirrorlist pour stocker les adresses internet des dépôts où il télécharge les mises à jour et les logiciels. Cette erreur se produit quand une ou plusieurs des adresses du fichier mirrorlist n'est pas renseignée correctement, empêchant Pacman de se connecter au serveur. Un autre indice sur la nature du problème serait que cela se produise après:

  • L'installation de Manjaro (après avoir édité le mirrorlist pendant l'installation), ou
  • après avoir édité le mirrorlist pour d'autres raisons.


Ouvrir le mirrorlist

Vous aurez besoin d'ouvrir le Terminal pour (ré)éditer le fichier mirrorlist et corriger le problème. La syntaxe de la commande pour éditer le mirrorlist est:

sudo [éditeur de texte] /etc/pacman.d/mirrorlist


Par exemple, si vous voulez ouvrir le fichier dans le Terminal en utilisant nano (un éditeur de texte standard pour le Terminal) alors entrez:

sudo nano /etc/pacman.d/mirrorlist


Toutefois, si vous avez installé une version complète de Manjaro (c'est à dire pas la NET-Edition) vous pourriez trouver plus simple d'utiliser l'éditeur de texte pré-installé gedit à la place. Celui-ci ouvrira le fichier mirrorlist comme n'importe quel document, simplifiant sa lecture et sa modification. Pour utiliser gedit, la commande est:

sudo gedit /etc/pacman.d/mirrorlist


Comprendre le Mirrorlist

Une fois ouvert, votre fichier mirrorlist devrait ressembler à celui-ci (le texte a été coloré pour mettre en valeur les différentes parties):

# Server list generated by rankmirrors on 2012-10-07 ##
## Manjaro Linux repository mirrorlist
## Generated on 2012-09-11 ##
## France
# http://manjarolinux.polymorf.fr/$repo/$arch ... 0.494
## Germany
# http://mirrors.mycraft.eu/manjaro/$repo/$arch ... 0.367
# http://ftp.halifax.rwth-aachen.de/manjaro/$repo/$arch ... 0.300
## Greece
# http://ftp.cc.uoc.gr/mirrors/linux/manjaro/$repo/$arch ... 0.769
## United Kingdom
# http://repo.manjaro.org.uk/$repo/$arch ... 0.518
## United States
# http://mirror.dacentec.com/manjaro/$repo/$arch ... 0.887
Server = http://ftp.halifax.rwth-aachen.de/manjaro/$repo/$arch
Server = http://mirrors.mycraft.eu/manjaro/$repo/$arch
Server = http://manjarolinux.polymorf.fr/$repo/$arch
Server = http://repo.manjaro.org.uk/$repo/$arch


Les lignes commençant par le signe dièse '#' seront ignorées par Pacman. Le haut du fichier est un tableau qui liste des noms de pays suivis par l'adresse de leur serveur internet, pour votre information. Leur rôle est de vous dire - à vous, pas à Pacman - quels serveurs sont disponibles dans quels pays. Le texte en rouge à la fin de chaque adresse internet vous donne la vitesse de téléchargement du serveur. C'est le bas du fichier, où les dièses ont été enlevés, qui indique à Pacman l'adresse des serveurs Manjaro auxquels il doit se connecter. Notez que chacune de ces lignes commence par le texte Server =. Elles seront utilisées dans l'ordre où elles sont listées.

Réparer le Mirrorlist

Les raisons les plus courantes de l'impossibilité de se connecter aux serveurs Manjaro sont:

  • Ne pas avoir enlevé le texte indiquant la vitesse de téléchargement du serveur (par exemple '... 0.769'), et/ou
  • Ne pas avoir mis le texte Server = en début de ligne.


Assurez-vous que la vitesse de téléchargement du serveur a bien été enlevée à la fin de chaque ligne sans le dièse - y compris les points ('...') -, sans quoi Pacman pensera que cela fait partie de l'adresse internet. De plus, assurez-vous que chaque ligne utilisée commence par 'Server =', sinon, Pacman ne les identifiera pas comme des adresses de serveur. De plus, si vous avez précedemment copié et collé une ou plusieurs adresses de serveur, ou si vous les avez tapées manuellement, assurez-vous qu'elles soient complètes et correctes. Un seul caractère manquant ou incorrect est suffisant pour causer une erreur.


Une fois les corrections faites, sauvegardez vos modifications et fermez le fichier mirrorlist comme suit:

  • nano: Appuyez sur CTRL et 'x' pour quitter, 'O' pour sauvegarder, et <entrée> pour finir
  • gedit: Selectionnez l'option 'enregistrer' et fermez la fenêtre.


Synchroniser avec les serveurs Manjaro

Une fois que les changements ont été faits dans le mirrorlist, il sera nécessaire de synchroniser avec les serveurs Manjaro. Pour ce faire, entrez la commande suivante dans le Terminal:

sudo pacman -Syy


Message "GPGME error: No data"

La cause la plus probable de ce message est qu'une erreur ou une corruption a été détectée par pacman dans un ou plusieurs paquets téléchargés. 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 si cela échoue, la tentative d'installation sera stoppée pour protéger le système jusqu'à ce que le problème soit résolu.


Option 1: Résolution basique

Pour résoudre ce problème, suivez d'abord la procédure basique suivante. Si celle-ci ne fonctionne pas, il existe une procédure plus complexe.


1. Re-synchronisez avec les serveurs Manjaro pour vous assurer que tout est à jour en entrant la commande suivante:

sudo pacman -Syy


2. Supprimez les paquets logiciels téléchargés durant l'installation avortée grâce à la commande:

sudo pacman -Scc


3. Re-tentez l'installation.


Option 2: Résolution avancée

Si la procédure basique n'a pas suffit, une autre méthode est possible:


1. Re-synchronisez avec les serveurs Manjaro pour vous assurer que tout est à jour en entrant la commande suivante:

sudo pacman -Syy


2. Rafraîchissez et mettez à jour les signatures avec la commande:

sudo pacman-key --refresh-keys


3. Rechargez les signatures en entrant:

sudo pacman-key --populate archlinux manjaro


4. Supprimez les paquets logiciels téléchargés durant l'installation avortée grâce à la commande:

sudo pacman -Scc


5. Re-tentez l'installation.


Si les erreurs persistent, il est recommandé de se servir de serveurs différents.


Voir aussi

Page originale du wiki anglais

Retour à l'accueil