Koozali.org: home of the SME Server

Contribs.org Forums => General Discussion => Topic started by: SmartSteve on November 16, 2012, 11:56:08 AM

Title: server-manager broken after yum upgrade
Post by: SmartSteve on November 16, 2012, 11:56:08 AM
I put this in the general discussion area as I'm not certain where best to put it. So if there is a better place then can an admin move it please.

Ok so I may have got a little too clever. System is SME8.0 32bit, with various contribs and generally kept up to date.

I recently (two days ago) did a yum upgrade as check4updates was reporting new packages. Now I cannot log in to server-manager (or webmail).

Now the command I did was yum update --enablerepo=smecontribs --enablerepo=sme7contribs --enablerepo=dag
Now I added the dag repo as I couldn't find the clamd latest packages (0.97.6) (this may have been mistake #1). As a general rule I normally just do yum update but every so often do a check for contrib updates.

This listed quite a number of packages (well beyond those reported, so as to capture the contrib updates as well) and produced no dependency issues. All packages looked to be fine to update so I proceeded. Then did signal-event post-upgrade and signal-event reboot (I prefer this method rather than trying to enable/restart services without a reboot)

I then tried to get into server-manager and at first the browser just produced an error page (error 500 IIRC). I checked the /var/log/httpd/admin_error_log and found.
Code: [Select]
Can't locate Apache/AuthTkt.pm in @INC (@INC contains: /etc/e-smith/web/common/cgi-bin /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /etc/e-smith/web/common/cgi-bin/login line 28.So I started looking for what this related to. Found it was perl related, thought oh ok somehow that has got creamed in the upgrade process (there was a lot of perl related packages in the update), so then did yum install perl-Apache-AuthTkt --enablerepo=dag (this was where I found it to be). Tried server-manager again, got the login screen up and could enter details, when I clicked Login "Login Successful" appeared in rather plain text and then nothing further. This is the point I though ok what next. Back to the log files find the next error was
Code: [Select]
Can't locate object method "host" via package "URI::_generic" at /etc/e-smith/web/common/cgi-bin/login line 162., referer: https://www.thebrines.net/server-common/cgi-bin/login?redirect=1&back=http%253a%252f%252fwww.thebrines.net%252fserver-manager

This I did a look at the line 162 of the login script. Now it appear that this host lookup is part of the perl-URI, now this package is presently installed (version  ). So this is the point I am at, I'm not sure which way to proceed to fix the problem. I prefer to attempt to repair the current install rather than to a reload then restore from backup.

I have been searching google for solutions to the host lookup with URI but nothing is jumping out. So I am wondering if anyone is able to give me some pointers on how to either fix the current problem. I am imagining that part of perl (my assumption) have been overwritten and thus could be restored.
Is there an effective way to roll back to previous packages? Or is this too broken to easily fix and a reload is best or quickest option?

I do appreciate that fact that this could be hard to diagnose from the info provided here. I have provided below a list of all the updates done on the 14th, what doesn't help is it doesn't show which repo they came from.

Sorry this is rather long.

Regards,
Steve B


