Updating old(er) vps systemfiles and upgrade to CB2

BBM

Verified User
Joined
Jun 8, 2013
Messages
416
Location
Dutch Mountains
My vps is pretty much still running on the original software from it's installation date somewhere last year.
Only DA and csf are uptodate, I've never used CB before.
I once downloaded CB2 but that broke the apache-service because I didn't look at it's options closely. So with my limited server knowledge, I decided to go back to the previous snapshot instead and let it be.

Now, a few months later I would like to upgrade everything to the most stable versions. I've postponed the updates long enough already and starting to my vps is getting vulnerable. But, I don't quite know where/how to start, without creating immediate mayhem on the server;

Do I first update the vps with 'yum' and then update files with CB2... and hope for the best;
Or do I first run CB2 and do (any?) remaining updates through Yum?
Or, what is the best way to handle this?

I've been reading through a number of help-pages in the past time but most seem to focus on updating a server either with Yum or CB seperatly.

(Screenshot attached of the current running software versions.)
 

Attachments

  • vps.jpg
    vps.jpg
    30.6 KB · Views: 65
Hello,

According to this thread http://forum.directadmin.com/showthread.php?t=44743 Custombuild 2.0 is a release candidate yet, it is not marked as stable. So you might want to stay with CB 1.x still.

To upgrade software on the server you are free to choose any order. Run CB script or yum in any order, that should not differ much.
 
Thanks Alex.

I've just let Yum do it's thing first and then CB.
Think I've stared at over a few thousand lines scrolling by during the process. Hands sweaty and breath held in... :) All seemed to go well from what I could see.

But after all updates were done, Named didn't want to start up again.
After some reading in the messages-logs I noticed this error;
zone example.com/IN: loading from master file /var/named/example.com.db failed: file not found
zone example.com/IN: not loaded due to errors.
_default/example.com/IN: file not found

After I removed the still present 'example.com'-domain from under DA's DNS Administration it started right up again.

'Named' however, has not been updated in the entire process.
 
Well, I just tried to update Exim but it failed.
Which seems to be quite common I think.

After trying to update with;
Code:
yum install db4-devel cyrus-sasl-devel perl-ExtUtils-Embed

cd /usr/local/directadmin/custombuild
./build update
./build set exim yes
./build exim


I'm getting the following error:
Code:
Trying to make exim...
/bin/sh scripts/source_checks
...
Please install ExtUtils::Embed for /usr/bin/perl
make: *** [configure] Error 1

*** The make has failed, would you like to try to make again? (y,n):

Then, when I try to reload ExtUtils with;

Code:
yum install perl-ExtUtils-Embed

...I'm getting this;
Code:
[root@server custombuild]# yum install perl-ExtUtils-Embed
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, presto, security
Loading mirror speeds from cached hostfile
 * base: mirror.nl.leaseweb.net
 * extras: mirror.nl.leaseweb.net
 * updates: mirror.nl.leaseweb.net
Setting up Install Process
Package perl-ExtUtils-Embed-1.28-136.el6.x86_64 already installed and latest version
Nothing to do


And that's where I am at the moment.
(Exim still seems to be running on my vps at version 4.74 at the moment.)
 
Hello,

You might need to re-compile it like this:

Code:
cpan -i ExtUtils::Embed
 
As I somewhat expected, I'm getting similar errors others also got;

When I entered the cpan-command, after a long list of text, the final lines are;
Code:
CPAN: Data::Dumper loaded ok (v2.124)
'YAML' not installed, falling back to Data::Dumper and Storable to read prefs '/root/.cpan/prefs'
The most recent version "1.30" of the module "ExtUtils::Embed"
is part of the perl-5.18.2 distribution. To install that, you need to run
  force install ExtUtils::Embed   --or--
  install R/RJ/RJBS/perl-5.18.2.tar.bz2
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible


Then, by the help of this helppage:
http://help.directadmin.com/item.php?id=396

Code:
wget http://www.cpan.org/modules/by-module/ExtUtils/ExtUtils-Embed-1.14.tar.gz
tar xvzf ExtUtils-Embed-1.14.tar.gz
cd ExtUtils-Embed-1.14
perl Makefile.PL
make
make install

But the first source-link is not even present anymore on the cpan-site, nor another version of ExtUtils-Embed. Is it obsolete, replaced by something else?
http://www.cpan.org/modules/by-module/ExtUtils/

In any case I think the text-block on the help-page '396' should be updated.


But that still leaves me with a half finished Exim-upgrade. I hope I didn't break anything in the process yet... :/
 
No not at all.
Same errors. I don't think the ExtUtils has been installed (properly) or something.
The downloaded file ended up in root / and got extracted there.

I don't quite understand why Exim can't be updated easily, My vps isn't anything special orsomething .
If a program is that dependent on other software being present, why doesn't Exim install it by it's own?
 
Compiling with source as shown in the help page gives the same error as before.

Code:
Please install ExtUtils::Embed for /usr/bin/perl
make: *** [configure] Error 1

Exim doesn't 'see' that ExtUtils has already been installed I think.
 
Please post the output of:
Code:
rpm -qf /usr/bin/perl

Also, try reinstalling perl-ExtUtils-Embed package (remove and install it again using yum).
 
Output result;
Code:
perl-5.10.1-136.el6.x86_64

I will try the remove-and-reinstall tonight from home.
 
Could it be so, that you've got several perl versions? You probably need to strace make process and see where it is looking for ExtUtils, then compare with where it's actually located and create simlinks if it's needed.
 
The remove and reinstall made no difference unfortunatly.

I did find 2 perl files in /usr/bin, both identical in size and date but named differently. But I don't know if this is normal or not.

Code:
# ll perl*
-rwxr-xr-x 2 root root 13568 Nov 22 19:30 perl
-rwxr-xr-x 2 root root 13568 Nov 22 19:30 perl5.10.1


If the above is of no real concern I will forget about updating Exim for now before I screw up something bad I can't easily fix myself.
(I can't have the server or it's mailservice going down while others depend on it.)
 
Probably you might want to ask Martynas Bendorius to fix it for you then, or somebody else here including me.
 
Well, for some unknown reason I managed to update Exim to the latest version just now.

The only thing I really changed tonight was entering Locale settings in the .bash_profile to get rid of the perl-Locale errors. I doubt that would have done the trick but could it?
 
Could that have caused the exim update. No.

But you might have custombuild set up to automatically update.

Check the /usr/local/directadmin/custombuild/options.conf file to see, and check the custombuild log to see if it got done.

Jeff
 
Could that have caused the exim update. No.

The fact of the matter is, that the locale settings do cause the failure. It appears that the perl locale errors interfere with the module detection in the package. I struggled for hours to get around the "Please install ExtUtils::Embed for /usr/bin/perl" error. In the end the fix was simple:

# LC_ALL=C ./build exim

Ran without any problems. Hope this saves someone the hassle!
 
Back
Top