web-dev-qa-db-fra.com

Réinstallez Spamassassin (Perl cassé)

spamassassin a été brisé sur mon Ubuntu 20.10 et je ne peux pas le réinstaller.

J'ai fait

dpkg --purge spamassassin sa-compile spamc
deluser --remove-all-files debian-spamd
apt update
apt upgrade
apt install spamassassin

et j'ai des erreurs:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  sa-compile spamc
Suggested packages:
  razor libdbi-Perl pyzor libencode-detect-Perl libgeoip2-Perl libnet-patricia-Perl
  libbsd-resource-Perl
The following NEW packages will be installed
  sa-compile spamassassin spamc
0 to upgrade, 3 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/1,235 kB of archives.
After this operation, 4,902 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Selecting previously unselected package spamassassin.
(Reading database ... 271754 files and directories currently installed.)
Preparing to unpack .../spamassassin_3.4.5~pre1-3_all.deb ...
Unpacking spamassassin (3.4.5~pre1-3) ...
Selecting previously unselected package sa-compile.
Preparing to unpack .../sa-compile_3.4.5~pre1-3_all.deb ...
Unpacking sa-compile (3.4.5~pre1-3) ...
Selecting previously unselected package spamc.
Preparing to unpack .../spamc_3.4.5~pre1-3_AMD64.deb ...
Unpacking spamc (3.4.5~pre1-3) ...
Setting up spamc (3.4.5~pre1-3) ...
Setting up spamassassin (3.4.5~pre1-3) ...
Adding system user `debian-spamd' (UID 131) ...
Adding new group `debian-spamd' (GID 136) ...
Adding new user `debian-spamd' (UID 131) with group `debian-spamd' ...
Not creating home directory `/var/lib/spamassassin'.
Insecure dependency in sprintf while running with -T switch at /usr/lib/x86_64-linux-gnu/Perl/5.30/Con
fig.pm line 62.
Compilation failed in require at /usr/lib/x86_64-linux-gnu/Perl/5.30/lib.pm line 6.
BEGIN failed--compilation aborted at /usr/lib/x86_64-linux-gnu/Perl/5.30/lib.pm line 6.
Compilation failed in require at /usr/bin/sa-update line 36.
BEGIN failed--compilation aborted at /usr/bin/sa-update line 36.
dpkg: error processing package spamassassin (--configure):
 installed spamassassin package post-installation script subprocess returned error exit status 255
dpkg: dependency problems prevent configuration of sa-compile:
 sa-compile depends on spamassassin; however:
  Package spamassassin is not configured yet.

dpkg: error processing package sa-compile (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates it's a follow-up error from a previous fa
ilure.
      Processing triggers for man-db (2.9.3-2) ...
Processing triggers for systemd (246.6-1ubuntu1.4) ...
Errors were encountered while processing:
 spamassassin
 sa-compile
E: Sub-process /usr/bin/dpkg returned an error code (1)

Comment installer le package Ubuntu Spamassassin maintenant?

J'ai également vérifié ceci (sur une autre machine): Installez 20,04 lts, ​​mise à niveau vers 20.10, installez Spamassassin, cela fonctionne, le problème est donc avec le nettoyage correct.

L'installation de travail a Perl V5.30.3 tandis que le non-fonctionnement a V5.30.0 (bien qu'il soit à jour, selon apt update).

Version Perl IncoSistance sur le non-travailleur Ubuntu:

Sudo cpan
/usr/bin/cpan: Perl lib version (5.30.3) doesn't match executable     '/usr/bin/Perl' version (5.30.0) at /usr/lib/x86_64-linux-gnu/Perl/5.30/Config.pm line 62.

Compilation failed in require at /usr/share/Perl/5.30/CPAN.pm line 44.

Comment met-je à jour installer Perl

1
Pierre ALBARÈDE

À /usr/lib/x86_64-linux-gnu/Perl/5.30/Config.pm Ligne 62, j'ai remplacé 5h30.3 par 5.30.0.

span fonctionne, mais je devais le tuer après des heures de test et qu'il n'a pas mis à jour /usr/bin/Perl.

apt install spamassassin réussit.

Enfin, j'ai remplacé Perl 5.30.0 par 5.30.3 copié de l'autre installation de travail et restauré /usr/lib/x86_64-linux-gnu/Perl/5.30/Config.pm.

Les deux binaires ont exactement la même taille 3478464 octets.

Réellement Perl5.30.3 était déjà en /usr/bin Alors renommer cela Perl aurait été suffisant.

Après avoir installé Spamassassin, spamd a produit une erreur à la ligne 62 de /usr/lib/x86_64-linux-gnu/Perl-base/Config.pm.

Sudo apt reinstall Perl-base mis à jour (le numéro de version dans) /usr/lib/x86_64-linux-gnu/Perl-base/Config.pm.

1
Pierre ALBARÈDE