This is the list of yum.log (/var/log/yum)
Nov 14 08:46:24 Updated: 4:perl-5.8.8-38.el5_8.i386
Nov 14 08:46:27 Updated: clamav-db-0.97.6-1.el5.rf.i386
Nov 14 08:46:29 Installed: perl-File-Slurp-9999.13-3.el5.noarch
Nov 14 08:46:29 Installed: perl-Config-Tiny-2.12-1.el5.rf.noarch
Nov 14 08:46:30 Installed: perl-File-chmod-0.32-1.el5.rf.noarch
Nov 14 08:46:30 Installed: perl-File-Remove-1.42-1.el5.rf.noarch
Nov 14 08:46:30 Installed: perl-Pod-Escapes-1.04-5.el5.noarch
Nov 14 08:46:32 Installed: perl-Pod-Simple-3.16-1.el5.rf.noarch
Nov 14 08:46:32 Installed: perl-Test-Pod-1.45-1.el5.rf.noarch
Nov 14 08:46:34 Updated: perl-MailTools-2.09-1.el5.rf.noarch
Nov 14 08:46:34 Installed: perl-Mail-Sendmail-0.79-1.2.el5.rf.noarch
Nov 14 08:46:35 Installed: php53-php-gettext-1.0.11-3.el5.noarch
Nov 14 08:46:35 Updated: smeserver-mailstats-1.0-1.el5.sme.noarch
Nov 14 08:48:07 Updated: smeserver-qmHandle-1.4-3.el5.sme.noarch
Nov 14 08:48:07 Installed: perl-Date-Manip-5.56-1.el5.rf.noarch
Nov 14 08:48:09 Installed: php-pear-db-1.7.13-2.el5.rf.noarch
Nov 14 08:48:37 Installed: kernel-2.6.18-308.20.1.el5.i686
Nov 14 08:48:42 Updated: httpd-2.2.3-65.el5.centos.3.i386
Nov 14 08:48:45 Updated: clamav-0.97.6-1.el5.rf.i386
Nov 14 08:48:46 Updated: lzo-2.06-1.el5.rf.i386
Nov 14 08:48:46 Updated: pkcs11-helper-1.08-1.el5.rf.i386
Nov 14 08:48:47 Installed: perl-Params-Util-1.00-1.el5.rf.i386
Nov 14 08:48:48 Installed: radiusclient-ng-0.5.6-5.el5.rf.i386
Nov 14 08:48:48 Installed: radiusclient-ng-utils-0.5.6-5.el5.rf.i386
Nov 14 08:48:50 Updated: openvpn-2.2.2-1.el5.rf.i386
Nov 14 08:48:52 Updated: clamd-0.97.6-1.el5.rf.i386
Nov 14 08:48:52 Updated: 1:mod_ssl-2.2.3-65.el5.centos.3.i386
Nov 14 08:48:53 Updated: mod_auth_tkt-2.1.0-2.el5.rf.i386
Nov 14 08:48:56 Updated: proftpd-1.3.4a-1.el5.rf.i386
Nov 14 08:48:57 Updated: 4:perl-suidperl-5.8.8-38.el5_8.i386
Nov 14 08:49:01 Updated: util-linux-2.13-0.59.el5_8.i386
Nov 14 08:49:08 Updated: 2:nmap-5.51.6-1.el5.rfx.i386
Nov 14 08:49:10 Updated: iptables-1.3.5-9.2.el5_8.i386
Nov 14 08:49:17 Installed: phpMyAdmin3-3.5.2.2-1.el5.noarch
Nov 14 08:49:18 Installed: perl-Algorithm-Dependency-1.110-1.el5.rf.noarch
Nov 14 08:49:19 Updated: perl-Test-Inline-2.210-1.el5.rf.noarch
Nov 14 08:49:20 Installed: smeserver-phpmyadmin-3.5.2.2-2.el5.sme.noarch
Nov 14 08:49:32 Erased: radiusclient
Nov 14 08:51:05 Erased: phpmyadmin
Nov 14 08:51:09 Erased: php-pear-DB
Nov 14 08:51:11 Erased: perl-DateManip
Nov 14 08:51:16 Updated: httpd-2.2.3-65.el5.centos.3.i386


Title: Re: server-manager broken after yum upgrade
Post by: janet on November 18, 2012, 03:44:18 PM
SmartSteve

Quote
Is there an effective way to roll back to previous packages? Or is this too broken to easily fix and a reload is best or quickest option?

Anything is fixable if you have the skills & time, if not then a better option may be to reinstall & rebuild, but that will also involve time & effort. So it's your choice.


Firstly, so you NEVER make that mistake again, when upgrading the system use only
yum update

If you have contribs that you then wish to update you should do them one at a time, so that any problems that may arise can be detected on a per package basis, rather than doing a whole lot of contrib (& dependency) updates at the same time and then not knowing which one is causing a problem (should you have a problem, which is highly possible as you have discovered).

So to update contribs do them one at a time using
yum update packagename --enablerepo=smecontribs --enablerepo=sme7contribs
eg
yum update smeserver-qmHandle --enablerepo=smecontribs --enablerepo=sme7contribs
(including the sme7contribs repo here, while the sme8 smecontribs repo is still being populated with contrib packages)

If you find you need to get some dependency package(s) from external repos (due to missing dependency errors), then enable the appropriate repo also, but still only specifying to upgrade a single package
eg
yum update packagename --enablerepo=smecontribs --enablerepo=sme7contribs --enablerepo=externalreponame
(all the above on the same line)


