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?

udo
la source

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.

Gilles
la source
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