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)
- keep local (i.e. reject (N)):
- all changes relating to exim (in /etc/exim4 and in logrotate)
- /etc/ldap/ldap.conf
- /etc/nagios/nrpe.cfg
- /etc/samhain/samhainrc
- /etc/munin/munin-node.conf
- /etc/logrotate.d/apache2
- /etc/apache2/apache2.conf
- /etc/apache2/ports.conf
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