Convert from CentOS 8 to Rocky

General eFa discussion
Post Reply
Reinhard
Posts: 3
Joined: 02 Feb 2022 08:31

Convert from CentOS 8 to Rocky

Post by Reinhard »

hi,

now that eFa4 has been updated to detect and install on Rocky 8, what about existing installations?
Is it possible to convert an exsiting eFa4 installation with CentOS 8 to Rocky Linux 8? Or is better to do a fresh installation?
The conversion of the OS itself is no problem, well documented, tried and tested.

regards,
Reinhard
User avatar
shawniverson
Posts: 3644
Joined: 13 Jan 2014 23:30
Location: Indianapolis, Indiana USA
Contact:

Re: Convert from CentOS 8 to Rocky

Post by shawniverson »

I haven't tested it with eFa but will give it a try.
cryptz
Posts: 16
Joined: 18 Mar 2016 21:28

Re: Convert from CentOS 8 to Rocky

Post by cryptz »

I upgraded my system today from Centos to Rocky. From what I can tell there are no issues. I verified mail flow and the webui seems fully functional. Always possible I am missing something, but initially, it looks good.
Reinhard
Posts: 3
Joined: 02 Feb 2022 08:31

Re: Convert from CentOS 8 to Rocky

Post by Reinhard »

well, I wasn't lucky with the migration script and did a fresh install followed by a "System Restore" - this seemed the fastest way to get the mailserver up&running again

problem was the "dnf distro-sync" of the migration script and different versions in eFa- and EPEL-Repo, here is the error message:

...
Syncing packages

Last metadata expiration check: 0:00:05 ago on Tue Feb 8 11:33:06 2022.
Error:
Problem 1: package perl-MooX-StrictConstructor-0.010-1.eFa.el8.noarch requires perl(Moo::Role) >= 2.003006, but none of the providers can be installed
- package perl-MooX-StrictConstructor-0.010-1.eFa.el8.noarch requires perl-Moo >= 2.003006, but none of the providers can be installed
- cannot install both perl-Moo-2.003004-7.el8.noarch and perl-Moo-2.003006-1.eFa.el8.noarch
- cannot install both perl-Moo-2.003006-1.eFa.el8.noarch and perl-Moo-2.003004-7.el8.noarch
- cannot install the best update candidate for package perl-MooX-StrictConstructor-0.010-1.eFa.el8.noarch
- cannot install the best update candidate for package perl-Moo-2.003006-1.eFa.el8.noarch
Problem 2: package perl-GeoIP2-Country-Reader-2.006002-1.eFa.el8.noarch requires perl-List-SomeUtils >= 0.58, but none of the providers can be installed
- cannot install both perl-List-SomeUtils-0.56-8.el8.noarch and perl-List-SomeUtils-0.58-1.eFa.el8.noarch
- cannot install both perl-List-SomeUtils-0.58-1.eFa.el8.noarch and perl-List-SomeUtils-0.56-8.el8.noarch
- cannot install the best update candidate for package perl-List-SomeUtils-0.58-1.eFa.el8.noarch
- cannot install the best update candidate for package perl-GeoIP2-Country-Reader-2.006002-1.eFa.el8.noarch
Problem 3: package perl-Math-Int128-0.22-1.eFa.el8.x86_64 requires perl-Sub-Quote >= 2.006006, but none of the providers can be installed
- cannot install both perl-Sub-Quote-2.006003-3.el8.noarch and perl-Sub-Quote-2.006006-1.eFa.el8.noarch
- cannot install both perl-Sub-Quote-2.006006-1.eFa.el8.noarch and perl-Sub-Quote-2.006003-3.el8.noarch
- cannot install the best update candidate for package perl-Sub-Quote-2.006006-1.eFa.el8.noarch
- cannot install the best update candidate for package perl-Math-Int128-0.22-1.eFa.el8.x86_64
Problem 4: package eFa-1:4.0.4-26.eFa.el8.noarch requires sqlgrey >= 1:1.8.0-8, but none of the providers can be installed
- cannot install both sqlgrey-1.8.0-22.el8.noarch and sqlgrey-1:1.8.0-8.el8.noarch
- cannot install both sqlgrey-1:1.8.0-8.el8.noarch and sqlgrey-1.8.0-22.el8.noarch
- cannot install the best update candidate for package sqlgrey-1:1.8.0-8.el8.noarch
- cannot install the best update candidate for package eFa-1:4.0.4-26.eFa.el8.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Error during distro-sync
cryptz
Posts: 16
Joined: 18 Mar 2016 21:28

