With the apparent demise of strongbolt there are a lot of RAQ owners out there without support or updates available for these Raq servers, My own RAQ550s are currently running CentOS release 5.6 (Final) and Blueonyx (fully updated), although this guide is based on the Raq550 i see no reason why it should not work on other RAQ models.
I recommend that you start with a fresh install of strongbolt1 WITHOUT Bluequartz for this upgrade.It is a wise thing when installing strongbolt1 to "editparts" and makes sure that your ./ partition is as big as possible as this will fill up quickly.
If you are currently running a version of RHEL/CentOS earlier than 4.8 (cat /etc/redhat-release) then please do a proper ‘yum update’ and get yourself on 4.8. , in the unfortunate situation that something does go wrong please contact me and I will try to assist.
The first thing we must do is make sure none of our core binaries, libraries or other content is set immutable as this will cause a package to fail on installation. If you are running an earlier version of LES or you use immutable bits on system paths (sbin/bin/share/include/libexec/etc) then you should run the following:
wget http://www.mr-webcam.com/RaQ-stuff/disable.les.rpmpkg
sh disable.les.rpmpkg
Once that is done we should go ahead and have a quick run through of cleaning up yum cache, double check that any pending updates are installed and rebuild the rpmdb:
rpm --rebuilddb
yum clean all
yum update
If for some reason the rpm rebuild hangs for more than a few minutes then you may need to manually clear the rpmdb files:
rm -f /var/lib/rpm/__db.00*
rpm --rebuilddb
If you run into any minor dependency issues for packages that are not essential, such as syslinux and lftp then you can either exclude them or better yet remove them. If you are not sure what a package does, then you should query it for description details and make an educated choice (rpm -qi PACKAGE):
At this point you should be able to run a ‘yum update’ command with optional exclude and receive no errors (again, I recommend you remove conflicts items instead of using exclusions).
# yum update
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Excluding Packages in global exclude list
Finished
No Packages marked for Update/Obsoletion
Now we are ready to get going, I have put together a small package that contains the needed packages for this upgrade in addition to a few that you might require to resolve dependency conflicts:
wget http://www.mr-webcam.com/RaQ-stuff/CentOS-5up.tar.gz
tar xvfz CentOS-5up.tar.gz
cd CentOS-5up
We need to go ahead and setup the centos-release package as follows:
rpm -Uhv centos-release-*
If you see that CentOS-Base.repo was created as /etc/yum.repos.d/CentOS-Base.repo.rpmnew then go ahead and move it into the proper place:
mv /etc/yum.repos.d/CentOS-Base.repo.rpmnew /etc/yum.repos.d/CentOS-Base.repo
Now we are ready to go with kernel changes, this is an important part so pay attention. The key to successful upgrade is that you remove ALL OLD KERNELS as many packages will fail to install during the upgrade if they detect a release 4.x kernel due to minimum kernel version dependency checks. We will start with first installing the new kernel so it preserves grub templating:
rpm -ivh kernel-2.6.18-164.el5.i686.rpm kernel-devel-2.6.18-164.el5.i686.rpm --nodeps
NOTE: release 5.x has smp support integrated into the standard kernel, so no -smp version is required for mp systems
If you are running an older system the chances are you got allot of older kernel packages installed so make sure you get them all out of the way:
rpm -e $(rpm -qa | grep kernel | grep -v 2.6.18 | tr '\n' ' ')
You may end up with a few dependencies coming up such as lm_sensors and net-snmp if the list is fairly small and packages you do not recognize as critical (if unsure always query the package for info ‘rpm -qi PACKAGE’, remember you can reinstall them later):
# rpm -e $(rpm -qa | grep kernel | grep -v 2.6.18)
error: Failed dependencies:
kernel-utils is needed by (installed) lm_sensors-2.8.7-2.40.5.i386
The command the ended up being required on most of my servers to get the kernel packages and related dependencies came out to the following:
rpm -e $(rpm -qa | grep kernel | grep -v 2.6.18 | tr '\n' ' ') lm_sensors net-snmp net-snmp-devel net-snmp-utils
That said and done you should now only have 2 kernel packages installed which are the 2.6.18 release 5.x kernels, DO NOT under any circumstance continue if you still got 2.6.9 release 4.x kernels packages still installed, remove them!
# rpm -qa | grep -i kernel
kernel-2.6.18-164.el5
kernel-devel-2.6.18-164.el5
A cleanup of /etc/grub.conf may be required, though if all went as planned then the rpm command should have done this up for us but review it anyways for good measure. You should find that 2.6.18-164.el5 is the only kernel in the file, if it is not go ahead and clean it by removing all older entries for 2.6.9 kernels.
There is a known bug with python-elementtree package versions which cause yum/rpm to think the release 4.x version is newer than the 5.x version, to get around this without blowing up the entire python installation we need to remove the package from just the rpmdb as follows:
rpm -e --justdb python-elementtree --nodeps
We can now go ahead and use yum to start the upgrade process, this is a dry run and will take a few minutes to compile list of available packages and associated dependency checks. You should carry the exclude options, if any, that you used during the ‘yum update’ process as so to avoid unresolvable dependencies:
yum clean all
yum upgrade
You may end up with a small list of dependency errors, these should be resolved by again evaluating a packages need as a critical system component and either removing it with ‘rpm -e’ or excluding it with ‘–exclude’ (remember to query description with ‘rpm -qi PACKAGE’ if you are unsure what something does).
At this point we should be ready to do a final dry run of with yum and see where we stand on dependencies, rerun the earlier ‘yum upgrade’ while making sure to carry over any exclude options you are using.
yum upgrade
You should now end up with a summary of actions that yum needs to perform, this will take a bit to complete.
Transaction Summary
=============================================================================
Install 183 Package(s)
Update 327 Package(s)
Remove 0 Package(s)
Total download size: 299 M
Is this ok [y/N]:
Once yum has completed (hopefully without major errors) we need to fix a few things, the first is the rpmdb needs a rebuild due to version changes that will cause any rpm commands to fail:
# rpm -qa
rpmdb: Program version 4.3 doesn’t match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 – (-30974)
error: cannot open Packages database in /var/lib/rpm
This can be fixed by running the following to manually rebuild the rpmdb:
rm -f /var/lib/rpm/__db.00*
rpm --rebuilddb
yum clean all
The next issue on the list is python-elementtree and python-sqlite, one or both of these may have ended up in a broken state that will cause all yum commands to break, so we will go ahead and reinstall both of these for good measure:
rpm -e --justdb python-elementtree --nodeps
rpm -ivh python-elementtree-1.2.6-5.el5.i386.rpm
rpm -ivh python-sqlite-1.1.7-1.2.1.i386.rpm --nodeps --force
The yum command should now work, go ahead and run it with no options, if you do not get any errors you are all sorted.
Hopefully the install went well for you, the only thing left to do is go ahead and reboot the system
shutdown -rf now
Now we are ready to install Blueonyx
Login to your CentOS5 server via SSH as "root" (if you have just installed strongbolt1 fresh the login is user admin password admin)
Run the following commands to enable quotas and build the quota file.
/bin/mount -o remount /home
/sbin/quotacheck -cuga
/sbin/quotaon -au
Then use "vi" or your favorite text-editor to edit /etc/fstab to enable user- and group-quota.
Then save the file.
Please at this point make sure that your file /etc/fstab looks like this example
/dev/md1 / ext3 defaults 1 1
/dev/md2 /var ext3 defaults 1 2
/dev/md3 swap swap defaults 0 0
/dev/md5 /tmp ext3 defaults 1 2
/dev/md6 /home ext3 defaults,usrquota,grpquota 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs noexec,nosuid,rw 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
It is probably a good idea to reboot after doing that, so go ahead and reboot, Once its rebooted log into your server via SSH as "root" and create the following
mkdir /install
cd /install
Download the BlueOnyx TAR-ball:
wget http://devel.blueonyx.it/pub/BlueOnyx/TAR/BlueOnyx-5106R-CentOS5-i386-20090402.tar.gz
Extract the TAR-ball:
tar zxvf BlueOnyx-5106R-CentOS5-i386-20090402.tar.gz
Change into the extracted subdirectory:
cd BlueOnyx-5106R-CentOS5-i386-20090402
Run the provided installation script:
./install.sh
This script will perform the required steps to install BlueOnyx. For this it installs a few selected RPMs that it brought aboard (mainly the YUM repository files for BlueOnyx). Then it will "yum update" your CentOS5 install and will (through YUM) fetch all required RPMs from the YUM repositories to install BlueOnyx. At the end of the install it will perform some post-install actions to enable all required services and to set up BlueOnyx in a fashion that it is useable right away. When the install has finished, it shows you this message:
The installation has finished! Please point your browser to http://xxx.xxx.xxx.xxx/login and login with username 'admin' and password 'blueonyx' ** Your root password is same as admin password. ** ** SSH root logins are disabled by default now! **
It may also tell that it has failed to create a user "admin" and that there is something wrong - ignore this message and continue to your login page
At that point connect to the IP address of your server with a web browser and finish the initial web based setup.
Once the web based initial setup has finished, your new BlueOnyx server is ready for usage.
At that point you can safely delete the installation directory:
cd / rm -R /install