Ostatnio aktywny 6 months ago

Rewizja 071f6810f2624fbceeb11648245a16be5cd8aa43

wheezy2jessie.sh Surowy
1Please also refer to http://www.debian.org/releases/jessie/releasenotes and use your brain!
2
3
4# upgrade to UTF-8 locales (http://www.debian.org/releases/jessie/amd64/release-notes/ap-old-stuff.en.html#switch-utf8)
5dpkg-reconfigure locales
6
7# remove unused config file
8rm -rf /etc/network/options /etc/environment
9
10# Transition and remove entries from older releases
11sed -i s#/backports.org/debian#/ftp.de.debian.org/debian#g /etc/apt/sources.list*
12sed -i s/debian-backports/debian/g /etc/apt/sources.list*
13sed -i /etch/d /etc/apt/sources.list*
14sed -i /lenny/d /etc/apt/sources.list*
15sed -i /sarge/d /etc/apt/sources.list*
16sed -i /squeeze/d /etc/apt/sources.list*
17sed -i /volatile/d /etc/apt/sources.list*
18sed -i /proposed-updates/d /etc/apt/sources.list*
19# change distro (please move 3rd party sources to /etc/apt/sources.list.d/), maybe look into http://ftp.cyconet.org/debian/sources.list.d/
20sed -i s/wheezy/jessie/g /etc/apt/sources.list*
21sed -i "s/ stable/ jessie/g" /etc/apt/sources.list*
22sed -i s/wheezy/jessie/g /etc/apt/preferences*
23sed -i s/wheezy/jessie/g /etc/apt/sources.list.d/*wheezy*
24rename s/wheezy/jessie/g /etc/apt/sources.list.d/*wheezy*
25aptitude update
26
27# check package status
28dpkg --audit
29aptitude search "~ahold" | grep "^.h"
30dpkg --get-selections | grep hold
31
32# unmark packages auto
33aptitude unmarkauto vim
34aptitude unmarkauto $(dpkg-query -W 'linux-image-3.2.*' | cut -f1)
35
36# have a look into required and free disk space
37apt-get -o APT::Get::Trivial-Only=true dist-upgrade || df -h
38
39# record session
40script -t 2>~/upgrade-jessie.time -a ~/upgrade-jessie.script
41
42# install our preseed so libc doesn't whine
43cat > /tmp/jessie.preseed <<EOF
44libc6 glibc/upgrade boolean true
45libc6 glibc/restart-services string
46libc6 libraries/restart-without-asking boolean true
47EOF
48/usr/bin/debconf-set-selections /tmp/jessie.preseed
49
50# update aptitude first
51[ "$(which aptitude)" = "/usr/bin/aptitude" ] && aptitude install aptitude
52
53# minimal system upgrade (keep sysvinit / see http://noone.org/talks/debian-ohne-systemd/debian-ohne-systemd-clt.html#%2811%29)
54aptitude upgrade '~U' 'sysvinit-core+'
55
56# (re)enable wheel
57if [ -f /etc/pam.d/su.dpkg-new ]; then CFG=/etc/pam.d/su.dpkg-new; else CFG=/etc/pam.d/su; fi
58sed -i "s/# auth required pam_wheel.so/auth required pam_wheel.so/" $CFG
59
60# (re)configure snmpd
61if [ -f /etc/snmp/snmpd.conf.dpkg-new ]; then CFG=/etc/snmp/snmpd.conf.dpkg-new; \
62 else CFG=/etc/snmp/snmpd.conf; fi
63sed -i "s^#rocommunity secret 10.0.0.0/16^rocommunity mycommunity^g" $CFG
64sed -i s/#agentAddress/agentAddress/ $CFG
65sed -i "s/^ rocommunity public/# rocommunity public/" $CFG
66sed -i "s/^ rocommunity6 public/# rocommunity6 public/" $CFG
67sed -i "s/agentAddress udp:127/#agentAddress udp:127/" $CFG
68
69# randomize crontab
70if [ -f /etc/crontab.dpkg-new ]; then CFG=/etc/crontab.dpkg-new; else CFG=/etc/crontab; fi
71sed -i 's#root cd#root perl -e "sleep int(rand(300))" \&\& cd#' $CFG
72sed -i 's#root\ttest#root\tperl -e "sleep int(rand(3600))" \&\& test#' $CFG
73
74# phpmyadmin
75if [ -f /etc/phpmyadmin/config.inc.php.dpkg-new ]; then CFG=/etc/phpmyadmin/config.inc.php.dpkg-new; \
76 else CFG=/etc/phpmyadmin/config.inc.php; fi
77sed -i "s/\['auth_type'\] = 'cookie'/\['auth_type'\] = 'http'/" $CFG
78sed -i "s#//\$cfg\['Servers'\]\[\$i\]\['auth_type'\] = 'http';#\$cfg['Servers'][\$i]['auth_type'] = 'http';#" $CFG
79
80# maybe we want to change some shorewall config stuff again
81sed -i s/^startup=0/startup=1/ /etc/default/shorewall
82
83# full-upgrade
84aptitude full-upgrade
85
86# Apache2 config migration
87# can be done via https://gist.github.com/waja/9c6ca010bf44b7a6f99c/raw/migrate_apache22to24.sh
88# or sites transition with /usr/share/doc/apache2/migrate-sites.pl
89#
90# More info in /usr/share/doc/apache2/NEWS.Debian.gz
91# Upstream authorization changes: http://httpd.apache.org/docs/2.4/upgrading.html#run-time
92# https://www.digitalocean.com/community/tutorials/migrating-your-apache-configuration-from-2-2-to-2-4-syntax
93# https://www.linode.com/docs/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4
94# http://linoxide.com/linux-how-to/apache-migration-2-2-to-2-4-ubuntu-14-04/
95
96# remove old squeeze packages left around (keep eyes open!)
97apt-get autoremove
98aptitude search ?obsolete
99dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | awk '{print $2}' | xargs aptitude -y purge
100dpkg -l | grep lenny | grep -v xen | awk '{print $2}' | xargs aptitude -y purge
101dpkg -l | grep squeeze | grep -v xen | awk '{print $2}' | xargs aptitude -y purge
102dpkg -l | grep -E 'deb7|wheezy' | grep -v xen | grep -v linux-image | awk '{print $2}' | xargs aptitude -y purge
103aptitude -y install deborphan && deborphan | grep -v xen | grep -v libpam-cracklib | xargs aptitude -y purge
104dpkg -l | grep ^r | awk '{print $2}' | xargs aptitude -y purge
105
106### not needed until now
107# mysql
108# remove anonymous mysql access
109#mysql -u root -p -e "DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.db WHERE Db='test' AND Host='%' OR Db='test\\_%' AND Host='%'; FLUSH PRIVILEGES;"
110
111# dont use iptables when creating xen vifs
112#cp /etc/xen/scripts/vif-bridge /etc/xen/scripts/vif-bridge-local
113#sed -i "s/^ handle_iptable/ true/g" /etc/xen/scripts/vif-bridge-local
114#sed -i "s/^(vif-script vif-bridge)/(vif-script vif-bridge-local)/" /etc/xen/xend-config.sxp
115
116# xen
117#/bin/sed -i -e 's/^[# ]*\((dom0-min-mem\).*\().*\)$/\1 512\2/' /etc/xen/xend-config.sxp
118#sed -i s/XENDOMAINS_RESTORE=true/XENDOMAINS_RESTORE=false/ /etc/default/xendomains
119#sed -i s#XENDOMAINS_SAVE=/var/lib/xen/save#XENDOMAINS_SAVE=\"\"# /etc/default/xendomains
120#dpkg-divert --divert /etc/grub.d/09_linux_xen --rename /etc/grub.d/20_linux_xen
121#echo 'GRUB_CMDLINE_XEN="dom0_mem=512M"' >> /etc/default/grub
122
123# migrate expose.ini
124#[ -f /etc/php5/conf.d/expose.ini ] && mv /etc/php5/conf.d/expose.ini \
125# /etc/php5/mods-available/local-expose.ini && php5enmod local-expose/90
126# migrate local suhosin config
127#find /etc/php5/conf.d/ -type f -name "*suhosin.ini" -exec mv '{}' \
128# /etc/php5/mods-available/local-suhosin.ini \; && php5enmod local-suhosin/90
129