Re: Convert from CentOS 8 to Rocky

Post by cryptz »

before running the script i edited the repos from their current to vault.centos.org and disabled-re-enabled them. I was able to proceed with the upgrade script at that point and didn't encounter any issues. I was prompted to do so because I otherwise didn't have git on the system to grab the script.
Reinhard
Posts: 3
Joined: 02 Feb 2022 08:31

Re: Convert from CentOS 8 to Rocky

Post by Reinhard »

successfully migrated my other mailserver to Rocky Linux without any problems

The problem with my first server was that several RPMs do have the identical names in eFa- and EPEL-repos, and so the migration script failed. I worked around this problem by excluding several packages from the EPEL-repos.


/etc/yum.repos.d/epel.repo:
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
#baseurl=https://download.fedoraproject.org/pub/ ... /$basearch
metalink=https://mirrors.fedoraproject.org/metal ... contentdir
enabled=1
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
# exclude RPMs from eFa
exclude=python3-unbound perl-List-SomeUtils perl-GeoIP2-Country-Reader eFa-4 eFa-base perl-Sub-Quote perl-Sys-Hostname-Long perl-List-UtilsBy perl-IP-Country-DB_File unrar perl-Net-Works-Network perl-MaxMind-DB-Metadata perl-Net-DNS-Resolver-Programmable unbound perl-Encoding-FixLatin postfix_eFa perl-Scalar-List-Utils perl-Role-Tiny spamassassin_eFa MailWatch perl-Data-IEEE754 perl-MaxMind-DB-Reader perl-Net-DNS MailScanner perl-List-AllUtils perl-Moo perl-IP-Country-2 perl-Math-BigInt-FastCalc perl-Math-Int128 sqlgreywebinterface unbound-libs perl-MaxMind-DB-Reader perl-Mail-SPF-Query perl-Sendmail-PMilter perl-Math-Int64 dcc perl-Data-Printer perl-MooX-StrictConstructor sqlgrey



/etc/yum.repos.d/epel-modular.repo:
[epel-modular]
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch
#baseurl=https://download.fedoraproject.org/pub/ ... /$basearch
metalink=https://mirrors.fedoraproject.org/metal ... contentdir
enabled=1
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
# exclude RPMs from eFa
exclude=python3-unbound perl-List-SomeUtils perl-GeoIP2-Country-Reader eFa-4 eFa-base perl-Sub-Quote perl-Sys-Hostname-Long perl-List-UtilsBy perl-IP-Country-DB_File unrar perl-Net-Works-Network perl-MaxMind-DB-Metadata perl-Net-DNS-Resolver-Programmable unbound perl-Encoding-FixLatin postfix_eFa perl-Scalar-List-Utils perl-Role-Tiny spamassassin_eFa MailWatch perl-Data-IEEE754 perl-MaxMind-DB-Reader perl-Net-DNS MailScanner perl-List-AllUtils perl-Moo perl-IP-Country-2 perl-Math-BigInt-FastCalc perl-Math-Int128 sqlgreywebinterface unbound-libs perl-MaxMind-DB-Reader perl-Mail-SPF-Query perl-Sendmail-PMilter perl-Math-Int64 dcc perl-Data-Printer perl-MooX-StrictConstructor sqlgrey
VAXman65
Posts: 20
Joined: 23 Feb 2020 20:01

