Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
probleme_apt [Le 27/12/2021, 11:55] vv221 [Impossible de verrouiller /var/lib/dpkg/lock] Remplacement du conseil nuisible de suppression du verrou par des opérations de dépannage |
probleme_apt [Le 25/04/2023, 09:20] (Version actuelle) frombenny lien vers la logithèque |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | |||
| {{tag>apt paquet dépôts}} | {{tag>apt paquet dépôts}} | ||
| ---- | ---- | ||
| Ligne 43: | Ligne 42: | ||
| Enfin en tous cas quelque chose qui dit **dpkg %%--%%configure -a** dans le texte. | Enfin en tous cas quelque chose qui dit **dpkg %%--%%configure -a** dans le texte. | ||
| - | * Faites : <code> | + | * Faites :<code> |
| sudo dpkg --configure -a </code> | sudo dpkg --configure -a </code> | ||
| Ligne 97: | Ligne 96: | ||
| ===== Dpkg: error processing archive ===== | ===== 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. | + | 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. |
| - | Exemple: | + | Exemple: |
| <code> | <code> | ||
| Préparation du décompactage de .../ubuntu-mate-default-settings_0.3.9~trusty2_all.deb ... | Préparation du décompactage de .../ubuntu-mate-default-settings_0.3.9~trusty2_all.deb ... | ||
| Ligne 141: | Ligne 140: | ||
| set -e | set -e | ||
| exit 0 | exit 0 | ||
| - | </file> | + | </file> |
| <note> | <note> | ||
| Ligne 158: | Ligne 157: | ||
| 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).\\ | 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).\\ | + | 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 des commandes : | 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> | <code> | ||
| Ligne 191: | Ligne 190: | ||
| Des erreurs ont été rencontrées pendant l'exécution : 'le paquet qui bloque' | Des erreurs ont été rencontrées pendant l'exécution : 'le paquet qui bloque' | ||
| </code> | </code> | ||
| - | Faites : | + | Faites : |
| <code>gksu gedit /var/lib/dpkg/info/lepaquetquibloque.postrm</code> | <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 : | 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 : | ||
| Ligne 244: | Ligne 243: | ||
| ===== Erreurs dans le fichier /etc/apt/sources.list ===== | ===== Erreurs dans le fichier /etc/apt/sources.list ===== | ||
| - | Les erreurs de type : | + | Les erreurs de type : |
| <code> | <code> | ||
| Ligne 262: | Ligne 261: | ||
| ===== E: Encountered a section with no Package: header ===== | ===== E: Encountered a section with no Package: header ===== | ||
| - | Un bug semble parfois empêcher l'accès aux applications de la [[:software-center|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 : | + | 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> | <code> | ||
| E: Encountered a section with no Package: header | E: Encountered a section with no Package: header | ||
| Ligne 325: | Ligne 324: | ||
| Si ça ne marche pas avec keyserver.ubuntu.com remplacer par : | Si ça ne marche pas avec keyserver.ubuntu.com remplacer par : | ||
| [[hkp://subkeys.pgp.net]] ou | [[hkp://subkeys.pgp.net]] ou | ||
| - | [[hkp://pgp.mit.edu]] ou | + | [[hkp://pgp.mit.edu]] ou |
| [[hkp://pool.sks-keyservers.net]] (serveurs aléatoires) | [[hkp://pool.sks-keyservers.net]] (serveurs aléatoires) | ||
| [[hkp://keys.nayr.net]] ou encore | [[hkp://keys.nayr.net]] ou encore | ||
| Ligne 339: | Ligne 338: | ||
| * Solution simple, utiliser le fichier status.old généré automatiquement par le système et le renommer en status :<code> | * 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> | + | 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> |
| - | ## au cas ou un gestionnaire de paquets est encore lancé | + | |
| - | sudo rm /var/lib/apt/lists/lock | + | |
| ## 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 348: | 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 362: | Ligne 358: | ||
| sudo apt update | sudo apt update | ||
| sudo apt upgrade | sudo apt upgrade | ||
| - | </code> | + | </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.// |
| - | * 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 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 ===== | ||