[Wlug] newbie seeks help with kernel upgrade

Charles R. Anderson cra@WPI.EDU
Thu, 17 May 2001 09:24:08 -0400 (EDT)


On Thu, 17 May 2001, Dan Crooks wrote:

dancro> While trying to install the kernel upgrade with rpm I
dancro> received error messages: 1) failed dependencies:
dancro> rpmlib(PayloadFilesHavePrefix) <= 4.0.1 is needed by
dancro> kernel-2.2.19-6.2.1 2) mount < 2.10r conflicts with
dancro> kernel-2.2... 3) nfs-utils < 0.3.1 conflicts with
dancro> kernel-2.2...
dancro>
dancro> Where can I find libdb?  How could I determine that for
dancro> myself if I run into another dependency?

libdb-3 is in the db3 package.  This is not easy to determine,
unfortunately.  The Red Hat up2date service can figure this out
automatically, I believe.

You shouldn't need the --replacefiles option to rpm.  A conflict usually
means you should use the -U option to rpm so the package is Upgraded,
instead of Installed.  Here is the order you will need to follow for the
kernel upgrade.  I'm doing this from memory, so I may have forgotten some
dependencies.

First upgrade rpm.  You really should upgrade to all the latest packages
in the Red Hat updates tree, since many security problems are fixed and
the latest packages are required for other updates, as you have
discovered.  For instance, I believe there is a new gnorpm that works with
the new rpm-4.0.2.

The -F option means to only upgrade if an older package of the same name
is already installed (Freshen).

rpm -Uvh db3-*3.1.17-4.6x.i386.rpm
rpm -Fvh rpm-*4.0.2-6x.i386.rpm popt-1.6.2-6x.i386.rpm

rpm --rebuilddb		(to convert to rpm 4 database files)

Now install files required by the new kernel:

rpm -Fvh mount-2.10r-0.6.x.i386.rpm nfs-utils-0.3.1-0.6.x.1.i386.rpm

Upgrade all the kernel packages except the main one and smp one:

rpm -Fvh kernel-BOOT-2.2.19-6.2.1.i386.rpm
kernel-doc-2.2.19-6.2.1.i386.rpm kernel-headers-2.2.19-6.2.1.i386.rpm
kernel-ibcs-2.2.19-6.2.1.i386.rpm kernel-pcmcia-cs-2.2.19-6.2.1.i386.rpm
kernel-source-2.2.19-6.2.1.i386.rpm kernel-utils-2.2.19-6.2.1.i386.rpm

Now choose the right main kernel package for your architecture (i386,
i586, i686, regular or smp), and install that (don't upgrade it so you can
keep the old one around if the new one gives you problems).  The i586 and
i686 versions are in their own subdirectories of the updates tree, not in
the i386 subdirectory.

rpm -ivh kernel-2.2.19-6.2.1.i686.rpm

(notice the -i option to install instead of upgrade.  This leaves the
older versions around for emergencies.)

Edit /etc/lilo.conf and make a new stanza and edit it for the new version
(copy a stanza from another one in the file).  Make sure to change the old
stanza(s) to different labels (like linux.old or something):

image=/boot/vmlinuz-2.2.19-6.2.1
        label=linux
        initrd=/boot/initrd-2.2.19-6.2.1.img
        read-only
        root=/dev/hda2

If you have an initrd line in lilo.conf that isn't empty, you need to
create a new initial ram disk:

/sbin/mkinitrd /boot/initrd-2.2.19-6.2.1.img 2.2.19-6.2.1

Re-run lilo:

/sbin/lilo

Now you should be set to "shutdown -r now" and boot the new kernel.