Since the release of KDE 2.0.0 a lot of people have asked me to help them upgrade their existing Slackware based boxes from KDE 1.1.2 (which ships with Slackware 7.1) to KDE 2.0.1 that can be found in the slackware-current tree. So instead of answering the same question over and over, I decided to write this article, and describe the entire procedure in detail. I hope you’ll enjoy reading it and that it will be of use to anyone wanting to upgrade to KDE 2.
First of all you should be aware that the packages you need to install come from the slackware-current tree, and since that is the development tree things may not be completely in sync with your installed system. Usually the procedure I describe below works fine, but as the files in -current change quite often you may experience problems if your installed system is a lot older that the stock 7.1.
Since KDE 2 depends on very recent versions of some other libraries, these will need to be upgraded as well and a few new ones will need to be installed. This is not a difficult procedure, but it can lead to big problems if done incorrectly, so please follow the instructions carefully. The libraries in question are; glibc, qt and openssl.
Ok, let’s get on with it.
Read it all through once before making any changes (just to make sure you know what steps are involved), then start at the top again and do everything in the order shown.
And remember, BACKUP ANY IMPORTANT DATA NOW! An upgrade involves overwriting old files with new ones, installing completely new files and deleting some existing files completely. If there should happen to be errors in some of the packages or something fails or something unforeseen happens, then you could loose data. It is always a good idea to have recent backups before performing an operation such as this one. Make those backups NOW – you have been warned
First of all make sure you have all the needed files before we begin.
Start by making a directory called /updates and then make sure you have all of the following files in that directory (these should all be downloaded from the slackware-current tree from the slackware ftp server, I have shown what subdirectory the packages can be found in):
[Note: The following instructions to update KDE will also update Glibc to 2.2, I suggest you read and follow David Cantrell's instructions on upgrading to glibc 2.2 then continue reading here. -keskoy]
glibcso.tgz (slakware/a1/) !
glibc.tgz (slakware/d1/) !
qt2.tgz (slakware/kde1/) !
mesa.tgz (slakware/x1/) !
openssl.tgz (slakware/n1/) !
ksupport.tgz (slakware/kde1/) !
kdelibs.tgz (slakware/kde1/) !
kdebase.tgz (slakware/kde1/) !
kdeutils.tgz (slakware/kde1/) *
kadmin.tgz (slakware/kde1/) *
htdig.tgz (slakware/kde1/) *
kdoc.tgz (slakware/kde1/) *
kde-i18n.tgz (slakware/kde1/) -
kdegames.tgz (slakware/kde1/) -
kdepim.tgz (slakware/kde1/) -
kdetoys.tgz (slakware/kde1/) -
kgraphic.tgz (slakware/kde1/) -
kmedia.tgz (slakware/kde1/) -
knetwork.tgz (slakware/kde1/) -
koffice.tgz (slakware/kde1/) -
You will notice that I have marked the packages with 3 different symbols (!, * and -). Packages marked with ‘!’” are packages that you MUST HAVE, we cannot do this if you do not have those. Packages marked with ‘*’” are those that I consider very nice to have but not absolutely essential. And the ones marked with ‘-’ are the ones I consider to be optional.
If you don’t know very much about what are in the packages and want to make sure you have a complete KDE 2 desktop (and you have enough diskspace) then install everything – at least install the packages marked ‘!’” and ‘*’.
For the purpose of this guide, make sure that the /updates directory contain ONLY the files shown above. This is important for some of the commands that I run at the very end of the guide.
Secondly, we are about to update some central system libraries and your graphical user interface, so you should not be running said user interface while we do this. In other words; exit from KDE completely and use a plain textmode commandline to do ALL of the following. If your system boots directly into X then change that to have it boot to a textmode console (you can change it back when we are done).
To make sure that you boot to a text console and not X, use a text editor (as the root user) to edit the file ‘/etc/inittab’ and find the lines that looks like this:
# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:
These lines are close to the top of the file. The number in the second line is the important one – if it is set to 4 (as in my example) then your machine boots into X by default, and if it is 3 then you boot to a text mode console and type startx to start the GUI (this is what we want for now). Change the number to be 3 (or leave it like that if it is already 3) save the file, and reboot your machine. It is possible to do the entire upgrade without rebooting, but it will make it a bit more complicated so I will not describe that.
When your machine boots up it should present you with a plain text login prompt. Log in as the root user (the administrator).
We are now ready to start the real upgrade process. This is where the fun starts