Upgrade from lenny to squeeze

Make sure to coordinate with whoever uses the host, be it the buildd operator, the QA team, the ftp team or just announce it if it's a general developer box.

on buildds:

cd ~buildd
sudo su - buildd
touch NO-DAEMON-PLEASE EXIT-DAEMON-PLEASE && exit

now wait for the buildd to quit

turn off samhain

/etc/init.d/samhain stop &&
mv /etc/rc2.d/S19samhain /etc/rc2.d/K19samhain # and stay down

maybe turn off exim

/etc/init.d/exim4 stop &&
mv /etc/rc2.d/S20exim4 /etc/rc2.d/K20exim4 # so it stays down

install deborphan, clean up

apt-get install deborphan dialog
orphaner
orphaner -n
orphaner -a
orphaner -a -n

purge removed packages

dpkg --get-selections | awk '$2=="deinstall" {print $1}' &&
echo "really purge these [y/N]?" && read ans && [ "$ans" = "y" ] && dpkg --purge `dpkg --get-selections | awk '$2=="deinstall" {print $1}'` &&
echo "These are not at install:" && dpkg --get-selections | awk '$2!="install" {print $1}'

change sources list entries to squeeze:

cd /etc/apt/sources.list.d && sed -i "s#lenny#squeeze#g" debian.list

update apt list

apt-get update

upgrade

apt-get install locales-all apt dpkg

rest follows

apt-get dist-upgrade

use dash as system shell (/bin/sh).

reject changes to /etc/pam.d/sudo (puppet will install a new file later anyway)

reject changes to /etc/munin/plugin-conf.d/munin-node (puppet will install a new file later anyway)

update dsa-nagios.git (add host to squeeze hostgroup)

update dsa-puppet.git (add to squeeze list in local.yaml)

do a puppet run:

puppetd -t; puppetd -t

upgrade once more (security etc)

apt-get update && apt-get dist-upgrade

if you are moving from a dsa kernel to a debian kernel, add non-free to sources list, then

apt-get install firmware-linux

maybe also

apt-get install firmware-bnx2

if you are an nfs client, make sure to load the module before boot completes:

echo nfs >> /etc/modules

if you are an autofs node, make sure to load the module before boot completes:

echo autofs4 >> /etc/modules

These last two are because autofs in particular lazy loads the modules, and it will happen after we've disabled module loading.

clean up transitions

dpkg --purge dhcp3-client && apt-get install isc-dhcp-client  # mark as non-auto

Do the same for grub/grub-pc if you did upgrade-from-grub-legacy

(reboot)
upgrade-from-grub-legacy
(reboot)
apt-get purge grub &&
apt-get install grub-pc

clean up old libs

orphaner
orphaner -n
orphaner -a
orphaner -a -n

check for unneeded/obsolete packages

apt-get autoremove

/usr/lib/nagios/plugins/dsa-check-packages

purge removed packages

dpkg --get-selections | awk '$2=="deinstall" {print $1}' &&
echo "really purge these [y/N]?" && read ans && [ "$ans" = "y" ] && dpkg --purge `dpkg --get-selections | awk '$2=="deinstall" {print $1}'` &&
echo "These are not at install:" && dpkg --get-selections | awk '$2!="install" {print $1}'

purge cruft that upgrade doesn't remove

apt-get remove --purge emacs22-common libxmlrpc-ruby libcap1 emacs22-nox emacs22-bin-common libvolume-id0 gcc-4.2-base ifenslave libopenssl-ruby1.8 mailx

re-init samhain

possibly reboot

re-enable exim, samhain

mv /etc/rc2.d/K??exim4 /etc/rc2.d/S02exim4
mv /etc/rc2.d/K??samhain /etc/rc2.d/S02samhain
env -i /etc/init.d/exim4 start
env -i /etc/init.d/samhain start

insserv

re-init samhain

Troubleshooting

Problems with CCISS

On custom kernels in squeeze it seems that udev stopped to create cciss devices, thus in /lib/udev/devices do a /dev/MAKEDEV cciss and reboot.

cd /lib/udev/devices
/dev/MAKEDEV cciss

mailq plugin no longer works

apt-get install nagios-plugins-standard