You have specified the dag repo during a normal system update, as well as doing contrib updates at the same time, so other packages have probably also been updated that were in the dag repo.
These may or may not be appropriate for sme server, and it may be these that are causing your current problem. See list below.

Another good idea BEFORE doing any system updates is to ensure your system is in good order by doing
signal-event post-upgrade
signal-event reboot
If your system comes up cleanly & without errors, then it's in good order & OK to proceed with updates. If you get errors then best to troubleshoot first, BEFORE doing any more updates which may only complicate & confuse matters.

Note the info for the clamd packages was in a recent bugzilla report, so far better for you to search and find the correct information rather than guessing (and potentially stuffing up your system).

You can remove packages using the following
yum remove packagename
or
rpm -e packagename
and if necessary force removal by overriding dependency objections (but use with caution & wisdom)
rpm -e packagename --nodeps
eg
rpm -e smeserver-qmHandle --nodeps
 
You best look at a standard sme8.1 (upgraded) installation and compare the packages & version numbers, particularly for the packages that were updated (see list below). Build a test server for this purpose if necessary. Remove any that are incorrect and then run (only)

yum update

followed of course by
signal-event post-upgrade
signal-event reboot

That will hopefully get your system functioning properly with the correct package versions.

If not then I would start looking at custom templates and see what is there that may be causing your issue. Temporarily remove any custom templates (& expand & restart).

I checked my recently updated sme8.1 which is only slightly modified with contribs, & have pasted at the end of each line below the version numbers (where different) that I see on that system for your updated packages.

Nov 14 08:46:24 Updated: 4:perl-5.8.8-38.el5_8.i386 - OK
Nov 14 08:46:27 Updated: clamav-db-0.97.6-1.el5.rf.i386 - OK
Nov 14 08:46:29 Installed: perl-File-Slurp-9999.13-3.el5.noarch - not installed
Nov 14 08:46:29 Installed: perl-Config-Tiny-2.12-1.el5.rf.noarch - not installed
Nov 14 08:46:30 Installed: perl-File-chmod-0.32-1.el5.rf.noarch - not installed
Nov 14 08:46:30 Installed: perl-File-Remove-1.42-1.el5.rf.noarch - not installed
Nov 14 08:46:30 Installed: perl-Pod-Escapes-1.04-5.el5.noarch - not installed
Nov 14 08:46:32 Installed: perl-Pod-Simple-3.16-1.el5.rf.noarch - not installed
Nov 14 08:46:32 Installed: perl-Test-Pod-1.45-1.el5.rf.noarch - not installed
Nov 14 08:46:34 Updated: perl-MailTools-2.09-1.el5.rf.noarch - perl-MailTools-1.77-1.el5.centos
Nov 14 08:46:34 Installed: perl-Mail-Sendmail-0.79-1.2.el5.rf.noarch - not installed
Nov 14 08:46:35 Installed: php53-php-gettext-1.0.11-3.el5.noarch - not installed
Nov 14 08:46:35 Updated: smeserver-mailstats-1.0-1.el5.sme.noarch - not installed
Nov 14 08:48:07 Updated: smeserver-qmHandle-1.4-3.el5.sme.noarch - not installed
Nov 14 08:48:07 Installed: perl-Date-Manip-5.56-1.el5.rf.noarch - not installed
Nov 14 08:48:09 Installed: php-pear-db-1.7.13-2.el5.rf.noarch - not installed
Nov 14 08:48:37 Installed: kernel-2.6.18-308.20.1.el5.i686 - 3 installed
kernel-2.6.18-308.13.1.el5
kernel-2.6.18-308.16.1.el5
kernel-2.6.18-308.20.1.el5

