run an explicit apt-get update after puppet
[mirror/dsa-wiki.git] / input / howto / upgrade-to-jessie.mdwn
1 # Upgrade from squeeze to wheezy
2
3 Make sure to coordinate with whoever uses the host, be it the buildd
4 operator, the QA team, the ftp team or just announce it if it's a
5 general developer box.
6
7 on buildds:
8
9         buildds want moving to the new puppetized setup!
10
11 upgrade stuff:
12
13 * answer question to libc6 "Restart services automaticaly" with "yes"
14 * say no to other other questions.
15
16 commands:
17
18         sed -i "s#wheezy#jessie#g" /etc/apt/sources.list.d/debian.list /etc/apt/sources.list.d/security.list &&
19         dpkg --clear-avail &&
20         if [ -e /etc/apt/sources.list.d/buildd.debian.org.list ]; then
21                 sed -i "s#squeeze#wheezy#g" /etc/apt/sources.list.d/buildd.debian.org.list
22         fi &&
23         apt-get update &&
24         apt-get install dpkg apt samhain &&
25         service samhain stop &&
26         apt-get dist-upgrade &&
27         rm -f /var/state/samhain/samhain_file /var/lib/samhain/samhain_file &&
28         samhain --foreground -t init -p none -s none -l none -m none &&
29         (puppet agent -t || true) &&
30         apt-get update &&
31         apt-get dist-upgrade &&
32         apt-get purge ruby1.8 libffi5:amd64 emacs23-nox libruby1.9.1 libfilesystem-ruby1.9.1 libruby1.8 emacs23-common ruby1.9.1 emacs23-bin-common &&
33         apt-get --purge autoremove &&
34         while [ "$(deborphan -n | wc -l)" -gt 0 ] ; do apt-get purge $(deborphan -n); done &&
35         dpkg --clear-avail &&
36         apt-get clean
37
38
39 purge removed packages
40
41         dpkg --get-selections | awk '$2=="deinstall" {print $1}' &&
42         echo "really purge these [y/N]?" && read ans && [ "$ans" = "y" ] && dpkg --purge `dpkg --get-selections | awk '$2=="deinstall" {print $1}'` &&
43         echo "These are not at install:" && dpkg --get-selections | awk '$2!="install" {print $1}'
44
45 more clean ups:
46
47         /usr/lib/nagios/plugins/dsa-check-packages | tr -d ,
48
49         (apt-get purge them)
50
51         apt-get --purge autoremove &&
52         while [ "$(deborphan -n | wc -l)" -gt 0 ] ; do apt-get purge $(deborphan -n); done
53
54         (puppet agent -t || true) && (puppet agent -t || true)
55
56 nfs kernel module fu:
57         grep '^nfs$' /etc/modules && ! grep '^nfsv4$' /etc/modules && echo nfsv4 | tee -a /etc/modules
58
59 apache cleanup:
60
61         mkdir /etc/apache2/conf.d.WHEEZY &&
62         cd /etc/apache2/conf.d &&
63           for i in *; do
64             diff -u $i ../conf-enabled/$i.conf && mv -v $i ../conf.d.WHEEZY/
65           done &&
66           cd .. &&
67           rmdir conf.d
68
69         per vhost:
70           move sites-available file to foo.conf,
71           remove dangling symlink in sites-enabled,
72           a2ensite foo
73           replace all order allow,deny, allow from all with
74             Require all granted
75
76 Add the new ed25519 ssh host key:
77         run
78           echo; echo "cat << EOF | ldapmodify -ZZ -x -D uid="\$USER",ou=users,dc=debian,dc=org -W -h db.debian.org"; echo "dn: host=`hostname`,ou=hosts,dc=debian,dc=org"; echo "changetype: modify"; echo "add: sshRSAHostKey"; echo "sshRSAHostKey: `cat /etc/ssh/ssh_host_ed25519_key.pub `"; echo; echo "EOF"; echo
79         and paste it on draghi.
80         
81 update dsa-nagios.git (add host to jessie hostgroup)
82
83 re-init samhain and finish with a reboot
84
85         (puppet agent -t || true) &&
86         (puppet agent -t || true) &&
87         (puppet agent -t || true) &&
88         samhain --foreground -t update -p none -s none -l none -m none &&
89         /sbin/reboot