Document how to fix BASE-IS-OLD
[mirror/dsa-wiki.git] / input / howto / upgrade-to-squeeze.mdwn
index eb36eef..7573b37 100644 (file)
@@ -1,9 +1,22 @@
 
 # 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
+       /etc/init.d/samhain stop &&
+       mv /etc/rc2.d/S19samhain /etc/rc2.d/K19samhain # and stay down
 
 
 maybe turn off exim
@@ -20,11 +33,10 @@ install deborphan, clean up
        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}'`
+       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:
@@ -37,12 +49,13 @@ update apt list
 
 upgrade
 
-       apt-get install locales-all
+       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)
 
@@ -58,25 +71,48 @@ reject changes to /etc/munin/plugin-conf.d/munin-node (puppet will install a new
   * /etc/apache2/apache2.conf
   * /etc/apache2/ports.conf
 
-update nagios.git (add host to squeeze hostgroup)
+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; puppetd -t
 
 upgrade once more (security etc)
 
        apt-get update && apt-get dist-upgrade
 
-rest follows
+if you are moving from a dsa kernel to a debian kernel, add non-free to sources list, then
 
-       apt-get dist-upgrade
+       apt-get install firmware-linux
 
-check for obsolete packages
+maybe also
 
-       /usr/lib/nagios/plugins/dsa-check-packages
+       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
 
@@ -85,20 +121,38 @@ clean up old libs
        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}'`
+       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
+re-enable exim, samhain
 
-       mv /etc/rc2.d/K20exim4 /etc/rc2.d/S20exim4
+       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
 
@@ -106,3 +160,6 @@ On custom kernels in squeeze it seems that udev stopped to create cciss devices,
 
        cd /lib/udev/devices
        /dev/MAKEDEV cciss
+
+### mailq plugin no longer works
+       apt-get install nagios-plugins-standard