Nov 14 08:48:42 Updated: httpd-2.2.3-65.el5.centos.3.i386 - OK
Nov 14 08:48:45 Updated: clamav-0.97.6-1.el5.rf.i386 - OK
Nov 14 08:48:46 Updated: lzo-2.06-1.el5.rf.i386 - not installed
Nov 14 08:48:46 Updated: pkcs11-helper-1.08-1.el5.rf.i386 - not installed
Nov 14 08:48:47 Installed: perl-Params-Util-1.00-1.el5.rf.i386 - not installed
Nov 14 08:48:48 Installed: radiusclient-ng-0.5.6-5.el5.rf.i386 - not installed
Nov 14 08:48:48 Installed: radiusclient-ng-utils-0.5.6-5.el5.rf.i386 - not installed
Nov 14 08:48:50 Updated: openvpn-2.2.2-1.el5.rf.i386 - not installed
Nov 14 08:48:52 Updated: clamd-0.97.6-1.el5.rf.i386 - OK
Nov 14 08:48:52 Updated: 1:mod_ssl-2.2.3-65.el5.centos.3.i386 - OK
Nov 14 08:48:53 Updated: mod_auth_tkt-2.1.0-2.el5.rf.i386 - mod_auth_tkt-2.0.0rc2-1.el5.sme
Nov 14 08:48:56 Updated: proftpd-1.3.4a-1.el5.rf.i386 - proftpd-1.3.3g-1.el5
Nov 14 08:48:57 Updated: 4:perl-suidperl-5.8.8-38.el5_8.i386 - OK
Nov 14 08:49:01 Updated: util-linux-2.13-0.59.el5_8.i386 - OK
Nov 14 08:49:08 Updated: 2:nmap-5.51.6-1.el5.rfx.i386 - not installed
Nov 14 08:49:10 Updated: iptables-1.3.5-9.2.el5_8.i386 - OK
Nov 14 08:49:17 Installed: phpMyAdmin3-3.5.2.2-1.el5.noarch - not installed
Nov 14 08:49:18 Installed: perl-Algorithm-Dependency-1.110-1.el5.rf.noarch - not installed
Nov 14 08:49:19 Updated: perl-Test-Inline-2.210-1.el5.rf.noarch - perl-Test-Inline-0.16-1.el5.sme
Nov 14 08:49:20 Installed: smeserver-phpmyadmin-3.5.2.2-2.el5.sme.noarch - not installed
Nov 14 08:49:32 Erased: radiusclient
Nov 14 08:51:05 Erased: phpmyadmin
Nov 14 08:51:09 Erased: php-pear-DB
Nov 14 08:51:11 Erased: perl-DateManip
Nov 14 08:51:16 Updated: httpd-2.2.3-65.el5.centos.3.i386



Edit:
PS

And here is what happened when I just issued
yum update --enablerepo=dag

Of course I did not proceed with the update, as it would be unadvisable & undesirable to do so.
I see many similarities with packages updated on your system.
This list & the list above should steer you in the right direction as to what to remove, and reinstall with a normal yum update.

Installing:
 perl-Date-Manip                 noarch     5.56-1.el5.rf         dag     211 k
     replacing  perl-DateManip.noarch 5.44-1.2.1

 php-pear-db                     noarch     1.7.13-2.el5.rf       dag     139 k
     replacing  php-pear-DB.noarch 1.7.13-1.el5.centos

 radiusclient-ng-utils           i386       0.5.6-5.el5.rf        dag      22 k
     replacing  radiusclient.i386 0.3.2-0.2.el5.rf

