Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
probleme_apt [Le 01/07/2014, 20:23]
91.180.202.210 [Impossible de verrouiller /var/lib/dpkg/lock]
probleme_apt [Le 25/04/2023, 09:20] (Version actuelle)
frombenny lien vers la logithèque
Ligne 4: Ligne 4:
 ====== Problèmes avec les gestionnaires de paquets ====== ====== Problèmes avec les gestionnaires de paquets ======
  
-<​note>​Cette page est destinée à alléger la page principale [[apt]], si vous avez besoin d'​informations générales sur apt consultez-la.</​note>​+Cette page est destinée à alléger la page principale [[APT]], si vous avez besoin d'​informations générales sur APT consultez-la.
  
 +<note important>​Pensez à effectuer une copie de [[:​tutoriel:​comment_sauver_et_restaurer_un_fichier|sauvegarde]] du ou des fichier(s) que vous allez modifier voire supprimer!</​note> ​    
 +
 +\\
  
 ===== Impossible de verrouiller /​var/​lib/​dpkg/​lock===== ===== Impossible de verrouiller /​var/​lib/​dpkg/​lock=====
  
-   E: Impossible de verrouiller /​var/​lib/​dpkg/​lock - open (11 Ressource temporairement non disponible) +<​code>​E: Impossible de verrouiller /​var/​lib/​dpkg/​lock - open (11 Ressource temporairement non disponible) 
-   ​E: Unable to lock the administration directory (/​var/​lib/​dpkg/​),​ is another process using it?+E: Unable to lock the administration directory (/​var/​lib/​dpkg/​),​ is another process using it? 
 +</​code>​
  
-    * Soit un autre [[gestionnaire de paquets]] est ouvert. Si c'est le cas, fermez-le, puis réeffectuez la commande.+Ce message indique qu'un autre processus utilise très probablement ​[[:APT]].
  
-    * Sinon effectuez ceci dans un terminal ​:+Sur Ubuntu toutes les interfaces de gestion de paquets ou de logiciels telles que [[:gnome-software|GNOME Logiciels]],​ [[:​Synaptic]],​ [[:​gnome-packagekit|GNOME paquets]], [[:​apt-cli|apt]],​ [[:​apt-get]],​ [[:​Aptitude]],​ ou les [[:​gestionnaire_de_mises_a_jour|gestionnaires de mises à jour]] reposent sur le même système : [[:APT]].
  
