Step-by-step Slackware 10.0 to Slackware 11.0
This upgrade is based loosely on the UPGRADE.TXT file provided by Pat, but it includes the steps you need specifically for a Linode. I tested it on a 4GB partition and it worked for me. It may not work for you – backup all your data before you start!
Start with a clean install of Slackware 10 and select a 2.6.20 or later kernel. The double disk space should help with that
Next, download the slackware 11.0 Disk 1 ISO to '/'.
Mount the ISO file on your local file-system:
mount /slackware-11.0-install-d1.iso /mnt -t iso9660 -o ro,loop=/dev/loop0
Switch to single user mode. It will log you out, but just log in again as 'root'.
telinit 1
Now, upgrade your glib shared libraries:
upgradepkg /mnt/slackware/a/glibc-solibs-*.tgz
Upgrade your package tools:
upgradepkg /mnt/slackware/a/pkgtools-*.tgz
Upgrade (or install) sed:
upgradepkg --install-new /mnt/slackware/a/sed-*.tgz
Upgrade only what is already installed (you can add more packages later with slapt-get or whatever means you prefer):
upgradepkg /mnt/slackware/*/*.tgz
Before you reboot, you need to make a couple of changes so that your new config files and start-up scripts will work. Execute the following script to make 'live' all the new config files and start-up scripts. The script will make backups of the old configs:
#!/bin/sh
cd /etc
find . -name "*.new" | while read configfile ; do
if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
-a ! "$configfile" = "./group.new" \
-a ! "$configfile" = "./passwd.new" \
-a ! "$configfile" = "./shadow.new" ]; then
cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
$(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
fi
done
Now before you reboot, you have to enable your LISH console. Copy the original inittab and securetty files back, so that you can login using the LISH console if anythnig goes wrong:
cp /etc/securetty.bak /etc/securetty
cp /etc/inittab.bak /etc/inittab
– At this point you can reboot your Linode from the web management console and it should boot up as a Slackware 11.0 box.
To tie up a few loose ends, you can disable the udev daemon (since the Linode kernels have all the devices in anyway):
chmod -x /etc/rc.d/rc.udev
I also hard-configured my IP address and gateway information so that I don't have to run the dhcp client daemon. Saves a small amount of RAM.
–deckert
Edit: fixed typo in the upgrade packages step
2 Replies
root@host:~# cat /etc/slackware-version
Slackware 11.0.0
root@host:~# uname -a
Linux host 2.6.21.1-linode32 #1 Sun May 6 17:50:51 EDT 2007 i686 i686 i386 GNU/Linux
root@host:~#