Problème lors d'une upgrade Squeeze => Wheezy

Hello all,

Je suis en train de mettre à jour une machine squeeze vers wheezy et je recontre un problème jamais vu encore.
Après avoir :

  • modifié mon sources.list avec les sources wheezy
  • fait un apt-get update
  • fait un apt-get upgrade
  • fait un apt-get dist-uprade (qui a foiré en pleine configuration de pyhton2.7-minimal)

je me retrouve devant une situation que je n’avais encore jamais rencontré.

Voici la fin de l’exécution du dist-upgrade :

Dépaquetage de python2.7-minimal (à partir de .../python2.7-minimal_2.7.3-6_amd64.deb) ... new installation of python2.7-minimal; /usr/lib/python2.7/site-packages is a directory which is expected a symlink to /usr/local/lib/python2.7/dist-packages. please find the package shipping files in /usr/lib/python2.7/site-packages and file a bug report to ship these in /usr/lib/python2.7/dist-packages instead aborting installation of python2.7-minimal dpkg: erreur de traitement de /var/cache/apt/archives/python2.7-minimal_2.7.3-6_amd64.deb (--unpack) : le sous-processus nouveau script pre-installation a retourné une erreur de sortie d'état 1 configured to not write apport reports Préparation du remplacement de libreadline6 6.1-3 (en utilisant .../libreadline6_6.2+dfsg-0.1_amd64.deb) ... Dépaquetage de la mise à jour de libreadline6:amd64 ... Traitement des actions différées (« triggers ») pour « man-db »... Des erreurs ont été rencontrées pendant l'exécution : /var/cache/apt/archives/python2.7-minimal_2.7.3-6_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)

J’ai ensuite tenté un apt-get install -f qui n’a pas été très concluant :

# apt-get install -f Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Correction des dépendances... Fait Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires : cpp-4.3 gcc-4.3-base libcrypto++8 libdbd-mysql-perl libdbi-perl libevent-1.4-2 libfont-freetype-perl libfontenc1 libgmp3c2 libjs-mootools libnet-daemon-perl libplrpc-perl librpcsecgss3 libxcb-render-util0 libxfont1 linux-headers-2.6.32-5-common linux-kbuild-2.6.32 python2.6-dbg rubygems1.8 xfonts-encodings xfonts-utils Veuillez utiliser « apt-get autoremove » pour les supprimer. Les paquets supplémentaires suivants seront installés : python2.7-minimal Paquets suggérés : binfmt-support Les NOUVEAUX paquets suivants seront installés : python2.7-minimal 0 mis à jour, 1 nouvellement installés, 0 à enlever et 157 non mis à jour. 143 partiellement installés ou enlevés. Il est nécessaire de prendre 0 o/1 783 ko dans les archives. Après cette opération, 5 591 ko d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer [O/n] ? o (Lecture de la base de données... 44792 fichiers et répertoires déjà installés.) Dépaquetage de python2.7-minimal (à partir de .../python2.7-minimal_2.7.3-6_amd64.deb) ... new installation of python2.7-minimal; /usr/lib/python2.7/site-packages is a directory which is expected a symlink to /usr/local/lib/python2.7/dist-packages. please find the package shipping files in /usr/lib/python2.7/site-packages and file a bug report to ship these in /usr/lib/python2.7/dist-packages instead aborting installation of python2.7-minimal dpkg: erreur de traitement de /var/cache/apt/archives/python2.7-minimal_2.7.3-6_amd64.deb (--unpack) : le sous-processus nouveau script pre-installation a retourné une erreur de sortie d'état 1 Des erreurs ont été rencontrées pendant l'exécution : /var/cache/apt/archives/python2.7-minimal_2.7.3-6_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)

Voilà l’état des paquets en rapport avec python sur le système :

