Before reading this upgrade guide, please note that live updates to your production servers are carried out at your own risk. Debian Edu/Skolelinux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Please read this chapter and the New features in Jessie chapter of this manual completely before attempting to upgrade.
General notes on upgrading
Upgrading Debian from one distribution to the next is generally rather easy. For Debian Edu this is unfortunately not yet true as we modify configuration files in ways we shouldn't. (See Debian bug 311188 for more information.) Upgrading is still possible but may require some work.
In general, upgrading the servers is more difficult than the workstations and the main-server is the most difficult to upgrade. The diskless machines are easy, as their chroot environment can be deleted and recreated, if you haven't modified it. If you have, the chroot is basically a workstation chroot anyway, so rather easy to upgrade.
If you want to be sure that after the upgrade everything works as before, you should test the upgrade on a test system or systems configured the same way as your production machines. There you can test the upgrade without risk and see if everything works as it should.
Make sure to also read the information about the current Debian Stable release in its installation manual.
It may also be wise to wait a bit and keep running Oldstable for a few weeks longer, so that others can test the upgrade and document any problems they experience. The Oldstable release of Debian Edu will receive continued support for some time after the next Stable release, but when Debian ceases support for Oldstable, Debian Edu will necessarily do the same.
Upgrades from Debian Edu Wheezy
Be prepared: make sure you have tested the upgrade from Wheezy in a test environment or have backups ready to be able to go back.
Please note that the following recipe applies to a default Debian Edu main server installation (desktop=kde, profiles Main-Server, Workstation, Thin-Client-Server). (For a general overview concerning wheezy to jessie upgrade, see: https://www.debian.org/releases/jessie/releasenotes)
Don't use X, use a virtual console, log in as root. Read all debconf information carefully, choose 'keep the local version currently installed'; in most cases hitting return will be fine. Press 'q' to quit the apt-listchanges pager once you've read the information.
Upgrade the server side
- Make sure the current system is up-to-date.
apt-get update apt-get -y upgrade
- Do the actual upgrade.
sed -i 's/wheezy/jessie/g' /etc/apt/sources.list apt-get update apt-get -y dist-upgrade
If apt-get finishes with an error, try to fix it and/or run apt-get -f install and then apt-get -y dist-upgrade once again.
- Apply debian-edu configuration (takes some time).
cfengine-debian-edu -D installation
Regenerate gosa.secrets to make GOsa² work with new php version; backup gosa.conf just in case it has been modified.
rm /etc/gosa/gosa.secrets cp /etc/gosa/gosa.conf /etc/gosa/gosa.conf.wheezy_version cp /etc/gosa/gosa.conf.orig /etc/gosa/gosa.conf gosa-encrypt-passwords
Adjust the <conf> and <main> sections in /etc/gosa/gosa.conf:
Replace the config version string with a new one like this: <conf configVersion="Managed-by-Debian-Edu">
Remove the sambaHashHook item so that <main> ends like this: passwordHook="">
Install missing package; the package name was obtained using /usr/lib/debian-edu-config/testsuite/taskpkgs | grep error: after the step above.
apt-get -y install killer
- Check if the upgraded system works.
Reboot and test if it works like before: Log in as first user and test if the GOsa² gui is working, if you're able to connect LTSP clients and workstations, if you can add/remove a netgroup membership of a system, if you can send and receive internal email, if you can manage printers, and maybe other site specific things. Use the testsuite scripts if you spot an error.
Consider an optional step (Debian bug 779646).
Clean up after cfengine has autoremoved packages without purging. This will remove configuration files of removed packages and should only be used with care; use dpkg -l|grep ^rc first to check what would be removed, then run for i in $(dpkg -l|grep ^rc|cut -d' ' -f3);do dpkg -P $i;done.
Upgrade LTSP chroot (default arch i386)
sed -i '/jessie/ s/deb/#deb/g' /opt/ltsp/i386/etc/apt/sources.list ltsp-chroot -m -a i386 apt-get update ltsp-chroot -m -a i386 apt-get -y upgrade sed -i 's/wheezy/jessie/g' /opt/ltsp/i386/etc/apt/sources.list ltsp-chroot -m -a i386 apt-get update ltsp-chroot -m -a i386 apt-get -y dist-upgrade ltsp-chroot -m -a i386 apt-get -f install ltsp-chroot -m -a i386 apt-get -y dist-upgrade
If apt-get still finishes with an error, try to fix it and/or run the apt-get commands again, esp. apt-get -f install.
- Install missing package in the LTSP chroot.
ltsp-chroot -m -a i386 apt-get -y install killer
- Cleaning up.
ltsp-chroot -m -a i386 apt-get --purge autoremove
- Update LTSP support on the server side.
Recreating an LTSP chroot
On the LTSP server(s) the LTSP chroot could also be recreated. The new chroot will still support both thin-clients and diskless workstations.
Remove /opt/ltsp/i386 (or /opt/ltsp/amd64, depending on your setup). If you have enough diskspace, consider backing it up.
Recreate the chroot by running debian-edu-ltsp --arch i386 (or debian-edu-ltsp --arch amd64) as root.
Upgrades from older Debian Edu / Skolelinux installations (before Wheezy)
To upgrade from any older release, you will need to upgrade to the Wheezy based Debian Edu release first, before you can follow the instructions provided above. Instructions are given in the Manual for Debian Edu Wheezy about how to upgrade to Wheezy from the previous release, Squeeze, and the Squeeze manual covers the one before that! (Lenny was it's name and before that there was even another one, based on what was called Etch.)