Problème mise a jour et dépendance

Bonjour,
Après avoir passer beaucoup de temps a essayer de resoudre le problème , je me remet a vous…
Après une mise a jour de mon Debian 9 qui tourne sur un serveur Kimsufi sans problème depuis 2019 ,
impossible maintenant de refaire une mise a jour ou d’installer ou désinstaller quoi que ça soit.
j’ai toujours la même erreur , même fait un reboot du systeme:

Paramétrage de apache2 (2.4.25-3+deb9u13) ...
info: Executing deferred 'a2enconf apache2-doc' for package apache2-doc
info: Executing deferred 'a2enconf phpmyadmin' for package phpmyadmin
info: Executing deferred 'a2enconf roundcube.conf' for package roundcube-core
ERROR: Conf roundcube not properly enabled: /etc/apache2/conf-enabled/roundcube.conf is a real file, not touching it
dpkg: erreur de traitement du paquet apache2 (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
dpkg: des problèmes de dépendances empêchent la configuration de python3-certbot-apache :
 python3-certbot-apache dépend de apache2 ; cependant :
 Le paquet apache2 n'est pas encore configuré.

dpkg: erreur de traitement du paquet python3-certbot-apache (--configure) :
 problèmes de dépendances - laissé non configuré
dpkg: des problèmes de dépendances empêchent la configuration de python-certbot-apache :
 python-certbot-apache dépend de python3-certbot-apache ; cependant :
 Le paquet python3-certbot-apache n'est pas encore configuré.

dpkg: erreur de traitement du paquet python-certbot-apache (--configure) :
 problèmes de dépendances - laissé non configuré
Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u4) ...
Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
dpkg: des problèmes de dépendances empêchent la configuration de mailman :
 mailman dépend de apache2 | httpd ; cependant :
 Le paquet apache2 n'est pas encore configuré.
  Le paquet httpd n'est pas installé.
  Le paquet apache2 qui fournit httpd n'est pas encore configuré.

dpkg: erreur de traitement du paquet mailman (--configure) :
 problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
 apache2
 python3-certbot-apache
 python-certbot-apache
 mailman
E: Sub-process /usr/bin/dpkg returned an error code (1)"

J’espère que vous pourrez m’aider

Je ne connais pas grand-chose à apache, mais d’après la page de manuel d’a2enconf, le répertoire /etc/apache2/conf-enabled/ ne devrait contenir que des liens symboliques (pointant vers les fichiers dans /etc/apache2/conf-available/) et non de vrais fichiers.

ls -lh /etc/apache2/conf-available/
ls -lh /etc/apache2/conf-enabled/

Merci PascalHambourg,
J’ai pus corriger cette erreur mais pas les autres entre temps j’ai essayer ceci et cela , mon problème est lier a la mise a jour de Python 2.7 vers 3.5 , que j’avais effectuer y a quelques jours je pense , j’ai donc désinstaller tout python , erreur fatal je pense… maintenant j’ai les erreurs:

Des erreurs ont été rencontrées pendant l'exécution :
python-dnspython
 libapache2-mod-python
 python-pkg-resources
 python-virtualenv
 mailman
 getmail4

Comment réparer cela? j’héberge un serveur mail sinon ,j’aurai déja réinstaller tout le systeme.
Help

Il n’y avait pas d’autre erreur à corriger, tout le reste était lié à l’échec de configuration d’apache2. Il faut lire attentivement (et comprendre) les messages affichés avant de faire n’importe quoi.

Il n’y a pas de mise à jour de python2.7 vers python3.5, ce sont des paquets indépendants qui peuvent (et sont souvent) installés côte à côte, certains paquets dépendant de l’un ou de l’autre.

Poste le retour complet de la commande.

bon j’ai remis la version python d’origine:

$python --version:

Python 2.7.2
$sudo update-alternatives --config python
update-alternatives: avertissement: /etc/alternatives/python a été changé (manuellement ou par un script) ; bascule vers des mises à jour manuelles uniquement
Il existe 1 choix pour l'alternative python (qui fournit /usr/bin/python).
Sélection    Chemin               Priorité  État
------------------------------------------------------------
0            /usr/bin/python2.7   1         mode automatique
1            /usr/bin/python2.7   1         mode manuel

$ apt update:

apt upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
6 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Paramétrage de python-dnspython (1.15.0-1+deb9u1) ...
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 35, in <module>
    from debpython.version import SUPPORTED, debsorted, vrepr, \
  File "/usr/share/python/debpython/version.py", line 24, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: erreur de traitement du paquet python-dnspython (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Paramétrage de libapache2-mod-python (3.3.1-11) ...
apache2_invoke python: already enabled
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 35, in <module>
    from debpython.version import SUPPORTED, debsorted, vrepr, \
  File "/usr/share/python/debpython/version.py", line 24, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: erreur de traitement du paquet libapache2-mod-python (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Paramétrage de python-pkg-resources (33.1.1-1) ...
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 35, in <module>
    from debpython.version import SUPPORTED, debsorted, vrepr, \
  File "/usr/share/python/debpython/version.py", line 24, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: erreur de traitement du paquet python-pkg-resources (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
dpkg: des problèmes de dépendances empêchent la configuration de python-virtualenv :
 python-virtualenv dépend de python-pkg-resources ; cependant :
 Le paquet python-pkg-resources n'est pas encore configuré
dpkg: erreur de traitement du paquet python-virtualenv (--configure) :
 problèmes de dépendances - laissé non configuré
dpkg: des problèmes de dépendances empêchent la configuration de mailman :
 mailman dépend de python-dnspython ; cependant :
 Le paquet python-dnspython n'est pas encore configuré.
dpkg: erreur de traitement du paquet mailman (--configure) :
 problèmes de dépendances - laissé non configuré
Paramétrage de getmail4 (4.53.0-1+deb9u1) ...
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 35, in <module>
    from debpython.version import SUPPORTED, debsorted, vrepr, \
  File "/usr/share/python/debpython/version.py", line 24, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: erreur de traitement du paquet getmail4 (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Des erreurs ont été rencontrées pendant l'exécution :
 python-dnspython
 libapache2-mod-python
 python-pkg-resources
 python-virtualenv
 mailman
 getmail4
E: Sub-process /usr/bin/dpkg returned an error code (1)

Voila toute la commande update, s’est le bazard total , bien que je gère ce serveur depuis 3 ans , avec mes connaissance linux , la cela dépasse…
Merci pour votre aide

Ne connaissant rien à python, je passe. La mention de « python » dans le titre attirera peut-être des connaisseurs.

Bonjour,

Moi pareil, cependant j’ai remarqué dans les messages d’erreur toujours la même galère : ImportError: No module named 'ConfigParser'
Il suffit de « googler » cette string pour trouver des wagons de réponses à étudier, car ça cause aussi bien de py2 que de py3.

Courage…

Bonjour,
Quelle est la liste des packages pythons que tu as desinstaller?
car déjà il suffit de les reinstaller tous.

Bon après une petite pause je m’y suis remis…
Merci avant tout de toute votre aide , qui ma bien fait reflechir :slight_smile:
j’ai verifier toute les installation encore existyante de python:

ls -l /usr/bin/python* | grep ^l
lrwxrwxrwx 1 root root      24 avril  1 09:45 /usr/bin/python -> /etc/alternatives/python
lrwxrwxrwx 1 root root       9 janv. 24  2017 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root       9 janv. 20  2017 /usr/bin/python3 -> python3.5
lrwxrwxrwx 1 root root      10 janv. 20  2017 /usr/bin/python3m -> python3.5m

Donc oui , y avait toujours python2 et 3.5 installer?
Vérifier le lien symbolique:

readlink /usr/bin/python
/usr/bin/python -> /etc/alternatives/python

Donc correction vers le bon dossier:

unlink /usr/bin/python
ln -sv python2 /usr/bin/python

/usr/bin/python2 → python2.7

puis:
apt-get update & upgrade:

Paramétrage de toutes les dépendances…
Plus d’erreur… Resolu :slight_smile:
Ouf… voila si ça pourra aider quelqu’un aussi , j’en ai eu des sueur :slight_smile:

Ce genre de lien est géré par le système des alternatives de dpkg. Il aurait mieux valu utiliser update-alternatives au lieu de le court-circuiter.

Bonsoir,

À condition de le savoir.

Et comme bien souvent il n’y a rien pour indiquer la bonne solution (à part toi).
Par exemple, en lisant ta réponse je suis allé voir dans le dossier /etc/alternatives et, oui, j’y ai trouvé 257 liens et RIEN, pas un README, pour nous dire qu’est-ce que c’est que tout ce bazar.
Je me mets à la place d’Allan71, qui avait la machine en carafe, voulait que ça refonctionne vite et n’avait pas la ligne directe de celui qui a inventé ces alternatives, il a tenté la modif, ça a fonctionné, il est content et basta.
C’est vrai que ce n’est pas « dans les normes » mais comme l’info n’était pas disponible, comment pouvait-il faire ?

Bah…

Ahem…

Je dirais comme le garagiste: quand on y connait rien en mécanique on ne démonte pas le moteur. On se contente de changer les pneus.

oui,je comprend parfaitement et aurais-tu la bonne solution?

Pareil ,j’avais fait quelques recherches mais j’ai pas trouver d’info sur ce dossier , j’avais trouver sur google pour trouver vers oû pointe le lien symbolique de python:

puis cela me semblait logique de le modifier vers le dossier de python2

Sur un forum d’entraide je me garderai ce genre de réflexion , s’est pas parce-que je m’y connais pas en python , ou plutot j’ai jamais eu de problème de ce genre sur mes serveurs , que je my connais pas sur debian , je pense que personnes ne s’y connais parfaitement le sujet est trop vaste…

Cette commande ne fait que la moitié du travail. Lorsqu’une commande est gérée par les alternatives, elle devient un lien symbolique qui pointe vers un second lien symbolique dans /etc/alternatives, et c’est ce second lien qui pointe vers le véritable programme. readlink tout court ne résoud que le premier lien. Il faut spécifier l’option -f pour suivre tous les liens, ou utiliser realpath (si la cible de chaque lien existe), ou ls -l sur la cible du premier lien (attention si lien relatif, c’est par rapport au chemin du lien).

Cependant dans aucune de mes installations de Debian python n’est géré par les alternatives, c’est un lien direct vers python2.7 ou python2 (qui pointe lui-même vers python2.7). Donc ta solution n’est probablement pas si mauvaise.

Tu peux regarder si le lien /etc/alternatives/python existe et vers quoi il pointe avec ls -l ou readlink.

j’ai vérifier ce matin et comparer sur un serveur identique et d’origine:
celui qui avait bugger :

readlink ou ls -f /usr/bin/python:
/etc/alternatives/python

en faite /etc/alternatives/python lui aussi un lien symbolique qui pointe sur:

readlink /etc/alternatives/python >/usr/bin/python2.7

sur l’autre serveur :
Pas de symlink python dans /etc/alternatives simplement:

readlink /usr/bin/python > /usr/bin/python2.7

Donc , je donc supprimer le symplink dans /etc/alternatives
unlink python

ln -sf python2.7 python

pour finalement avoir que :

readlink /usr/bin/python > /usr/bin/python2.7

J’ai vérifier pas d’erreur avec update & upgrade
Merci pour ton aide

Donc la cible finale était identique, et le court-circuitage de l’alternative n’aurait dû causer aucun changement fonctionnel.

oui effectivement ,je pense avoir mis le bazard au moment d’avoir désinstaller une partie de python2 , bref je ferai plus la même boulette :kissing_smiling_eyes:
Mais par-contre j’ai remarquer avec la commande « htop »
Que Fail2ban fonctionnait bien avec python3 que j’avais installer avant le bug:

/usr/bin/python3 /usr/bin/fail2ban-server…

Mais pas Mailman qui est rester sur python2, bien que Mailman3 soit également présent

/usr/bin/python /var/lib/Mailman…

Bref ceci est un autre problème… voir si je vais modifier ou laisser comme ça

Cela n’etait pas adressé à toi, désolé, mais à la réponse de jipete

Sinon plus directement pour ton problème, tout ce qui est langage de type:

  • Python 21.7, 3.5
  • Perl
  • etc…
    ne jamais faire de désinstallation impromptue.
    Si la commande apt autoremove ne le fait pas alors il ne faut pas y toucher.

Car ces packages sont tellement liés à un grand nombre d’autres packages, que tu risques en fait de casser quelque chose en les manipulant trop violemment.

update-alternative est une commande qui sert à gérer éventuellement les problématqieues de versions (ca marche aussi pour PHP pour jongler entre les versions des différents sites qu’on peut avoir,etc…)