Updating:
 awstats                         noarch     7.0-2.el5.rf          dag     1.2 M
 erlang                          i386       R12B-5.12.el5.rf      dag      40 M
 gifsicle                        i386       1.67-1.el5.rf         dag     171 k
 gocr                            i386       0.49-1.el5.rf         dag     230 k
 mod_auth_tkt                    i386       2.1.0-2.el5.rf        dag      76 k
 ocrad                           i386       0.17-1.el5.rf         dag     153 k
 perl-Carp-Assert                noarch     0.20-1.el5.rf         dag      18 k
 perl-Class-Data-Inheritable     noarch     0.08-1.el5.rf         dag      12 k
 perl-Class-Virtual              noarch     0.06-1.el5.rf         dag      13 k
 perl-Compress-Bzip2             i386       2.09-1.2.el5.rf       dag      96 k
 perl-Device-SerialPort          i386       1.003001-1.el5.rf     dag      95 k
 perl-Filesys-DiskFree           noarch     0.06-1.2.el5.rf       dag     9.7 k
 perl-FreezeThaw                 noarch     0.45-1.el5.rf         dag      18 k
 perl-GSSAPI                     i386       0.28-1.el5.rf         dag     113 k
 perl-Geo-IP                     i386       1.38-1.el5.rf         dag     118 k
 perl-Log-Agent                  noarch     0.307-1.el5.rf        dag     138 k
 perl-MLDBM-Sync                 noarch     0.30-1.2.el5.rf       dag      20 k
 perl-Mail-DomainKeys            noarch     1.0-1.el5.rf          dag      16 k
 perl-MailTools                  noarch     2.09-1.el5.rf         dag     100 k
 perl-PlRPC                      noarch     0.2020-1.el5.rf       dag      33 k
 perl-String-Approx              i386       3.26-1.el5.rf         dag      76 k
 perl-Sys-Hostname-Long          noarch     1.4-1.2.el5.rf        dag      12 k
 perl-Test-Inline                noarch     2.210-1.el5.rf        dag      76 k
 perl-Tie-Cache                  noarch     0.17-1.2.el5.rf       dag      18 k
 perl-Tie-Cache-LRU              noarch     20110205-1.el5.rf     dag      21 k
 perl-enum                       noarch     1.016-1.2.el5.rf      dag      13 k
 proftpd                         i386       1.3.4a-1.el5.rf       dag     2.2 M
 zsync                           i386       0.6.2-1.el5.rf        dag     117 k
Installing for dependencies:
 perl-Algorithm-Dependency       noarch     1.110-1.el5.rf        dag      54 k
 perl-Config-Tiny                noarch     2.12-1.el5.rf         dag      21 k
 perl-File-Remove                noarch     1.42-1.el5.rf         dag      21 k
 perl-File-Slurp                 noarch     9999.13-1.el5.rf      dag      19 k
 perl-File-chmod                 noarch     0.32-1.el5.rf         dag      16 k
 perl-Mail-Sendmail              noarch     0.79-1.2.el5.rf       dag      23 k
 perl-Params-Util                i386       1.00-1.el5.rf         dag      59 k
 perl-Pod-Escapes                noarch     1.04-1.2.el5.rf       dag      15 k
 perl-Pod-Simple                 noarch     3.16-1.el5.rf         dag     212 k
 perl-Test-Pod                   noarch     1.45-1.el5.rf         dag      13 k
 radiusclient-ng                 i386       0.5.6-5.el5.rf        dag      77 k




Title: Re: server-manager broken after yum upgrade
Post by: SmartSteve on November 19, 2012, 02:57:55 AM
Mary, Thank you. Indeed I only try to make mistakes like this once, usually when I get too confident.

I will endevour to remove the packages and reinstall with the ones in the SME repos. If not then it is a rebuild.

Regards,
Steve
Title: Re: server-manager broken after yum upgrade
Post by: janet on November 19, 2012, 05:19:14 AM
SmartSteve

Quote
I will endevour to remove the packages and reinstall with the ones in the SME repos.

This should be simple eg (something like)

rpm -e --nodeps  perl-Algorithm-Dependency perl-Config-Tiny perl-File-Remove perl-File-Slurp perl-File-chmod perl-Mail-Sendmail perl-Params-Util perl-Pod-Escapes ........
(all on one line)
and so on, adding all the other package names on the end of the line
I think you can do multiple removals in the one command, if not do them one at a time
then do
yum update
signal-event post-upgrade
signal-event reboot

That should remove the extra "not required" packages and get the required package versions installed back to sme8.1 standard.
Title: Re: server-manager broken after yum upgrade
Post by: SmartSteve on November 19, 2012, 10:34:59 AM
Mary. Thank you so much. I entered all the offending packages in first. then manually went through all of the other recently installed packages, removed then reinstalled (using at "worst" smecontribs repo)
Some packages I recognised, as being for contribs such as openvpn. Others I will just monitor.

Server-manager is working as expected as is webmail (horde)

I will be a little less liberal with my updating in the future. :)

Steve B
Title: Re: server-manager broken after yum upgrade
Post by: janet on November 19, 2012, 11:06:54 AM
SmartSteve

OK, good outcome for a potentially nasty situation.
Doing a yum update with dag enabled was the real cause.
At a guess, I think this package was the culprit
Nov 14 08:48:53 Updated: mod_auth_tkt-2.1.0-2.el5.rf.i386 - mod_auth_tkt-2.0.0rc2-1.el5.sme