Migration vers Yunohost 4 : Prb sur dépendance Dovecot

Mon serveur YunoHost

PC AMD
Mise à niveau du système vers Debian Buster et YunoHost 4.x

Description du problème

Pendant la migration vers yunohost 4 gros plantage sur démarrage de slapd à priori, j’ai pu reprendre la main sur le serveur mais j’ai maintenant le problème de dépendance suivant :

  Les paquets suivants contiennent des dépendances non satisfaites :
 dovecot-antispam : Dépend: dovecot-abi-2.2.abiv27 mais il n'est pas installable
 dovecot-imapd : Dépend: dovecot-core (= 1:2.2.27-3+deb9u6) mais 1:2.3.4.1-5+deb10u4 est installé
 dovecot-ldap : Dépend: dovecot-core (= 1:2.2.27-3+deb9u6) mais 1:2.3.4.1-5+deb10u4 est installé
 dovecot-lmtpd : Dépend: dovecot-core (= 1:2.2.27-3+deb9u6) mais 1:2.3.4.1-5+deb10u4 est installé
 dovecot-managesieved : Dépend: dovecot-core (= 1:2.2.27-3+deb9u6) mais 1:2.3.4.1-5+deb10u4 est installé
 dovecot-sieve : Dépend: dovecot-core (= 1:2.2.27-3+deb9u6) mais 1:2.3.4.1-5+deb10u4 est installé
E: Dépendances non satisfaites. Essayez « apt --fix-broken install » 

Précision si j’essai d’installer la version adéquate dovecot pour régler les dépendances j’ai ceci:

dpkg -i /var/cache/apt/archives/dovecot-imapd_1%3a2.3.4.1-5+deb10u4_amd64.deb
(Lecture de la base de données… 74394 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de …/dovecot-imapd_1%3a2.3.4.1-5+deb10u4_amd64.deb …
/var/lib/dpkg/info/dovecot-imapd.prerm: 9: /var/lib/dpkg/info/dovecot-imapd.prerm: invoke-rc.d: not found
dpkg: avertissement: old dovecot-imapd package pre-removal script subprocess returned error exit status 127
dpkg: tentative d’exécution du script du nouveau paquet à la place…
/var/lib/dpkg/tmp.ci/prerm: 9: /var/lib/dpkg/tmp.ci/prerm: invoke-rc.d: not found
dpkg: erreur de traitement de l’archive /var/cache/apt/archives/dovecot-imapd_1%3a2.3.4.1-5+deb10u4_amd64.deb (–install) :
new dovecot-imapd package pre-removal script subprocess returned error exit status 127
Des erreurs ont été rencontrées pendant l’exécution :
/var/cache/apt/archives/dovecot-imapd_1%3a2.3.4.1-5+deb10u4_amd64.deb

J’ai aussi essayé cela:

[root@yunohost] archives # apt-get -f install
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 supplémentaires suivants seront installés :
dovecot-antispam dovecot-imapd dovecot-ldap dovecot-lmtpd dovecot-managesieved dovecot-sieve
Paquets suggérés :
crm114 ufw
Les paquets suivants seront mis à jour :
dovecot-antispam dovecot-imapd dovecot-ldap dovecot-lmtpd dovecot-managesieved dovecot-sieve
6 mis à jour, 0 nouvellement installés, 0 à enlever et 254 non mis à jour.
1 partiellement installés ou enlevés.
Il est nécessaire de prendre 0 o/5 703 ko dans les archives.
Après cette opération, 1 498 ko d’espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
Lecture des fichiers de modifications (« changelog »)… Terminé
Paramétrage de dovecot-core (1:2.3.4.1-5+deb10u4) …
insserv: script sudo-ldap: service sudo-ldap already provided!
doveconf: Error: Couldn’t load plugin /usr/lib/dovecot/modules/settings/libmanagesieve_login_settings.so: Module is for different ABI version 2.2.ABIv27(2.2.27) (we have 2.3.ABIv4(2.3.4.1))
doveconf: Error: Couldn’t load plugin /usr/lib/dovecot/modules/settings/libmanagesieve_settings.so: Module is for different ABI version 2.2.ABIv27(2.2.27) (we have 2.3.ABIv4(2.3.4.1))
doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -Pn > dovecot-new.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:25: ssl_dh_parameters_length is no longer needed
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:28: ssl_protocols has been replaced by ssl_min_protocol
doveconf: Warning: please set ssl_dh=</etc/dovecot/dh.pem
doveconf: Warning: You can generate it with: dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam -inform der > /etc/dovecot/dh.pem
[…] Restarting IMAP/POP3 mail server: dovecotdoveconf: Error: Couldn’t load plugin /usr/lib/dovecot/modules/settings/libmanagesieve_login_settings.so: Module is for different ABI version 2.2.ABIv27(2.2.27) (we have 2.3.ABIv4(2.3.4.1))
doveconf: Error: Couldn’t load plugin /usr/lib/dovecot/modules/settings/libmanagesieve_settings.so: Module is for different ABI version 2.2.ABIv27(2.2.27) (we have 2.3.ABIv4(2.3.4.1))
doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -Pn > dovecot-new.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:25: ssl_dh_parameters_length is no longer needed
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:28: ssl_protocols has been replaced by ssl_min_protocol
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve
failed!
invoke-rc.d: initscript dovecot, action “restart” failed.
dpkg: erreur de traitement du paquet dovecot-core (–configure) :
installed dovecot-core package post-installation script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l’exécution :
dovecot-core
E: Sub-process /usr/bin/dpkg returned an error code (1)

J’ai bien entendu exécuté “apt --fix-broken install” sans succès et d’autres commandes pour essayer de remettre de l’ordre mais rien à faire, je suis toujours coincé sur ce problème de dépendance qui m’empêche de continuer la migration.
Une idée ?

Merci par avance

Mouarf ben pas sur de comprendre pourquoi dovecot s’emmele les pinceaux à ce point …

Visiblement il y a

et

La première erreur est bizarre … mais je crois que c’est vraiment la deuxième qui pose soucis (“Fatal”) … pas sur de comprendre pourquoi il ne connait pas le protocol sieve car c’est dans la conf normal et y’a jamais de soucis avec ça. Peut-être que c’est parce que le paquet dovecot-sieve a été temporaire désinstallé (ou est dans les choux) mais du coup c’est l’oeuf et la poule car dovecot-sieve a besoin que dovecot-core soit installé pour s’installer …

Bref … A mon avis tu peux faire un 'nano /etc/dovecot/dovecot.conf', et enlever le mot “sieve” sur la ligne qui ressemble à ‘protocols = imap sieve’ … Puis enregistrer/quitter avec Ctrl+X puis relancer ton ‘apt-get -f install’

(dans tous les cas on pourra automatiquement remettre à plat la conf dovecot ensuite)

Merci bcp, cette solution m’a permis de débloquer en partie la situation, j’ai du de plus désinstaller “opendkim” (je ne sais pas si ce paquet est toujours nécessaire) pour pouvoir continuer l’upgrade.
A priori, le problème de mise à jour des packages est résolu, par contre, j’ai le message suivant sur la moulinette yunohost quand je souhaite continuer la migration:

[root@yunohost] gbon # yunohost tools migrations migrate
Info : Exécution de la migration 0015_migrate_to_buster…
Erreur : La migration 0015_migrate_to_buster a échoué avec l’exception La distribution Debian actuelle n’est pas Stretch ! : annulation
Info : L’opération ‘Exécuter les migrations’ a échoué ! Pour obtenir de l’aide, merci de partager le journal de l’opération en utilisant la commande ‘yunohost log display 20201102-100900-tools_migrations_migrate_forward --share’
Erreur : Exécutez ces migrations : ‘0015_migrate_to_buster’, avant migration 0016_php70_to_php73_pools.
Erreur : Exécutez ces migrations : ‘0015_migrate_to_buster’, avant migration 0017_postgresql_9p6_to_11.
Erreur : Exécutez ces migrations : ‘0015_migrate_to_buster’, avant migration 0018_xtable_to_nftable.

Pour information en allant sur l’interface d’admin de yunohost, les étapes suivantes doivent être exécutées:

18. Migrate old network traffic rules to the new nftable system

17. Migrate databases from PostgreSQL 9.6 to 11

16. Migrate php7.0-fpm ‘pool’ conf files to php7.3

15. Mise à niveau du système vers Debian Buster et YunoHost 4.x

Ci dessous le journal d’erreur de la migration:

2020-11-02 11:15:00,624: INFO - Exécution de la migration 0015_migrate_to_buster…
2020-11-02 11:15:00,660: ERROR - La migration 0015_migrate_to_buster a échoué avec l’exception La distribution Debian actuelle n’est pas Stretch ! : annulation
Traceback (most recent call last):
File “/usr/lib/moulinette/yunohost/tools.py”, line 899, in tools_migrations_migrate
migration.run()
File “/usr/lib/moulinette/yunohost/data_migrations/0015_migrate_to_buster.py”, line 28, in run
self.check_assertions()
File “/usr/lib/moulinette/yunohost/data_migrations/0015_migrate_to_buster.py”, line 116, in check_assertions
raise YunohostError(“migration_0015_not_stretch”)
YunohostError: La distribution Debian actuelle n’est pas Stretch !

Et pour info

uname -a
Linux yunohost 4.19.0-12-amd64 #1 SMP Debian 4.19.152-1 (2020-10-18) x86_64 GNU/Linux
cat /etc/debian_version
10.6

même si je pense ne pas être très loin de la sortie du tunnel donc je rebloque malheureusement…
Merci pour l’aide

Salut,

oui effectivment yunohost s’enmele un peu les pinceaux si tu finis la migration à sa place

Tu peux vérifier que tu es bien en 4.x partout avec yunohost --version, et ensuite :

yunohost tools migrations migrate 0015_migrate_to_buster --skip

(pas 100% sur de la syntaxe exacte) (tu peux ptete aussi faire le skip depuis la webadmin ?)

yunohost --version
yunohost:
repo: stable
version: 4.0.8
yunohost-admin:
repo: stable
version: 4.0.4
moulinette:
repo: stable
version: 4.0.3
ssowat:
repo: stable
version: 4.0.5

Dois je considérer que la migration a réussi ?
En effet, il y a la possibilité de cliquer sur “passer” sur les étapes précédemment citées sur l’interface d’admin, dois je le faire sur toutes ces étapes ?

Oui :+1:

Seulement pour la 15 / migration vers buster

Super ça semble fonctionner parfaitement …
Pour /etc/dovecot/dovecot.conf dois je repositionner “sieve” au niveau du “protocols” ou non ?

à moins que tu n’ai modifié dans le passé (avant cette manip) ce fichier, tu peux faire :

yunohost tools regen-conf dovecot --force

car il y a problablement d’autres modifs à appliquer (du au passage stretch->buster)

Au passage si tu fais tourner le diagnostique de Yunohost il devrait te le dire (et t’informer d’autres “problèmes” eventuel, ptete le même genre de chose pour les fichiers nslcd et nsswitch comme mentionné ici à la fin https://yunohost.org/#/stretch_buster_migration

C’est bon tout semble parfait…
Encore merci, je n’ai plus qu’à laisser ce post se fermer…

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.