# dpkg -l | grep -i "python" iU python 2.7.3-4 iU python-apt 0.8.8.2 ii python-apt-common 0.8.8.2 ii python-central 0.6.17 iU python-crypto 2.6-4 iU python-dbg 2.7.3-4 iU python-jinja2 2.6-1 ii python-keyczar 0.6~b.061709+svn502-1 iU python-markupsafe 0.15-1 iU python-minimal 2.7.3-4 iU python-mysqldb 1.2.3-2 ii python-paramiko 1.7.6-5 ii python-pkg-resources 0.6.24-1 ii python-pyasn1 0.0.11a-1 iU python-pycryptopp 0.5.29-1 iU python-pycryptopp-dbg 0.5.29-1 iU python-simplejson 2.5.2-1 iF python-support 1.0.15 iU python-yaml 3.10-4 ii python2.6 2.6.6-8+b1 ii python2.6-dbg 2.6.6-8+b1 ii python2.6-minimal 2.6.6-8+b1 iU python2.7 2.7.3-6 iU python2.7-dbg 2.7.3-6

phython-support est le seul paquet en échec de config selon dpkg :

# dpkg -l | grep -E "^.F" iF python-support 1.0.15

Que faire ? :frowning:
Merci d’avance de votre aide

J’ai fini par m’en sortir après de multiples opérations (suppression des paquets, réinstallation de paquets “cassés”, re-suppression, ré-installation des paquets supprimés… Etrange tout ça, je ne sais pas ce qu’a subit cette machine mais elle en a vu des toutes les couleurs visiblement.

[code]# dpkg -l | grep -Ev "^ii"
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom Version Architecture Description
++±================================-============================-============-=================================

[/code]

Ouf, c’est mieux =)

Bonjour,

Aviez-vous installé à la main (easy_install, pip, compilation à la main) des paquets relatifs à Python 2.7 sur votre squeeze ?

Oui, ansible, un programme dépendant de python. C’est d’ailleurs en le désinstallant via dpkg que j’ai commencé à débloquer ma situation.
Pourquoi (quelque chose me dit que je vais être un peu moins ignorant après ta réponse :115 ) ?

[quote=“OpenPanic”]Oui, ansible, un programme dépendant de python. C’est d’ailleurs en le désinstallant via dpkg que j’ai commencé à débloquer ma situation.
Pourquoi (quelque chose me dit que je vais être un peu moins ignorant après ta réponse :115 ) ?[/quote]

Comment aviez-vous installé ce programm ansible ? Avec apt-get ou à la main ?

En fait le message d’erreur retourné par apt-get, à savoir :

/usr/lib/python2.7/site-packages is a directory
which is expected a symlink to /usr/local/lib/python2.7/dist-packages.

indique qu’un lien symbolique a été remplacé par un répertoire en dur, ce qui peut avoir été fait par un autre programme qu’apt-get, comme easy_install ou pip. En utilisant conjontement plusieurs programmes d’installation on peut obtenir des résultats inattendus et mettre en danger son installation.

Le paquet a été compilé depuis les sources du projet. Le makefile permettant la création d’un .deb, ce dernier a été installé via dpkg.
Cependant, je sais que de nombreux tests ont été faits sur cette machine par des débutants dans le monde de linux, il n’est pas exclu que des programmes comme easy_install aient été utilisés.

[quote=“OpenPanic”]Le paquet a été compilé depuis les sources du projet. Le makefile permettant la création d’un .deb, ce dernier a été installé via dpkg.
Cependant, je sais que de nombreux tests ont été faits sur cette machine par des débutants dans le monde de linux, il n’est pas exclu que des programmes comme easy_install aient été utilisés.[/quote]

ok je comprends mieux :slightly_smiling: je pense que c’est lié, peut-être que le programme en question créé le répertoire dont j’ai parlé, ou alors pip ou easy_install. En tout cas cela a perturbé l’organisation des répertoires et des fichiers attendus par le paquet python2.7
Il est à retenir dans le cas de l’utilisation de pip ou easy_install d’utiliser un environnement virtuel à l’aide de virtualenv distinct du système pour installer des modules extérieurs non empaquetés par Debian.

Bonne journée

Merci beaucoup pour toutes ces précisions, je vais creuser tout ça :023