This (very short) howto is based on the upgrades done by BzzWareAS. The upgrades is mainly from Woody (Venus) installations to a sarge-based installation.
Disclaimer
BzzWareAS is in no way responsible for any damage caused by following this howto, but if you're preparred to pay, you may get support from BzzWareAS or other parties listed [http://www.skolelinux.org/no/help/professional_help here] . If needed, you may send an email to support at bzz.no
This is a preliminary howto
Preparations
First make sure you have a backup of the ldap-db
sudo invoke-rc.d slapd stop sudo slapcat -l tjener.ldif
You really should have a working backup, preferable on another machine
If you are using static configuration for eth0, please set dns-information in /etc/network/interfaces before installing resolvconf (part of the upgrade), by adding these lines:
dns-nameservers 10.0.2.2 dns-search intern
When doing upgrades from one distribution, it's not efficient to look at all the changelogs during the upgrades. Therefor, we set listchanges to be quiet
sudo update-ini-file /etc/apt/listchanges.conf apt frontend none sudo update-ini-file /etc/apt/listchanges.conf apt confirm 0
Update the woody installation
First thing we do is to have an uptodate woody installation. Make sure that your sources list points to woody (or woody/updates for security) and not to sarge. Then update the package list, and download all the packages first
sudo vi /etc/apt/sources.list sudo apt-get update sudo apt-get -dy dist-upgrade </dev/null >& woody-upgrade_download.log &
Then you install the new packages for woody.
sudo aptitude -y dist-upgrade
Remove some package that has caused some trouble
sudo apt-get remove --purge libtext-iconv-perl libxml-twig-perl
Do the upgrade
Replace woody with sarge in sources.list (please do a check afterwards)
echo -e ":%s/woody/sarge/g\n:wq" | sudo vi /etc/apt/sources.list
# During the upgrade, you will need a lot of free space. For a combined server, you will need aprox. 1 GB for both /usr and /var/cache/apt/archives
df -h /usr /var/cache/apt/archives
Downloading ~1GB do take a while, so we put that job in the background and go home or take lunch during the download.
sudo aptitude -dy dist-upgrade </dev/null >& aptitude_dist-upgrade_download.log &
When all the packages are downloaded, it's time to start the actual upgrade. Since sudo unsets most environment variables, we dont run sudo aptitude, but rather sudo su - , then do the upgrade
sudo su - export DEBIAN_FRONTEND=noninteractive yes "" | \ aptitude -y dist-upgrade >& aptitude_sarge_dist-upgrade.log & exit
After the upgrade is done, you should check that the recomends of debian-edu-* and education-* packages is installed. You can also use aptitude to remove packages that are not a dependency of the debian-edu-*^and education-* packages. But be carefull, this could also ruin your system
sudo aptitude
Post upgrade configuration
Mailserver is changed from exim3 to exim4, and we need to set up the symlinks that normally would be set up by cfengine during an installation.
sudo ln -s exim-ldap-server-v4.conf /etc/exim4/exim4.conf
Ldap also needs to be set up again
sudo invoke-rc.d slapd stop sudo mv /etc/default/slapd /etc/default/slapd.woody sudo mv /etc/default/slapd.dpkg-dist /etc/default/slapd grep -v ^# /etc/default/slapd | grep -q ^SLAPD_SERVICES || \ echo 'SLAPD_SERVICES="ldap:/// ldaps:///"' | sudo tee -a /etc/default/slapd sudo mv /etc/ldap/slapd.conf /etc/ldap/slapd-upgrade.conf sudo ln -s /etc/ldap/slapd-sarge_debian-edu.conf /etc/ldap/slapd.conf grep "^TLS_REQCERT never" /etc/ldap/ldap.conf || \ echo "TLS_REQCERT never" | sudo tee -a /etc/ldap/ldap.conf sudo invoke-rc.d slapd start
LDAP users
Now is a good time to check that your users still exists
getent passwd
If they dont exists, your ldap db is probably corrupt, and you need to fix it from the ldif you saved at the beginning.
Pam configuration
With sarge, we got the possibility to include file in the pam configuration files, and therefor the pam config has changed since woody First set up normal pam config
cd /etc/pam.d for ALL in *.dpkg-new ; do BASE=$(basename $ALL .dpkg-new) test -h $BASE || continue sudo rm $BASE sudo mv $ALL $BASE done
Set up symlinks to include ldap authentication First move aside the old configs
for ALL in common-*-ldap-debian-edu ; do BASE=$(basename $ALL -ldap-debian-edu) test -f $BASE || continue sudo mv $BASE $BASE-org sudo ln -s $ALL $BASE done for ALL in common-*-debian-edu ; do BASE=$(basename $ALL -debian-edu) test -f $BASE || continue sudo mv $BASE $BASE-org sudo ln -s $ALL $BASE done
kdm configuration
set opp kdm to the new directives
sudo /usr/bin/update-ini-file /etc/kde3/kdm/kdmrc 'General' FifoDir '' sudo /usr/bin/update-ini-file /etc/kde3/kdm/kdmrc 'X-*-Core' AllowShutdown None sudo /usr/bin/update-ini-file /etc/kde3/kdm/kdmrc 'X-:*-Core' AllowShutdown Nonesudo /usr/bin/update-ini-file /etc/kde3/kdm/kdmrc 'X-*-Greeter' UserList False
If this is a thin client server, and you are using old ltsp3/4-clients, you need to set kdm up to allow remote connections
sudo /usr/bin/update-ini-file /etc/kde3/kdm/kdmrc 'Xdmcp' Enable true grep -e "^\* *#any host can get a login window" /etc/kde3/kdm/Xaccess || \ echo "* #any host can get a login window" | \ sudo tee -a /etc/kde3/kdm/Xaccess
We had to use a hack to set some variables in woody. This is no longer needed, infact, it will break things if the old hack is still there in sarge
test -h /etc/X11/Xsession && test -f /etc/X11/Xsession.dpkg-new && \ sudo rm /etc/X11/Xsession && \ sudo mv /etc/X11/Xsession.dpkg-new /etc/X11/Xsession
Cupsys also might need a symlink to get the correct configuration
sudo ln -sf cupsd-debian-edu.conf /etc/cups/cupsd.conf
Thin clients
hmm, here this tutorial gets a bit old, using ltsp4.x instead of the new debian-based ltsp Check that /etc/dhcp3/dhcpd.conf points to the correct boot file
grep "filename" /etc/dhcp3/dhcpd.conf | grep -v "^#" | head sudo /etc/init.d/dhcp3-server restart
Check that the tftp server exports the correct file