-  sudo rm -rf /var/lib/apt/lists/lock  +Afin d'​éviter des conflits, une seule instance d'APT peut être utilisée en même temps, voilà pourquoi APT utilise un fichier ''​/var/lib/dpkg/lock''​ : afin de bloquer les autres tentatives d'​utilisation simultanées d'APT.
-   +
-  On met ce qu on veut ici, lol ???+
  
 +Ce message d'​erreur indique donc que ce fichier ''/​var/​lib/​dpkg/​lock''​ existe et bloque la suite des opérations. Cela peut être le cas pour deux raisons différentes :
  
 +  * Soit un autre [[:​gestionnaire de paquets]] (ou de mise à jour) est ouvert. Si c'est le cas, fermez-le proprement puis relancez votre commande.
 +  * Soit l'un de ces gestionnaires a "​planté",​ ou l'​ordinateur a été éteint sauvagement pendant une opération, et le gestionnaire n'a pas terminé normalement ses opérations en supprimant ce fichier. (//FIXME : ce point mérite vérification,​ le verrou devant normalement disparaître même en cas de plantage du processus l’ayant requis en premier lieu//)
  
 +La documentation de dpkg rappelle que la suppression manuelle de ce fichier n’est **jamais** une solution correcte : [[https://​wiki.debian.org/​Teams/​Dpkg/​FAQ#​Q:​_What_can_be_done_when_the_dpkg_lock_is_held.3F|What can be done when the dpkg lock is held?]] (en anglais).
  
 +Si la présence de ce verrou bloque vos opérations,​ vous devez tout d’abord fermer les éventuels processus ayant requis ce verrou, avec : <​code>​sudo fuser -vki -TERM /​var/​lib/​dpkg/​lock /​var/​lib/​dpkg/​lock-frontend</​code>​
 +Puis la cohérence de la base de données de dpkg doit être rétablie avec : <​code>​sudo dpkg --configure --pending</​code>​
  
-===== Dpkg was interrupted =====+<note warning>​Vous croiserez souvent des guides recommandant de supprimer manuellement le fichier ''​lock''​. Ce conseil n’est pas à suivre, cette opération menant à des corruption de la base de données de dpkg ou même du système de fichiers.</​note>​ 
 +'===== Dpkg was interrupted =====
  
 Si un [[gestionnaire de paquets]] vous dit quelque chose comme ça : Si un [[gestionnaire de paquets]] vous dit quelque chose comme ça :
 +<​code>​
 +E: dpkg was interrupted,​ you must manually run 'dpkg --configure -a' to correct the problem. ​
 +E: _cache->​open(!) failed, please report.
 +</​code>​
 +Enfin en tous cas quelque chose qui dit **dpkg %%--%%configure -a** dans le texte.
  
-  ​E: dpkg was interrupted,​ you must manually run 'dpkg --configure -a' to correct the problem.  +  * Faites :<​code>​ 
-  E: _cache->​open(!) failed, please report. +sudo dpkg --configure -a </​code>​
- +
-Enfin en tous cas quelque chose qui dit **dpkg --configure -a** dans le texte. +
- +
-  ​* Faites : +
- +
-  ​sudo dpkg --configure -a +
- +
-  * Si ça ne marche toujours pas faites : +
- +
-  sudo apt-get install -f+
  
-  * Si ça ne marche toujours pas (encore... cas rare) :+  * Si ça ne marche toujours pas faites ​<​code>​ 
 +sudo apt install -f </​code>​
  
-  sudo dpkg --force-all --configure -a+  ​* Si ça ne marche toujours pas (encore... cas rare) : <​code>​ 
 +sudo dpkg --force-all --configure -a </​code>​
  
-  * Sinon :+  * Sinon : <​code>​ 
 +sudo dpkg -P --force-all 'le paquet qui bloque'​ </​code>​
  
-  sudo dpkg -P --force-all 'le paquet qui bloque'​ +<​note>​ 
- +Pour connaître le paquet qui bloque, quand vous faites un **sudo dpkg %%--%%configure -a**, c'est simplement le premier paquet qui apparaît.
-<​note>​Pour connaître le paquet qui bloque, quand vous faites un **sudo dpkg --configure -a**, c'est simplement le premier paquet qui apparaît.+
  
 Exemple : Exemple :
Ligne 85: Ligne 91:
 </​code>​ </​code>​
  
-Là le paquet en question c'est **skype**</​note>​+Là le paquet en question c'est **skype** 
 +</​note>​
  
 +===== Dpkg: error processing archive =====
  
 +Si vous voyez l'​erreur "dpkg : error processing archive"​ lors d'une mise à jour ou de l'​installation d'un paquet, comme le montre l'​exemple ci-dessous, cette erreur est provoquée par un paquet "mal fait" (provenant probablement d'un ppa) voulant écraser (dans le sens de l'​overwrite) des fichiers appartenant à d'​autres paquets. Dpkg se termine alors avec l'​erreur mentionnée et l'​installation ou la mise à jour s'​interrompt. Dans la plupart des cas, une telle erreur arrive quand un fichier est déplacé d'un paquet vers un autre avec une version plus récente.
  
-=====Erreur ​de sortie ​d'état 127=====+Exemple: 
 +<​code>​ 
 +Préparation du décompactage ​de .../​ubuntu-mate-default-settings_0.3.9~trusty2_all.deb ... 
 +Décompactage de ubuntu-mate-default-settings (0.3.9~trusty2) ... 
 +dpkg: error processing archive /​var/​cache/​apt/​archives/​ubuntu-mate-default-settings_0.3.9~trusty2_all.deb (--unpack):​ 
 + ​tentative de remplacement de « /​var/​lib/​polkit-1/​localauthority/​10-vendor.d/​org.ubuntu-mate.desktop.pkla »,​ qui appartient aussi au paquet policykit-desktop-privileges-ubuntu-mate 0.3.6~trusty3 
 +Sélection du paquet ubuntu-mate-core précédemment désélectionné. 
 +Préparation du décompactage de .../​ubuntu-mate-core_1.118~trusty4_amd64.deb ... 
 +Décompactage de ubuntu-mate-core (1.118~trusty4) ... 
 +E: Sub-process /​usr/​bin/​dpkg returned an error code (1) 
 +</​code>​
  
-   le sous-processus post-installation script a retourné une erreur ​de sortie ​d'état 127 +Afin de fixer cette erreur, il faut tout d'abord localiser le fichier du paquet qui l'a causée. Le répertoire dans lequel le logiciel apt télécharge les paquets est, par défaut, /​var/​cache/​apt/​archives/​. Dans l'exemple du haut, le fichier ​qui a causé l'erreur est /​var/​cache/​apt/​archives/​ubuntu-mate-core_1.118~trusty4_amd64.deb. 
-   Des erreurs ont été rencontrées pendant ​l'exécution : '​le ​paquet ​qui bloque+Une fois le fichier est localisé, ouvrez un terminal et tapez la commande suivante
-Faites ​:  +<​code>​ 
- +sudo dpkg ---force-overwrite /​var/​cache/​apt/​archives/​ubuntu-mate-core_1.118~trusty4_amd64.deb 
-   ​sudo dpkg ---force-remove-reinstreq ​'​le ​paquet qui bloque'​+</​code>​ 
 +Si, l'option %%--%%force-overwrite ne résout pas le problème, essayez avec %%--%%force-all.
  
 +Dans la commande ci-dessus, remplacez "/​var..."​ avec le chemin exact du fichier "​.deb"​ qui a causé l'​erreur. Si vous avez téléchargé le fichier manuellement,​ le fichier "​.deb"​ n'est pas localisé dans "/​var/​cache/​apt/​archives"​ mais dans le répertoire où vous l'​aviez téléchargé (~/​Téléchargements/​). Cette commande va permettre à dpkg de forcer l'​installation en écrasant les fichiers qui existent dans les 2 paquets. Finalement, pour être sûr que tous les paquets sont bien installés, tapez cette commande :
 +<​code>​
 +sudo apt install -f
 +</​code>​
  
 +===== Erreur de sortie d'​état 1 =====
  
 +=== Cas 1 ===
  
 +<​code>​
 +dpkg : erreur de traitement de 'le paquet qui bloque'​ (--purge) :
 +le sous-processus post-removal script a retourné une erreur de sortie d'​état 1
 +Des erreurs ont été rencontrées pendant l'​exécution :
 +'le paquet qui bloque'​
 +E: Sub-process /​usr/​bin/​dpkg returned an error code (1)
 +</​code>​
  
 +  * [[:​tutoriel:​comment_éditer_un_fichier|Éditez le fichier]] **/​var/​lib/​dpkg/​info/'​le paquet qui bloque'​.postrm**
 +  * Puis remplacez "exit 1" par "exit 0" et s'il n'y a pas "exit 1" mettez "exit 0" à la fin. (ou l'​inverse,​ etc.)
 +  * Si le fichier est vide, ajoutez-y :<​file>​
 +#!/bin/sh
 +set -e
 +exit 0
 +</​file>​
  
- +<​note>​ 
-=====Erreur de sortie d'​état 1===== +Si cela ne fonctionne toujours pas, remplacez le contenu de **/​var/​lib/​dpkg/​info/'​le paquet qui bloque'​.postrm** par 
- +<​file>​ 
-=== cas 1 === +#​!/​bin/​bash 
-  dpkg : erreur de traitement de 'le paquet qui bloque'​ (--purge) : +/bin/true 
-   le sous-processus post-removal script a retourné une erreur de sortie d'​état 1 +</​file>​
-   Des erreurs ont été rencontrées pendant l'​exécution : +
-   '​le paquet qui bloque'​ +
-   E: Sub-process /​usr/​bin/​dpkg returned an error code (1) +
- +
-    * [[:​tutoriel:​comment_éditer_un_fichier|Éditez le fichier]] **/​var/​lib/​dpkg/​info/'​le paquet qui bloque'​.postrm** +
- +
-    * Puis remplacez "exit 1" par "exit 0" et s'il n'y a pas "exit 1" mettez "exit 0" à la fin. (ou l'​inverse,​ etc.) +
- +
-    * Si le fichier est vide, ajoutez-y : +
- +
-   #​!/​bin/​sh +
-   set -e +
-   exit 0 +
-    +
-<​note>​Si cela ne fonctionne toujours pas, remplacez le contenu de **/​var/​lib/​dpkg/​info/'​le paquet qui bloque'​.postrm** par +
-  #​!/​bin/​bash +
-  /bin/true+
 Veillez aussi à ce que le fichier soit bien exécutable,​ notamment si vous avez dû créer le fichier. Veillez aussi à ce que le fichier soit bien exécutable,​ notamment si vous avez dû créer le fichier.
 </​note>​ </​note>​
  
-<note important>​Dans ce cas, le script bloquant était le **le sous-processus post-removal** donc nous avons édité le ficher **.postrm**+<note important>​ 
 +Dans ce cas, le script bloquant était le **le sous-processus post-removal** donc nous avons édité le ficher **.postrm**.\\ 
 +Si nous avions eu : **le sous-processus post-installation**,​ nous aurions dû éditer le fichier **.postinst** 
 +</​note>​
  
-Si nous avions eu : **le sous-processus post-installation**,​ nous aurions dû éditer le fichier **.postinst**</​note>​ +Si cela ne marche ​toujours ​pas, essayez de remplacer le fichier **/​var/​lib/​dpkg/​status** par **/​var/​lib/​dpkg/​status-old** (vérifier la présence de ce fichier avant).\\ 
- +Il peut exister également des sauvegardes du fichier status dans **/​var/​backups** (compressées ou non). 
-FIXME: Si celà ne marche pas, il semblerait qu'il faille ​remplacer le fichier **/​var/​lib/​dpkg/​status** par **/​var/​lib/​dpkg/​status-old** (vérifier la présence de ce fichier avant). Il peut exister également des sauvegardes du fichier status dans /​var/​backups (compressées ou non). Si ce n'est pas mieux éditer le fichier **/​var/​lib/​dpkg/​status** et retirer chaque section comportant le paquet bloquant suivi d'un **sudo dpkg --configure -a** et d'​un ​update. +Si ce n'est pas mieux éditer le fichier **/​var/​lib/​dpkg/​status** et retirer chaque section comportant le paquet bloquant suivi des commandes : 
- +<​code>​ 
-=== cas2 === +sudo dpkg --configure -a 
- +sudo apt update 
-Un problème retournant la même erreur survient si vous rajoutez un disque contenant une partition bootable avec grub-pc (grub2) +sudo apt full-upgrade 
-http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=3642612#​p3642612+</code>
  
-=====Erreur de sortie d'​état ​2=====+=== Cas 2 ===
  
-<​note>​Procédure à mettre au propre</note>+Un problème retournant la même erreur survient si vous rajoutez un disque contenant une partition bootable avec [[:​grub-pc]] (grub2).\\ 
 +Essayez dans ce cas la solution proposée dans le forum [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=3642612#​p3642612|ici]].
  
-La commande qui va vous sauver est toute simple : +===== Erreur de sortie d'​état 2 ===== 
-  sudo apt-get clean+Si vous obtenez ce message d'​erreur : 
 +<​code>​E:​ Sub-process /​usr/​bin/​dpkg returned an error code (2)</​code>​ 
 +la commande qui va vous sauver est toute simple : 
 +<​code>​sudo apt clean </​code>​
  
 Puis réinstaller le ou les paquets qui posaient problème : Puis réinstaller le ou les paquets qui posaient problème :
-  ​sudo apt-get install ​"nom_du_paquet"+<​code>​sudo apt install nom_du_paquet ​</​code>​
  
 +Si cela ne fonctionne pas, forcer la désinstallation du paquet qui pose problème :
 +<​code>​sudo mv /​var/​lib/​dpkg/​info/​nom_du_paquet.* /tmp/
 +sudo dpkg --remove --force-remove-reinstreq nom_du_paquet</​code>​
  
-=====Signature non vérifiée===== 
  
-  W: GPG error: '​adresse ​d'un dépôt'​ Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY '​XXXXXXXXXXXXXX'​+===== Erreur de sortie ​d'état 127 =====
  
-Les dépôts utilisent des clés publiques pour authentifier leur contenuSi vous avez ajouté un dépôt non officiel (Medibuntu, ppa.launchpad ​...) à votre liste de canaux logiciels, il vous faut l'​authentifier+<​code>​ 
-Consultez le site du dépôt en question, ou la documentation Ubuntuafin de pouvoir récupérer la clé et l'installer.+le sous-processus post-installation script a retourné une erreur de sortie d'​état 127 
 +Des erreurs ont été rencontrées pendant l'​exécution : 'le paquet qui bloque'​ 
 +</​code>​ 
 +Faites : 
 +<​code>​gksu gedit /​var/​lib/​dpkg/​info/​lepaquetquibloque.postrm</​code>​ 
 +Supprimer tout jusqu'​au [[https://​fr.wikipedia.org/​wiki/​Shebang|Shebang]] Bash, et ajouter juste après le [[https://​fr.wikipedia.org/​wiki/​Shebang|Shebang]] Bash ceci : 
 +<​code>/​bin/​true</​code>​ 
 +Vous devez donc avoir dans votre fichier ​.postrm ceci et rien de plus : 
 +<​code>#​!/​bin/​bash 
 +/​bin/​true</​code>​ 
 +Veuillez sauvegarder vos modifications, et ensuite, dans un terminal, veuillez taper : 
 +<​code>​sudo dpkg -r --force-remove-reinstreq ​'le paquet qui bloque'</​code>​
  
-<note tip>Ce message d'​erreur n'est qu'un avertissementEn effet, vous pouvez tout à fait ne pas en tenir compte et continuer vos mises à jours ou installations</​note>​+===== Erreur libapt-pkg.so.4.12 =====
  
-L'​erreur est parfois bloquanteil semblerait que ce soit un problème ​de proxyIl est possible ​de le régler ​en [[:​tutoriel:​comment_editer_un_fichier|éditant le fichier]] /​etc/​apt/​apt.conf.d/​90no-cache : +Après un crash de Ubuntule système de mise à jour affiche ​un sens interdit, dans la zone de notification. 
-  Acquire +Impossible ​de lancer la logithèque,​ synaptic ou le système de mise à jour en mode graphique.
-  { +
-  http +
-  { +
-  No-Cache "​true";​ +
-  }; +
-  };+
  
 +Dans un terminal, la commande :
 +<​code>​sudo synaptic </​code>​
 +affiche
 +<​code>​synaptic:​ error while loading shared libraries: libapt-pkg.so.4.12:​ cannot open shared object file: No such file or directory </​code>​
  
-FIXME Vous pouvez également essayer ​<​code>​sudo ​apt-key adv --recv-keys --keyserver keyserver.ubuntu.com XXXX</​code> ​où XXXX est la série de chiffre après NO_PUBKEY+Pour résoudre le problème, saisir dans un terminal : 
 +<​code>​sudo ​dpkg-reconfigure libapt-pkg4.12 </​code>​
  
-Si ça ne marche pas avec keyserver.ubuntu.com remplacer par  +===== Erreur du busistes de paquets =====
-[[hkp://​subkeys.pgp.net]] ou +
-[[hkp://​pgp.mit.edu]] ou  +
-[[hkp://​pool.sks-keyservers.net]] (serveurs aléatoires) +
-[[hkp://​keys.nayr.net]] ou encore +
-[[http://​keys.gnupg.net]] //​exemple://<​code>​sudo apt-key adv --recv-keys --keyserver hkp://​subkeys.pgp.net XXXX</​code>​+
  
-=====Erreur du busistes de paquets=====+Si //apt update// vous renvoie : 
 +<​code>​Erreur du busistes de paquets... 0% </​code>​ ou <​code>​Erreur du bus (core dumped)</​code>​ 
 +supprimez les fichiers **/​var/​cache/​apt/​pkgcache.bin** et **/​var/​cache/​apt/​srcpkgcache.bin** : 
 +<​code>​ 
 +sudo mv /​var/​cache/​apt/​pkgcache.bin ~/​pkgcache.bin 
 +sudo mv /​var/​cache/​apt/​srcpkgcache.bin ~/​srcpkgcache.bin 
 +</​code>​ 
 +Puis refaites : 
 +<​code>​sudo apt update</​code>​
  
-Si apt-get update vous renvoie +===== Le paquet installé n’apparaît ​pas dans la liste de Synaptic =====
-    Erreur du busistes de paquets... 0% +
-supprimez les fichiers /​var/​cache/​apt/​pkgcache.bin et /​var/​cache/​apt/​srcpkgcache.bin +
-    sudo mv /​var/​cache/​apt/​pkgcache.bin ~/​pkgcache.bin +
-    sudo mv /​var/​cache/​apt/​srcpkgcache.bin ~/​srcpkgcache.bin +
-Puis refaites +
-    sudo apt-get update +
- +
-=====le paquet installé n'​apparait ​pas dans la liste de Synaptic===== +
- +
- +
-Probleme rencontré:​ +
- +
-L'​installation de paquets .deb avec //​**gedebi**//​ se passe sans souci mais ces paquets n'​apparaissent pas dans Synaptic et apt-get ne les trouve pas non plus (par exemple pour les supprimer).+
  
 +__Problème rencontré :__\\
 +L'​installation de paquets .deb avec //​**[[:​gdebi]]**//​ se passe sans souci mais ces paquets n'​apparaissent pas dans [[:​Synaptic]] et [[:​apt-cli|apt]] ne les trouve pas non plus (par exemple pour les supprimer).\\
 Ils sont pourtant installés car lorsqu'​on appelle les programmes correspondants,​ ils se lancent sans problème. Ils sont pourtant installés car lorsqu'​on appelle les programmes correspondants,​ ils se lancent sans problème.
  
-La solution consiste à:+__La solution consiste à :__
  
 +  - Localiser le binaire <​code>​
 +dpkg -S /​chemin/​binaire
 +aptitude show nompaquet
 +</​code>​
 +  - ouvrir [[:​Synaptic]] et vérifier la présence des paquets.
  
-1) localiser le binaire+//Merci à PK pour la solution.//
  
-2) dpkg -S /chemin/binaire+===== Erreurs dans le fichier ​/etc/apt/​sources.list =====
  
-3) aptitude show nompaquet+Les erreurs de type :
  
-4) ouvrir Synaptic et vérifier ​la présence ​des paquets.+<​code>​ 
 +'​E:​Ligne 56 mal formée dans la liste des sources /​etc/​apt/​sources.list (analyse de l'​URI),​ E:La liste des sources ne peut être lue.'​ 
 +</​code>​ 
 +indiquent une erreur dans le fichier **/​etc/​apt/​sources.list.**
  
 +Il suffit d'​[[:​tutoriel:​comment_editer_un_fichier|éditer]] avec les [[:​sudo|droits d'​administration]] le fichier **/​etc/​apt/​sources.list** pour supprimer ou commenter (c'est à dire ajouter un # au début de la ligne) les lignes mal formées de ce fichier (à noter que le message d'​erreur peut n'​indiquer qu'une seule ligne alors que plusieurs lignes sont à supprimer).
  
-Merci à PK pour la solution.+Les lignes mal formées se reconnaissent facilement : elles ne sont pas commentées et ne respectent pas la syntaxe du sources.list (on trouve des exemples de lignes correctes [[sources.list|ici]]).
  
 +Une fois la modification effectuée, il faut sauver puis quitter, et faire :
 +<​code>​sudo apt update</​code>​
  
-===== Erreurs dans le fichier /​etc/​apt/​source.list ===== +En cas de doute, on peut également régénérer complètement son sources.list, par exemple à partir ​de [[http://​sources-list.ubuntu-fr-secours.org/​|ce site]].
-Les erreurs ​de type +
  
-<​code>'​E:Ligne 56 mal formée dans la liste des sources /​etc/​apt/​sources.list (analyse de l'​URI),​ E:La liste des sources ne peut être lue.'</​code>​ +===== E: Encountered a section with no Packageheader =====
-indiquent une erreur dans le fichier /​etc/​apt/​sources.list.+
  
-Il suffit ​de faire sous Gnome +Un bug semble parfois empêcher l'​accès aux applications ​de la [[:​gnome-software|logithèque]] (idem avec [[:​Synaptic]]),​ lors d'une mise à jour de la liste des paquets (via ''​apt update''​),​ la console retourne une erreur de ce type 
-<​code>​gksudo gedit /etc/apt/sources.list</​code>​ +<​code>​ 
-ou sous KDE +E: Encountered a section with no Package: header 
-<​code>​kdesudo kate /etc/apt/sources.list</​code>​ +E: Problem with MergeList ​/var/lib/apt/lists/[...] 
-ce qui ouvre le fichierIl faut alors supprimer ou commenter (c'​est ​à dire ajouter un # au début de la ligne) les lignes mal formées ​de ce fichier (à noter que le message d'​erreur peut n'​indiquer qu'une seule ligne alors que plusieurs lignes sont à supprimer).+</​code>​ 
 +La suppression du contenu du dossier /​var/​lib/​apt/​lists/​ règle souvent le problème ​
 +<​code>​ 
 +sudo rm /var/lib/apt/lists/* -vf 
 +sudo apt update 
 +</​code>​ 
 +[[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=481901|Discussion ​à propos ​de ce problème sur le forum ubuntu-fr]].
  
-Les lignes mal formées se reconnaissent facilement : elles ne sont pas commentées et ne respectent pas la syntaxe du sources.list (on trouve des exemples ​de lignes correctes [[sources.list|ici]]).+===== Erreur ​de Signature =====
  
-FIXME ce générateur de sources.list ​à été mis à jour la dernière fois pour Ubuntu ​[[:lucid|10.04]]+FIXME Informations ​à  ​croiser avec [[:​ppa#​erreur_du_serveur_de_cles]] et/ou [[:apt-key]]\\
  
-Une fois la modification effectuée, il faut sauver puis quitter, et faire +Les dépôts utilisent des clés publiques pour authentifier leur contenu. Si vous avez ajouté un dépôt non officiel (Medibuntu, ppa.launchpad ...) à votre liste de canaux logiciels, il vous faut l'​authentifier.\\ 
-<​code>​sudo apt-get update</​code>​+Consultez le site du dépôt en questionou la documentation Ubuntu, afin de pouvoir récupérer la clé et l'​installer.
  
-En cas de douteon peut également régénérer complètement son sources.list,​ par exemple ​à partir de [[http://​sources-list.ubuntu-fr-secours.org/​|ce site]].+<note tip>Ces messages d'​erreurs ne sont qu'un avertissement. ​En effetvous pouvez tout à fait ne pas en tenir compte et continuer vos mises à jours ou installations<​/note>
  
-===== E: Encountered a section with no Package: header ​===== +==== Erreur GPG ====
-Un bug semble parfois empêcher l'​accès aux applications de la logithèque (idem avec Synaptic), lors d'une mise à jour de la liste des paquets (via apt-get update), la console retourne une erreur de ce type : +
-<​code>​E:​ Encountered a section with no Package: header +
-E: Problem with MergeList /​var/​lib/​apt/​lists/​[...]</​code>​ +
-La suppression du contenu du dossier /​var/​lib/​apt/​lists/​ règle souvent le problème : +
-<​code>​sudo rm /​var/​lib/​apt/​lists/​* -vf +
-sudo apt-get update</​code>​ +
-[[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=481901|Discussion à propos de ce problème sur le forum ubuntu-fr.]]+
  
-===== Erreur GPG === +<​code>​ 
- +W: Erreur de GPG : http://​archive.canonical.com oneiric Release : Les signatures suivantes ne sont pas valables : BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <​ftpmaster@ubuntu.com>​
-<​code>​W:​ Erreur de GPG : http://​archive.canonical.com oneiric Release : Les signatures suivantes ne sont pas valables : BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <​ftpmaster@ubuntu.com>​+
 W: Une erreur s'est produite lors du contrôle de la signature. Le dépôt n'est pas mis à jour et les fichiers d'​index précédents seront utilisés. Erreur de GPG : http://​extras.ubuntu.com oneiric Release : Les signatures suivantes ne sont pas valables : BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <​ftpmaster@ubuntu.com>​ W: Une erreur s'est produite lors du contrôle de la signature. Le dépôt n'est pas mis à jour et les fichiers d'​index précédents seront utilisés. Erreur de GPG : http://​extras.ubuntu.com oneiric Release : Les signatures suivantes ne sont pas valables : BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <​ftpmaster@ubuntu.com>​
  
 W: Impossible de récupérer http://​extras.ubuntu.com/​ubuntu/​dists/​oneiric/​Release  ​ W: Impossible de récupérer http://​extras.ubuntu.com/​ubuntu/​dists/​oneiric/​Release  ​
  
-W: Le téléchargement de quelques fichiers d'​index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place.</​code>​+W: Le téléchargement de quelques fichiers d'​index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place. 
 +</​code>​
  
-Si vous avez ce message d'​erreur et que vous avez tenté la commande apt-key comme ceci qui au final ne résout pas le problème:+Si vous avez ce message d'​erreur et que vous avez tenté la commande ​[[:apt-key]] comme ceci qui au final ne résout pas le problème :
  
 <​code>​sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5</​code>​ <​code>​sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5</​code>​
  
-Lancez cette série de commande:+Lancez cette série de commande :
  
 <​code>​sudo rm -r /​var/​lib/​apt/​lists <​code>​sudo rm -r /​var/​lib/​apt/​lists
 sudo mkdir -p /​var/​lib/​apt/​lists/​partial sudo mkdir -p /​var/​lib/​apt/​lists/​partial
-sudo apt-get update</​code>​+sudo apt update</​code>​
  
-===== Impossible de verrouiller /​var/​lib/​dpkg/​status===== +==== Signature non vérifiée ​====
-<​code>​ +
-E: Impossible de verrouiller /​var/​lib/​dpkg/​status - open (2 Aucun fichier ou répertoire de ce type) +
-E: Les listes de paquets ou le fichier « status » ne peuvent être analysés ou lus.  +
-</​code>​ +
-Soit le fichier "​status"​ est corrompu, soit il a été effacé. Ce fichier contient l'​ensemble des informations relatives aux paquets installés sur votre système et toutes les manipulations que vous avez effectuées. +
-Sans ce fichier apt et dpkg sont bloqués. Le fonctionnement de votre système est fortement compromis.+
  
-* Solution simple, utiliser le fichier status.old généré automatiquement par le système et le renommer en status : 
 <​code>​ <​code>​
-cp /​var/​lib/​dpkg/​status.old /​var/​lib/​dpkg/​status+W: GPG error: '​adresse d'un dépôt'​ Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY '​XXXXXXXXXXXXXX'​
 </​code>​ </​code>​
  
-Attentionsi il y a trop de différence entre le fichier status et le old, la solution devient aléatoire.+L'​erreur est parfois bloquante, il semblerait que ce soit un problème de proxy. Il est possible ​de le régler en [[:​tutoriel:​comment_editer_un_fichier|éditant ​le fichier]] **/​etc/​apt/​apt.conf.d/​90no-cache** : 
 +<​file>​ 
 +Acquire 
 +
 +http 
 +
 +No-Cache "​true";​ 
 +}; 
 +}; 
 +</​file>​ 
 + 
 +FIXME Vous pouvez également essayer <​code>​sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com XXXX</​code>​ où XXXX est la série de chiffre après NO_PUBKEY. 
 + 
 +Si ça ne marche pas avec keyserver.ubuntu.com remplacer par : 
 +[[hkp://​subkeys.pgp.net]] ou 
 +[[hkp://​pgp.mit.edu]] ou 
 +[[hkp://​pool.sks-keyservers.net]] (serveurs aléatoires) 
 +[[hkp://​keys.nayr.net]] ou encore 
 +[[http://​keys.gnupg.net]] //​exemple://<​code>​sudo apt-key adv --recv-keys --keyserver hkp://​subkeys.pgp.net XXXX</​code>​ 
 + 
 +===== Impossible de verrouiller /​var/​lib/​dpkg/​status =====
  
-Processus complet à suivre dans tous les cas, au delà de la récupération du fichier status.old. 
 <​code>​ <​code>​
-## au cas ou un gestionnaire ​de paquets est encore lancé +E: Impossible de verrouiller /​var/​lib/​dpkg/​status - open (2 Aucun fichier ​ou répertoire de ce type) 
-sudo rm /var/lib/apt/lists/lock+E: Les listes ​de paquets ​ou le fichier « status » ne peuvent être analysés ou lus.  
 +</​code>​ 
 +Soit le fichier "​status" ​est corrompu, soit il a été effacé. Ce fichier contient l'​ensemble des informations relatives aux paquets installés sur votre système et toutes les manipulations que vous avez effectuées. Sans ce fichier apt et dpkg sont bloqués. Le fonctionnement de votre système est alors fortement compromis. 
 + 
 +  * Solution simple, utiliser le fichier status.old généré automatiquement par le système et le renommer en status :<​code>​ 
 +cp /var/lib/dpkg/status.old ​/var/​lib/​dpkg/​status</​code>​Attention,​ si il y a trop de différence entre le fichier status et le old, la solution devient aléatoire.\\ Processus complet à suivre dans tous les cas, au delà de la récupération du fichier status.old : <​code>​
 ## un petit backup au cas ou, prudence ## un petit backup au cas ou, prudence
 sudo cp -arf /​var/​lib/​dpkg /​var/​lib/​dpkg.backup sudo cp -arf /​var/​lib/​dpkg /​var/​lib/​dpkg.backup
Ligne 286: Ligne 345:
 sudo cp /​var/​lib/​dpkg/​available-old /​var/​lib/​dpkg/​available sudo cp /​var/​lib/​dpkg/​available-old /​var/​lib/​dpkg/​available
 ## on purge ## on purge
-sudo rm -rf /​var/​lib/​dpkg/​updates/​* 
 sudo rm -rf /​var/​lib/​apt/​lists sudo rm -rf /​var/​lib/​apt/​lists
 sudo mkdir /​var/​lib/​apt/​lists sudo mkdir /​var/​lib/​apt/​lists
Ligne 292: Ligne 350:
 sudo rm /​var/​cache/​apt/​*.bin sudo rm /​var/​cache/​apt/​*.bin
 ## et on relance ## et on relance
-sudo apt-get clean +sudo apt clean 
-sudo apt-get autoclean +sudo apt autoclean 
-sudo apt-get update+sudo apt update
 sudo dpkg --clear-avail sudo dpkg --clear-avail
 sudo dpkg --configure -a sudo dpkg --configure -a
-sudo apt-get install -f +sudo apt install -f 
-sudo apt-get update +sudo apt update 
-sudo apt-get upgrade +sudo apt upgrade 
- +</​code> ​//FIXME : La suppression manuelle de /​var/​lib/​apt/​lists n’est certainement pas une bonne idée, ça vaudrait le coup de demander conseil aux développeurs/​mainteneurs d’APT pour connaître la marche à suivre recommandée.//​ 
-</​code>​ +  * Si le fichier status.old(ou status-old) n'est plus disponible, le plus sûr, hélas, va consister à réinstaller votre système (ou a le laisser en l'​état,​ sans mise à jour possible ni aucune installation de nouveau paquets possible.
-* Si le fichier status.old(ou status-old) n'est plus disponible, le plus sûr, hélas, va consister à réinstaller votre système (ou a le laisser en l'​état,​ sans mise à jour possible ni aucune installation de nouveau paquets possible. ​ +
-<note tip>​Effectuer une copie de sauvegarde du fichier status est une bonne idée, ne pas confondre alors les commandes CP et RM !</​note> ​    +
  
 +<note warning>
 +Si une de ces opérations échoue à cause d’un verrou (//lock//) dpkg encore en place, suivez ces instructions : [[probleme_apt#​impossible_de_verrouillervarlibdpkglock|Impossible de verrouiller /​var/​lib/​dpkg/​lock]]
 +</​note>​
 ===== "W: Failed to fetch gzip:/​var/​lib/​apt/​lists/​partial/​..."​ lors d'une mise à jour ===== ===== "W: Failed to fetch gzip:/​var/​lib/​apt/​lists/​partial/​..."​ lors d'une mise à jour =====
            
- Voici la solution trouvée sur [[http://​www.kubuntuforums.net/​showthread.php?​57567-Ubuntu-problems-on-update|ce forum]] (en)+ Voici la solution trouvée sur [[http://​www.kubuntuforums.net/​showthread.php?​57567-Ubuntu-problems-on-update|ce forum]] (en) :
            
- <​code>​ +<​code>​
-sudo apt-get clean +
 cd /​var/​lib/​apt ​ cd /​var/​lib/​apt ​
 sudo mv lists lists.old ​ sudo mv lists lists.old ​
 sudo mkdir -p lists/​partial ​ sudo mkdir -p lists/​partial ​
-sudo apt-get clean  +sudo apt clean  
-sudo apt-get update+sudo apt update
 </​code>​ </​code>​
-===== Autres erreurs ===== 
-En cas d'​autres erreurs, pour faire le ménage sans devoir redémarrer : 
- 
-<​code>​sudo rm /​var/​lib/​apt/​lists/​lock 
-sudo rm /​var/​lib/​dpkg/​lock 
-sudo rm /​var/​cache/​apt/​archives/​lock 
-sudo killall apt-get</​code>​ 
- 
- 
-Autre solution possible: 
- 
-Supprimer tous les fichiers d'​installation du paquet par exemple: 
-<​code>​rm /​usr/​bin/​[nom du PAQUET] /​usr/​share/​doc/​[nom du PAQUET] /​usr/​share/​man/​man1/​[nom du PAQUET].1.gz /​var/​crash/​[nom du PAQUET].0.crash /​var/​lib/​dpkg/​info/​[nom du PAQUET].list /​var/​lib/​dpkg/​info/​[nom du PAQUET].md5sums /​var/​lib/​dpkg/​info/​[nom du PAQUET].postinst /​var/​lib/​dpkg/​info/​[nom du PAQUET].prerm</​code>​ 
-(Pour les localiser utiliser ''#​ locate [nom du PAQUET]''​ par exemple) 
- 
-Normalement à partir de là l'​erreur à disparu 
  
-Vous pouvez le désinstaller le paquet proprement puis le réinstaller:​ 
-<​code>​sudo apt-get remove [nom du PAQUET]; sudo apt-get install [nom du PAQUET]</​code>​ 
  
 ---- ----
-//​Contributeurs:​ [[utilisateurs:​Fabien26]],​ [[utilisateurs:​на_краю]],​ [[utilisateurs:​sheep]].//+//​Contributeurs:​ [[:utilisateurs:​Fabien26]],​ [[:utilisateurs:​на_краю]],​ [[:utilisateurs:​sheep]], [[:​utilisateurs:​BeAvEr]],​ [[:​utilisateurs:​krodelabestiole]]//
  • probleme_apt.1404239016.txt.gz
  • Dernière modification: Le 01/07/2014, 20:23
  • par 91.180.202.210