dpkg: erreur lors du traitement de /var/cache/apt/archives/python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--unpack)


2

J'ai eu un problème ( Question 199582 ) qui a été résolu. Malheureusement, je suis coincé à ce stade maintenant.

Fonctionnement

root@X100e:/var/cache/apt/archives# apt-get dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  file libexpat1 libmagic1 libreadline6 libsqlite3-0 mime-support python python-minimal python2.6 python2.6-minimal readline-common
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/5,204kB of archives.
After this operation, 19.7MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(Reading database ... 6108 files and directories currently installed.)
Unpacking python2.6-minimal (from .../python2.6-minimal_2.6.6-5ubuntu1_i386.deb) ...
new installation of python2.6-minimal; /usr/lib/python2.6/site-packages is a directory
which is expected a symlink to /usr/local/lib/python2.6/dist-packages.
please find the package shipping files in /usr/lib/python2.6/site-packages and
file a bug report to ship these in /usr/lib/python2.6/dist-packages instead
aborting installation of python2.6-minimal
dpkg: error processing /var/cache/apt/archives/python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/python2.6-minimal_2.6.6-5ubuntu1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

entraîne l'erreur ci-dessus.

Fonctionnement

root@X100e:/var/cache/apt/archives# dpkg -i python2.6-minimal_2.6.6-5ubuntu1_i386.deb 
(Reading database ... 6108 files and directories currently installed.)
Unpacking python2.6-minimal (from python2.6-minimal_2.6.6-5ubuntu1_i386.deb) ...
new installation of python2.6-minimal; /usr/lib/python2.6/site-packages is a directory
which is expected a symlink to /usr/local/lib/python2.6/dist-packages.
please find the package shipping files in /usr/lib/python2.6/site-packages and
file a bug report to ship these in /usr/lib/python2.6/dist-packages instead
aborting installation of python2.6-minimal
dpkg: error processing python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--install):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 python2.6-minimal_2.6.6-5ubuntu1_i386.deb

entraîne l'erreur ci-dessus.

Fonctionnement

root@X100e:/var/cache/apt/archives# dpkg -i --force-depends python2.6-minimal_2.6.6-5ubuntu1_i386.deb 
(Reading database ... 6108 files and directories currently installed.)
Unpacking python2.6-minimal (from python2.6-minimal_2.6.6-5ubuntu1_i386.deb) ...
new installation of python2.6-minimal; /usr/lib/python2.6/site-packages is a directory
which is expected a symlink to /usr/local/lib/python2.6/dist-packages.
please find the package shipping files in /usr/lib/python2.6/site-packages and
file a bug report to ship these in /usr/lib/python2.6/dist-packages instead
aborting installation of python2.6-minimal
dpkg: error processing python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--install):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 python2.6-minimal_2.6.6-5ubuntu1_i386.deb

n'est pas capable de résoudre ce problème.

Des indices comment résoudre ce problème?

Réponses:


9

Le message d'erreur se plaint que /usr/lib/python2.6/site-packages est un répertoire mais devrait être un lien symbolique. L’explication la plus probable est que certains packages installés ne sont pas conformes à la stratégie de packaging actuelle de Python (où des packages supplémentaires entrent dans la mémoire). /usr/lib/python2.6/dist-packages ), mais mettre des fichiers dans /usr/lib/python2.6/site-packages.

Courir dpkg -S /usr/lib/python2.6/site-packages pour voir quels paquets vous avez qui ne sont pas conformes à la politique actuelle. Le message d'erreur vous incite à signaler un bogue concernant ces packages.

La solution simple consiste à supprimer les packages en cause.

Une autre possibilité est que vous ayez installé des choses dans /usr/lib/python2.6/dist-packages sans passer par le gestionnaire de paquets deb. Dans ce cas, déplacez ces choses vers /usr/local/lib/python2.6/dist-packages. De manière générale, vous ne devez installer ou modifier aucun élément /usr sauf en passant par dpkg ou des programmes de niveau supérieur qui l’appellent ( apt-get, aptitude, Synaptic, ...). L'exception est /usr/local, où vous pouvez faire tout ce que vous voulez. Si dpkg -S /usr/lib/python2.6/site-packages vous indique qu'aucun paquet n'a installé de fichier dans ce répertoire, vous pouvez simplement déplacer le répertoire là où il devrait se trouver:

mv /usr/lib/python2.6/site-packages /usr/local/lib/python2.6/dist-packages

ou si le répertoire cible existe déjà:

mv -i /usr/lib/python2.6/site-packages/* /usr/local/lib/python2.6/dist-packages/
rmdir /usr/lib/python2.6/site-packages

Si vous souhaitez conserver les anciens packages de stratégies, vous pouvez utiliser la solution de contournement suivante:

mkdir -p /usr/local/lib/python2.6/dist-packages
mv -i /usr/lib/python2.6/site-packages/* /usr/local/lib/python2.6/dist-packages
rmdir /usr/lib/python2.6/site-packages
ln -s /usr/local/lib/python2.6/dist-packages /usr/lib/python2.6/site-packages

Si la mv commandes se plaint que certaines cibles existent déjà, cela doit être résolu au cas par cas.

Si vous utilisez la solution de contournement, soyez prêt à semer la confusion si vous installez des packages python non-deb dans /usr/localcomme /usr/local/lib/python2.6/dist-packages contiendra des fichiers gérés par dpkg. De plus, je ne suis pas tout à fait sûr que cela ne posera pas de problèmes de gestion de paquets sur la ligne, tels que des erreurs si vous mettez à niveau ultérieurement ou supprimez les paquets en cause. Essayez la solution de contournement uniquement si vous êtes prêt à faire plus de dépannage plus tard. Là encore, l’option sûre consiste à supprimer les packages en cause avant de mettre à jour votre logiciel. python paquet.


merci Gilles, malheureusement, lancer dpkg -S /usr/lib/python2.6/site-packages/ renvoie une erreur. remarque: il n’ya pas de paquet deb ici (c’est peut-être la raison?) - & gt; Je préfère la solution facile;) - & gt; avez-vous l'intention d'apt-get remove / purge python2.6?
udo

@udo: Désolé, j'ai gaffé, cours dpkg -S /usr/lib/python2.6/site-packages (pas de barre oblique finale). Si le répertoire est vide, supprimez-le simplement. Sinon, que contient-il?
Gilles

aucun problème, essayé les deux ... le répertoire contient le fichier git_remote_helpers-0.1.0-py2.6.egg-info et le répertoire git_remote_helpers - & gt; suppose que je peux supprimer /usr/lib/python2.6/site-packages/* - & gt; correct?
udo

@udo: s’il s’agit de packages python que vous avez installés manuellement (c’est-à-dire, ils sont python, mais pas les packages dpkg), ils doivent être /usr/local/lib/python2.6/dist-packages. Vous pouvez simplement les déplacer là-bas (voir mon édition).
Gilles

Tu es l'homme! travaillé! - & gt; c'est étrange cependant, parce que je ne me souviens pas d'avoir installé manuellement ces paquets ... merci beaucoup!
udo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.