Re: Convert from CentOS 8 to Rocky

Post by VAXman65 »

Reinhard wrote: 16 Feb 2022 11:12 The problem with my first server was that several RPMs do have the identical names in eFa- and EPEL-repos, and so the migration script failed. I worked around this problem by excluding several packages from the EPEL-repos.
I ran into the same problem and while the exclusions did the trip to get past this issue, I was concerned about having a static exclusion list from a maintenance perspective. As an alternative, I raised the priority of the eFa repo by adding the line 'priority=49' to the end of /etc/yum.repos.d/eFa4.repo.

From https://dnf.readthedocs.io/en/latest/conf_ref.html :
priority
integer

The priority value of this repository, default is 99. If there is more than one candidate package for a particular operation, the one from a repo with the lowest priority value is picked, possibly despite being less convenient otherwise (e.g. by being a lower version).
I removed the packages, removed the excludes and then re-ran the install with this priority mod in place and it seems to have gone well (so far at least).
VAXman65
Posts: 20
Joined: 23 Feb 2020 20:01

Re: Convert from CentOS 8 to Rocky

Post by VAXman65 »

Reinhard wrote: 08 Feb 2022 17:14 well, I wasn't lucky with the migration script and did a fresh install followed by a "System Restore" - this seemed the fastest way to get the mailserver up&running again
I have my "empty" system built without having done the initial configuration. I then tried System Restore but I ended up with an unbootable system the two times I tried it. Can somebody help me with what the secret sauce in this process is?

To setup for the restore, I used sftp to drag over the gz files from /var/eFa/backup on the live system to the new system. These backups are the regularly scheduled daily backups.

After an initial fail on the restore involving the database, I also copied over /etc/eFa/MySQL-Config .

with all this in place, I did sudo /usr/sbin/eFa-Configure and chose the option for System Restore. The restore starts off well enough, but then comes across some problems:

Code: Select all

Proceed with restore? (y/N)
y
Beginning Restore of /var/eFa/backup/backup-20220308-034908.tar.gz...

./
./backup/
./backup/sql/
./backup/sql/backup.sql
./backup/etc/
./backup/etc/postfix/
./backup/etc/postfix/ssl/
./backup/etc/postfix/ssl/dhparam.pem
./backup/etc/postfix/ssl/smtpd.pem
./backup/etc/postfix/dynamicmaps.cf
./backup/etc/postfix/main.cf

(skipped lines)

./backup/var/www/
./backup/var/www/html/
./backup/var/www/html/mailscanner/
./backup/var/www/html/mailscanner/conf.php
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Error: Database connection failed: it is possible that the database is overloaded or otherwise not running properly; contact the system administrator if the problem persists
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Version check failed. Got the following error when calling the 'mysql' command line client
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL ERROR: Upgrade failed
Restore Complete!

A restart is needed to complete restore.  Press enter to reboot.
Press [Enter] key to continue...
In addition to the errors, I ended up not being able to boot the system, which was very weird. Once the boot sequence got to "Reached target Local File Systems (Pre), I ended up with repeated messages about "A start job is running for..." which cycles through all the filesystem mounts except for the tmpfs mount for /var/spool/MailScanner/incoming. It eventually times out after about 90 seconds and drops to emergency mode. Unfortunately, the system says the console is locked and won't allow access to the shell, so i cannot fix whatever is going on. When I tried to boot from the Rocky DVD and rescue the system, it could not find the filesystems.

I am more concerned with the fail on the restore than the unbootable system. I am assuming that fixing the first problem will deal with the second. I am able to restage the system to just before the restore operation by executing a Veeam bare metal restore, so restaging for another attempt is not too big of a deal.


Any ideas?
User avatar
shawniverson
Posts: 3644
Joined: 13 Jan 2014 23:30
Location: Indianapolis, Indiana USA
Contact:

Re: Convert from CentOS 8 to Rocky

Post by shawniverson »

Try running through the initial setup first then run the restore.
Post Reply