My attempts to install KDE3 onto Ubuntu Jaunty were recently thwarted when Tim Pearson's KDE3 apt repository was taken out by a nearby lightning strike. By googling, I managed to find a couple of mirrors of his livecd .iso images and was able to download what I needed, but when I booted the livecd, I found it didn't have .deb packages as I was expecting. The installer must copy the packages directly off the live image.
So I wondered, how is is possible to repackage files off a livecd into .deb files for installing on a real installation? Well, it turns out it's not that hard, using dpkg-repack:
- Download the .iso
- Mount the .iso
# mkdir /mnt/cdrom # mount -t iso9660 -o loop kubuntu-9.04-kde3-desktop-amd64.iso /mnt/cdrom
- Mount the SquashFS filesystem stored in the .iso
# mkdir /mnt/casper # losetup -f --show /mnt/cdrom/casper/filesystem.squashfs /dev/loop/1 # mount -o loop /dev/loop/1 /mnt/casper # df -k /mnt/cdrom /mnt/casper Filesystem 1K-blocks Used Available Use% Mounted on /dev/loop0 714676 714676 0 100% /mnt/cdrom /dev/loop2 697600 697600 0 100% /mnt/casper
- Install dpkg-repack
# apt-get install dpkg-repack
- Change directory to where apt stores its archives by default
# cd /var/cache/apt/archives
- Use dpkg-repack to convert packages from the livecd to .deb files
# dpkg-repack --root=/mnt/casper $(chroot /mnt/casper /usr/bin/dpkg-query -W -f='${package} ' '*-kde3')
- Force install the new .deb files (some files are common to KDE4 packages)
# dpkg -i --force-all *-kde3*.deb
The configure step will ask you to choose a display manager (kdm/gdm/kdm-kde3). When finished, reboot or restart the display manager from a virtual console (Ctrl-Alt-F1) and log into KDE3.
# /etc/init.d/kdm restart