Error reinstalling Virtualmin

SYSTEM INFORMATION
OS type and version Centos 7
Webmin version Latest
Virtualmin version Latest
Related packages SUGGESTED

I did something stupid and now I am in a pickle.

In trying to get 2FA working I installed something from outside the Virtualmin community. I became worried about this and decided to uninstall the package and uninstall Virtualmin to start over again. I used the ./install.sh -u command.

When I went to reinstall Virtualmin I now get this error in stage 3 of the installation process.

[21/21] Configuring Virtualmin ▒▒▒▒▒▒▒Error: Require jailkit/jailkit-lib.pl failed : Can’t locate List/MoreUtils.pm in @INC (@INC contains: /usr/libexec/webmin/jailkit /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /usr/libexec/webmin …) at /usr/share/perl5/vendor_perl/Config/IniFiles.pm line 14.
BEGIN failed–compilation aborted at /usr/share/perl5/vendor_perl/Config/IniFiles.pm line 14.
Compilation failed in require at /usr/libexec/webmin/jailkit/jailkit-lib.pl line 31.
BEGIN failed–compilation aborted at /usr/libexec/webmin/jailkit/jailkit-lib.pl line 31.

Error

Require jailkit/jailkit-lib.pl failed : Can’t locate List/MoreUtils.pm in @INC (@INC contains: /usr/libexec/webmin/jailkit /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /usr/libexec/webmin …) at /usr/share/perl5/vendor_perl/Config/IniFiles.pm line 14.
BEGIN failed–compilation aborted at /usr/share/perl5/vendor_perl/Config/IniFiles.pm line 14.
Compilation failed in require at /usr/libexec/webmin/jailkit/jailkit-lib.pl line 31.
BEGIN failed–compilation aborted at /usr/libexec/webmin/jailkit/jailkit-lib.pl line 31.


▣▣▣ Cleaning up

[WARNING] The following errors occurred during installation:

◉ Postinstall configuration returned an error.

Can someone please help me out?

Again, thanks for any help and I appreciate your collective patience with me.

We don’t reinstall Virtualmin.

Virtualmin is supposed to be installed on a freshly installed OS with nothing else installed on it.

You should spin up another VPS or format the hard drive, install the OS and then install Virtualmin.

That seems pretty drastic.

I have other applications already installed on my VPS.

Is there no way to reinstall Virtualmin?

I really wish you hadn’t uninstalled. That’s very destructive (and it says it is), and should not be run on a production system (and says it shouldn’t be).

List::MoreUtils is a Perl module, obviously missing in your case, though I’m not sure why it is even needed! jailkit module does not depend on it, but it looks like Config::IniFiles (which the Jailkit module does depend on and we provide in an RPM) is maybe trying to load it?

I’m guessing (but just guessing!) that you upgraded a bunch of stuff when using cpan/cpanm to install stuff, which caused a new version of Config::IniFiles to get installed, which has new dependencies…but somehow its dependencies did not get installed. Maybe? I don’t know, this is messy.

But, we do not depend on List::MoreUtils.

You may be able to get over this by installing the perl-List-MoreUtils. Use yum! Never mess around with installing from cpan if you don’t really know what you’re doing. (I know Webmin tries to install the deps for 2FA via cpan, but only because CentOS 7 is disastrously old at this point).

But, there may be other problems lying in wait, because it really seems like you upgraded some Perl modules outside of the package manager, and that’s potentially a big mess.

You could also try to remove the cpan installed stuff. I don’t remember where that ends up on the filesystem, but it’s usually kept separate from the system Perl, so that it can safely be changed (but it comes before the system perl in the lib path, so that stuff upgraded via cpan is loaded first).

Thanks again Joe for the detailed explanation. I ended up starting from scratch both with the OS and Virtualmin. That has led me to another problem I did not have before dealing with the SSL Certificate but I will open up a separate thread for that. In the meanwhile, I will wait for a 2FA solution from you guys.