Fast introduction to Lineox Enterprise Linux 3.0
Vastly simplified, Lineox Enterprise Linux 3.0 is a rebuild of
RHEL 3.0, wich was built on Red Hat Linux 9 with some program packages added,
some removed and updated. The original Red Hat Enterprise Linux 3
ES included (at least) 275 packages originally included in Red Hat Linux 9.
The most important difference in the normal installation is that
Lineox Enterprise Linux 3.0 supports only i686+ architecture. This
means that AMD K6, for example, is excluded.
The most important difference in the normal upgrade process is
that it must be started with "linux upgradeany" written at the
boot:-prompt. A short explanation for this is that you will be
upgrading from version 9 down to version 3.0.
We recommend however, that you will use the upgrade method
detailed next. It doesn't limit the CPU architecture or
complicate things because of the version numbering like the normal installation
program does. You can also do it over the network, even
a modem line is adequate for text mode.
Upgrading to Lineox Enterprise Linux 3.0 from Red Hat 9
First you should install apt-get. The following commands should do it:
mount /mnt/cdrom/
cd /mnt/cdrom/Lineox/RPMS
rpm -U apt-0.5.15cnc3-0.1.lel.i386.rpm beecrypt*
If rpm complains about dependencies, you should install the needed
packages wich are included in Red Hat 9. This should be the last time
you will have to care about dependencies yourself. So lets try next to
install synaptic and upgrade your distribution to Lineox Enterprise
Linux 3.0. First you however have to register Lineox Enterprise
Linux 3.0 DVD or CD's.
cd
umount /mnt/cdrom/
apt-cdrom add
apt-get install synaptic
Now you could go graphical with synaptic, but we continue to the end in text mode.
The command to upgrade your Red Hat 9 installation to Lineox Enterprise
Linux 3.0 is simply:
apt-get dist-upgrade
But in this case it is usually not that simple. Rpm packages do not
always contain all the information apt-get needs to resolve upgrade
information. Consider the following error message, you might get if
you ran "apt-get dist-upgrade" straight away:
file /usr/lib/libaprutil-0.so.0 from install of httpd-2.0.46-25.ent \
conflicts with file from package subversion-0.17.1-4503.0
So the httpd-2.0.46-25.ent package doesn't have the information that
it should replace this version of subversion package and obsolete it.
If you have a full install of Red Hat 9, you should remove also other
similar packages apt-get doesn't know how to handle with command:
rpm -e subversion subversion-devel timidity++ ddskk-xemacs
As you can notice, we got the package name subversion from the error
message above. The problem with picking package names this way is that
it is quite slow because apt-get works long time before it will print
these kind of messages. Therefore you shoud trust us and remove those
packages.
There is also one other thing to do before running the upgrade
command. If you are installing from the full original Lineox Enterprise
Linux 3.0 DVD, it has also some "extras" directories and these should
not be included in this stage. So edit the file /etc/apt/sources.list
so that the original line which is below commented with #-character
is replaced with two lines like the ones below. After distribution
upgrade you can remove comment character from the first line and add
it to the second one.
#rpm cdrom:[LEL3]/ Lineox extras fedora os
rpm cdrom:[LEL3]/ Lineox os
Now you can start the upgrade with:
apt-get dist-upgrade
apt-get works a while, then it tells us:
764 upgraded, 19 newly installed, 23 replaced, 10 removed and 1 not upgraded.
Need to get 0B/1051MB of archives.
After unpacking 43.6MB disk space will be freed.
Do you want to continue? [Y/n]
Just press Enter and it continues and if all goes well, it will take
much longer, like 10 or 30 minutes, but this of course depends much on
your hardware. The last lines of successful upgrade should look like:
782:xmms-skins ########################################### [100%]
783:xpdf ########################################### [100%]
Done.
You should also review all message lines like the following:
517:redhat-config-httpd warning: /etc/pam.d/redhat-config-httpd \
created as /etc/pam.d/redhat-config-httpd.rpmnew
If you haven't edited the original /etc/pam.d/redhat-config-httpd, you
should just copy /etc/pam.d/redhat-config-httpd.rpmnew over the
original. If you have edited it, you should review the files line by
line and transfer your old self made settings to the new file. In the
worst case, the format of the configuration file has changed and you
should consult the documentation of the new program version.
Because Lineox Enterprise Linux version is only 3.0, which is lower
than 9, you should upgrade the redhat-release package using force like
below:
rpm -U --force /mnt/cdrom/Lineox/RPMS/redhat-release-3AS-1.i386.rpm
What is left is upgrading the kernel. Actually, you should never
upgrade your kernel but install a new one and keep the old for a while
and remove it perhaps later when you are certain that the new kernel
works without problems. Installing kernel rpm package is more
complicated than other packages. You should install the one from
multiple choices that corresponds to your CPU type and RAM amount.
kernel-2.4.21-4.0.1.EL.athlon.rpm For AMD Athlon CPU PCs.
kernel-2.4.21-4.0.1.EL.i686.rpm For Intel Pentium II and higher.
kernel-BOOT-2.4.21-4.EL.i386.rpm Simple and safe, good to have as a fallback
kernel-hugemem-2.4.21-4.0.1.EL.i686.rpm For i686 PCs with more than 3GB of RAM
kernel-smp-2.4.21-4.0.1.EL.athlon.rpm For multiprocessor AMD PCs
kernel-smp-2.4.21-4.0.1.EL.i686.rpm For multiprocessor i686 PCs
There are also other kernel packages. The ones with "unsupported" in
their name contain additional modules for the "base" kernel package
and otherwise their naming follows "base" packages. For example, if
you would like to use ReiserFS on Pentium IV machine, you should first
install kernel-2.4.21-4.0.1.EL.i686.rpm and also
kernel-unsupported-2.4.21-4.0.1.EL.i686.rpm with the following command:
rpm -i /mnt/cdrom/Lineox/RPMS/kernel-2.4.21-4.0.1.EL.i686.rpm \
/mnt/cdrom/Lineox/RPMS/kernel-unsupported-2.4.21-4.0.1.EL.i686.rpm
You can choose the new kernel when you boot your system the next time.
Removing packages not found in LEL 3.0
Because we had a full Red Hat 9 installation as a starting point, we should
check if there are some packages which are missing from LEL 3.0. These packages
may become a security risk because there will be no updated packages for them.
In the first phase we check which packages are left from the Red Hat 9 installation.
# for i in rpm -qa ; do rpm -q --queryformat=%{BUILDHOST} $i | \
grep ".redhat.com" > /dev/null && echo $i ; done > ~/rhorig
Next phase is to check which Red Hat 9 packages are not in LEL 3.0
# for i in cat ~/rhorig ; do if [ ! -f $i* ] ; then echo $i ; fi ; done > ~/removed
We would like to keep the old kernel for a while, so we remove kernel- line
from ~/removed file with a text editor. You may want to remove some other lines too
if you like to keep those packages. Note however that these may become a security
risk, because they will not get updates from Lineox. When you are satisfied with the list, run:
# rpm -e `cat ~/removed`
Adding packages not found in Red Hat 9
Now that we have erased packages from Red Hat 9 not found in LEL 3.0, what about
packages in LEL 3.0 that were added and not found in Red Hat 9? Below is the
command line, which lists the added packages and also writes the list to a
file, which we can later edit:
# for i in *.rpm ; do rpm -q rpm -qp --queryformat=%{NAME}-%{VERSION}-%{RELEASE} \
$i > /dev/null || echo $i ; done | tee ~/added
In the list there are many packages you probably don't want to add. There
are local language support files, asian character set support files and programs,
and hardware specific kernels. If you would like to omit just the
packages that could do harm
and don't mind disk usage, just remove all the kernel packages.
When you are satisfied with the list, you can try to install the packages specified in the edited list:
# rpm -U `cat ~/added`
Updating Updated Red Hat 9 system
Suppose you have a Red Hat 9 system which you have kept updated and
want to keep it that way. When Red Hat stops providing updated
packages, you want to update just those new packages Lineox provides
and delay the bigger task of upgrading the whole system. That is also
possible, but we can't of course support such configuration in any way.
To simulate such situation, we installed full Red Hat 9 system, and
updated all those packages Red Hat had provided up to the end of year
2003 and left year 2004 packages not updated with this simulation as
purpose. This meant that there were three months worth of updated
packages from Lineox that should be installed.
We performed the same steps as were explained earlier, like installing
apt-get, subscribing to Lineox's update service and adding username
and password to apt-get's configuration file.
The interesting question is how many packages can be updated without
upgrading the base system. This of course will be different in the
real world situation, but this simulation got us the following result:
# apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded
XFree86-100dpi-fonts XFree86-75dpi-fonts XFree86-ISO8859-14-100dpi-fonts
XFree86-ISO8859-14-75dpi-fonts XFree86-ISO8859-15-100dpi-fonts
XFree86-ISO8859-15-75dpi-fonts XFree86-ISO8859-2-100dpi-fonts
XFree86-ISO8859-2-75dpi-fonts XFree86-ISO8859-9-100dpi-fonts
XFree86-ISO8859-9-75dpi-fonts XFree86-Mesa-libGL XFree86-Mesa-libGLU
XFree86-base-fonts XFree86-cyrillic-fonts XFree86-doc XFree86-font-utils
XFree86-sdk XFree86-syriac-fonts XFree86-tools XFree86-truetype-fonts
XFree86-xauth XFree86-xdm arpwatch binutils compat-gcc compat-gcc-c++
compat-gcc-g77 compat-gcc-java compat-gcc-objc compat-libgcj
compat-libgcj-devel compat-libstdc++ compat-libstdc++-devel cvs devlabel
ethereal ethereal-gnome gaim gdb gdk-pixbuf gdk-pixbuf-devel
gdk-pixbuf-gnome glibc-profile gnupg hwdata iproute kudzu-devel lftp libgcc
libpcap libxml2 libxml2-devel libxml2-python mdadm modutils modutils-devel
mtx mutt netdump netdump-server netpbm netpbm-devel netpbm-progs nfs-utils
nscd nss_ldap openssl openssl-devel openssl-perl openssl096b popt pstack
pwlib pwlib-devel redhat-config-kickstart redhat-config-packages
redhat-config-xfree86 rpm rpm-build rpm-devel rpm-python rsync samba
samba-client samba-common samba-swat shadow-utils slocate strace sysstat
tcpdump ypbind
The following packages have been kept back
XFree86 XFree86-Xnest XFree86-Xvfb XFree86-devel XFree86-libs
XFree86-libs-data XFree86-twm XFree86-xfs cpp elfutils elfutils-devel
elfutils-libelf gcc gcc-c++ gcc-g77 gcc-gnat gcc-java gcc-objc glibc
glibc-common glibc-debug glibc-devel glibc-utils hotplug httpd httpd-devel
initscripts kdegames kdegames-devel kdepim kdepim-devel kinput2-canna-wnn6
kudzu libf2c libgcj libgcj-devel libgnat libobjc libstdc++ libstdc++-devel
mod_python mod_ssl mozilla mozilla-chat mozilla-devel mozilla-dom-inspector
mozilla-js-debugger mozilla-mail mozilla-nspr mozilla-nspr-devel mozilla-nss
mozilla-nss-devel nptl-devel oprofile redhat-config-network
redhat-config-network-tui up2date up2date-gnome
92 upgraded, 0 newly installed, 0 removed and 58 not upgraded.
Need to get 134MB of archives.
After unpacking 96.3MB of additional disk space will be used.
Do you want to continue? [Y/n]
So 92 packages could be upgraded but 58 could not. In practice this
could mean that you can delay the big upgrade operation approximately
from one to three weeks.
You might think that adding Lineox Enterprise Linux 3.0 disk(s) as
apt repositories could provide the packages needed to satisfy
dependencies that kept those 58 packages from being upgraded, but this
is not the case. When we did that, apt-get told us:
535 upgraded, 0 newly installed, 0 removed and 131 not upgraded.
Many of kept back packages were errata updates, so this is clearly not
the long term solution. Sooner or later the whole system must be upgraded.