jessie2stretch.sh
· 11 KiB · Bash
Originalformat
Please also refer to http://www.debian.org/releases/stretch/releasenotes and use your brain! If you can’t figure out what one of the commands below does, this is not for you. Expert mode only :)
# upgrade to UTF-8 locales (http://www.debian.org/releases/stretch/amd64/release-notes/ap-old-stuff.en.html#switch-utf8)
dpkg-reconfigure locales
# remove unused config file
rm -rf /etc/network/options /etc/environment
# migrate over to systemd (before the upgrade) / you might want reboot if you install systemd
aptitude install systemd systemd-sysv libpam-systemd
# are there 3rd party packages installed? (https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.de.html#system-status)
aptitude search '~i(!~ODebian)'
# check for ftp protocol in sources lists (https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.en.html#deprecation-of-ftp-apt-mirrors)
rgrep --color "deb ftp" /etc/apt/sources.list*
# Transition and remove entries from older releases
sed -i /etch/d /etc/apt/sources.list*
sed -i /lenny/d /etc/apt/sources.list*
sed -i /sarge/d /etc/apt/sources.list*
sed -i /squeeze/d /etc/apt/sources.list*
sed -i /wheezy/d /etc/apt/sources.list*
sed -i /volatile/d /etc/apt/sources.list*
sed -i /proposed-updates/d /etc/apt/sources.list*
# change distro (please move 3rd party sources to /etc/apt/sources.list.d/), maybe look into http://ftp.cyconet.org/debian/sources.list.d/
sed -i s/jessie/stretch/g /etc/apt/sources.list*
sed -i "s/ stable/ stretch/g" /etc/apt/sources.list*
sed -i s/jessie/stretch/g /etc/apt/preferences*
sed -i s/jessie/stretch/g /etc/apt/sources.list.d/*jessie*
rename s/jessie/stretch/g /etc/apt/sources.list.d/*jessie*
sed -i 's/#\(.*stretch\-updates\)/\1/' /etc/apt/sources.list
sed -i 's/#\(.*stretch\-backports\)/\1/' /etc/apt/sources.list.d/stretch-backports.list
rgrep --color jessie /etc/apt/sources.list*
# migrate omsa source
[ -f /etc/apt/sources.list.d/stretch-dell-omsa.list ] && sed -i /openmanage/d /etc/apt/sources.list.d/stretch-dell-omsa.list && echo "deb http://linux.dell.com/repo/community/openmanage/910/stretch stretch main" >> /etc/apt/sources.list.d/stretch-dell-omsa.list
apt-get update
# check package status
dpkg --audit
aptitude search "~ahold" | grep "^.h"
dpkg --get-selections | grep hold
# unmark packages auto
aptitude unmarkauto vim net-tools && \
aptitude unmarkauto libapache2-mpm-itk && \
aptitude unmarkauto monitoring-plugins-standard monitoring-plugins-common monitoring-plugins-basic && \
aptitude unmarkauto $(dpkg-query -W 'linux-image-3.16*' | cut -f1)
# have a look into required and free disk space
apt-get -o APT::Get::Trivial-Only=true dist-upgrade || df -h
# record session
script -t 2>~/upgrade-stretch.time -a ~/upgrade-stretch.script
# install our preseed so libc doesn't whine
cat > /tmp/stretch.preseed <<EOF
libc6 glibc/upgrade boolean true
libc6 glibc/restart-services string
libc6 libraries/restart-without-asking boolean true
EOF
/usr/bin/debconf-set-selections /tmp/stretch.preseed
# Disable loading defaults.vim
echo '" disable the loading of defaults.vim' >> /etc/vim/vimrc.local
echo "let g:skip_defaults_vim = 1" >> /etc/vim/vimrc.local
# update aptitude first
[ "$(which aptitude)" = "/usr/bin/aptitude" ] && aptitude install aptitude
# minimal system upgrade (keep sysvinit / see http://noone.org/talks/debian-ohne-systemd/debian-ohne-systemd-clt.html#%2811%29)
aptitude upgrade
## fix our xen modification
#rm -rf /etc/grub.d/09_linux_xen
#dpkg-divert --divert /etc/grub.d/09_linux_xen --rename /etc/grub.d/20_linux_xen
# chrony update
if [ -f /etc/chrony/chrony.conf.new ]; then CFG=/etc/chrony/chrony.conf.new; else CFG=/etc/chrony/chrony.conf; fi
sed -i s/2.debian.pool/0.de.pool/g $CFG
# migrate unattended-upgrades config
if [ -f /etc/apt/apt.conf.d/50unattended-upgrades.dpkg-new ]; then CFG=/etc/apt/apt.conf.d/50unattended-upgrades.dpkg-new; \
else CFG=/etc/apt/apt.conf.d/50unattended-upgrades; fi
sed -i s/jessie/stretch/g $CFG
sed -i s/crontrib/contrib/g $CFG
sed -i "s#// If automatic reboot is enabled and needed, reboot at the specific#// Automatically reboot even if there are users currently logged in.\n//Unattended-Upgrade::Automatic-Reboot-WithUsers \"true\";\n\n// If automatic reboot is enabled and needed, reboot at the specific#" $CFG
cat >> $CFG <<EOF
// Enable logging to syslog. Default is False
// Unattended-Upgrade::SyslogEnable "false";
// Specify syslog facility. Default is daemon
// Unattended-Upgrade::SyslogFacility "daemon";
EOF
# dnsmasq config dir
if [ -f /etc/dnsmasq.conf.dpkg-new ]; then CFG=/etc/dnsmasq.conf.dpkg-new; \
else CFG=/etc/dnsmasq.conf; fi
sed -i "s%^#conf-dir=/etc/dnsmasq.d/%conf-dir=/etc/dnsmasq.d/%" $CFG
## phpmyadmin
if [ -f /etc/phpmyadmin/config.inc.php.dpkg-new ]; then CFG=/etc/phpmyadmin/config.inc.php.dpkg-new; \
else CFG=/etc/phpmyadmin/config.inc.php; fi
sed -i "s/\['auth_type'\] = 'cookie'/\['auth_type'\] = 'http'/" $CFG
sed -i "s#//\$cfg\['Servers'\]\[\$i\]\['auth_type'\] = 'http';#\$cfg['Servers'][\$i]['auth_type'] = 'http';#" $CFG
# Move configs from MySQl to MariaDB config location (e.g.)
mv /etc/mysql/conf.d/bind.cnf /etc/mysql/mariadb.conf.d/90-bind.cnf
# In some cases the upgrade of databases seems not work out (problems with mysql.proc)
mysql_upgrade -f -p
# have look into https://mariadb.com/kb/en/the-mariadb-library/moving-from-mysql-to-mariadb-in-debian-9/#configuration-options-for-advanced-database-users
# maybe we want to change some shorewall config stuff again
# shorewall needs to be enabled via systemctl, /etc/default is not used by systemd
systemctl enable shorewall
# Work around changing network interface names after update (https://github.com/systemd/systemd/issues/8446)
# Seen on VMWare guests
CFG="/etc/default/grub"; [ $(grep GRUB_CMDLINE_LINUX ${CFG} | grep 'net.ifnames=0 biosdevname=0') ] || sed -i 's/\(GRUB_CMDLINE_LINUX=".*\)"/\1 net.ifnames=0 biosdevname=0"/' ${CFG} && sed -i 's/GRUB_CMDLINE_LINUX=" /GRUB_CMDLINE_LINUX="/' ${CFG} && update-grub
# full-upgrade
apt-get dist-upgrade
# Migrate php5 packages over to php meta packages
apt install $(dpkg -l |grep php5 | awk '/^i/ { print $2 }' |grep -v ^php5$ |sed s/php5/php/)
# Fix IfModule mod_php5 in apache2 vHosts
sed -i "s/IfModule mod_php5/IfModule mod_php7/g" /etc/apache2/sites-available/*
# are there config needed to me migrated over to php my hand?
ls -la /etc/php5/{apache2,cli}/conf.d/
a2dismod php5; a2enmod php7.0 && systemctl restart apache2; ls -la /etc/apache2/mods-enabled/*php*
# Fix our ssh pub key package configuration
[ -x /var/lib/dpkg/info/config-openssh-server-authorizedkeys-core.postinst ] && \
/var/lib/dpkg/info/config-openssh-server-authorizedkeys-core.postinst configure
# snmpd now runs as Debian-snmp user, fixing sudo config
sed -i s/snmp/Debian-snmp/ /etc/sudoers.d/*
# Upgrade postgres
# See also https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.de.html#plperl
if [ "$(dpkg -l | grep "postgresql-9.4" | awk {'print $2'})" = "postgresql-9.4" ]; then \
aptitude install postgresql-9.6 && \
pg_dropcluster --stop 9.6 main && \
/etc/init.d/postgresql stop && \
pg_upgradecluster -v 9.6 9.4 main && \
sed -i "s/^manual/auto/g" /etc/postgresql/9.6/main/start.conf && \
sed -i "s/^port = .*/port = 5432/" /etc/postgresql/9.6/main/postgresql.conf && \
sed -i "s/^shared_buffers = .*/shared_buffers = 128MB/" /etc/postgresql/9.6/main/postgresql.conf && \
/etc/init.d/postgresql restart; \
fi
pg_dropcluster 9.4 main
# Fix forbitten dovecot ssl_protocols
sed -i "s/\!SSLv2 \!SSLv3/\!SSLv3/g" /etc/dovecot/local.conf && service dovecot restart
# If you are using bind9 named and chrooted it, apparmor needs to know about it now
echo "/var/lib/named/** rwm," >> /etc/apparmor.d/local/usr.sbin.named && apparmor_parser -r /etc/apparmor.d/usr.sbin.named && systemctl restart bind9
# Install / Upgrade ruby-rmagick to have correct version for redmine
aptitude install ruby-rmagick apache2
# xen: use our own bridge script again, when we did before
[ $(grep '^vif.default.script="vif-bridge-local"' /etc/xen/xl.conf.dpkg-old | wc -l) -gt 0 ] && \
sed -i 's/#vif.default.script="vif-bridge"/vif.default.script="vif-bridge-local"/' /etc/xen/xl.conf
# migrate/backup your images (before) migrating to docker overlay2 storage driver
# umount /var/lib/docker/aufs; rm -rf /var/lib/docker/aufs
# remove old squeeze packages left around (keep eyes open!)
apt autoremove && \
apt purge $(dpkg -l | awk '/gcc-4.9/ { print $2 }') && \
apt purge $(aptitude search ?obsolete | grep -v -E 'linux-image|mailscanner|kerio|hpacucli|check-openmanage' | awk '/^i *A/ { print $3 }') && \
apt purge $(aptitude search ?obsolete | grep -v -E 'linux-image|mailscanner|kerio|hpacucli|check-openmanage' | awk '/^i/ { print $2 }') && \
apt purge $(dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | awk '/^rc/ { print $2 }') && \
apt purge $(dpkg -l | grep lenny | grep -v xen | awk '/^rc/ { print $2 }') && \
apt purge $(dpkg -l | grep -E 'deb6|squeeze' | grep -v xen | awk '/^rc/ { print $2 }') && \
apt purge $(dpkg -l | grep -E 'deb7|wheezy' | grep -v xen | grep -v -E 'linux-image|mailscanner|openswan|debian-security-support' | awk '/^rc/ { print $2 }') && \
apt purge $(dpkg -l | grep -E 'deb8|jessie' | grep -v xen | grep -v -E 'linux-image|debian-security-support' | awk '{ print $2 }') && \
apt -y install deborphan && apt purge $(deborphan | grep -v xen | grep -v -E 'libpam-cracklib|libapache2-mpm-itk')
apt purge $(dpkg -l | awk '/^rc/ { print $2 }')
# for the brave YoloOps crowd
reboot && sleep 180; echo u > /proc/sysrq-trigger ; sleep 2 ; echo s > /proc/sysrq-trigger ; sleep 2 ; echo b > /proc/sysrq-trigger
### not needed until now
# mysql
# remove anonymous mysql access
#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;"
# dont use iptables when creating xen vifs
#cp /etc/xen/scripts/vif-bridge /etc/xen/scripts/vif-bridge-local
#sed -i "s/^ handle_iptable/ true/g" /etc/xen/scripts/vif-bridge-local
#sed -i "s/^(vif-script vif-bridge)/(vif-script vif-bridge-local)/" /etc/xen/xend-config.sxp
# xen
#/bin/sed -i -e 's/^[# ]*\((dom0-min-mem\).*\().*\)$/\1 512\2/' /etc/xen/xend-config.sxp
#sed -i s/XENDOMAINS_RESTORE=true/XENDOMAINS_RESTORE=false/ /etc/default/xendomains
#sed -i s#XENDOMAINS_SAVE=/var/lib/xen/save#XENDOMAINS_SAVE=\"\"# /etc/default/xendomains
#dpkg-divert --divert /etc/grub.d/09_linux_xen --rename /etc/grub.d/20_linux_xen
#echo 'GRUB_CMDLINE_XEN="dom0_mem=512M"' >> /etc/default/grub
# migrate expose.ini
#[ -f /etc/php5/conf.d/expose.ini ] && mv /etc/php5/conf.d/expose.ini \
# /etc/php5/mods-available/local-expose.ini && php5enmod local-expose/90
# migrate local suhosin config
#find /etc/php5/conf.d/ -type f -name "*suhosin.ini" -exec mv '{}' \
# /etc/php5/mods-available/local-suhosin.ini \; && php5enmod local-suhosin/90
| 1 | Please also refer to http://www.debian.org/releases/stretch/releasenotes and use your brain! If you can’t figure out what one of the commands below does, this is not for you. Expert mode only :) |
| 2 | |
| 3 | |
| 4 | # upgrade to UTF-8 locales (http://www.debian.org/releases/stretch/amd64/release-notes/ap-old-stuff.en.html#switch-utf8) |
| 5 | dpkg-reconfigure locales |
| 6 | |
| 7 | # remove unused config file |
| 8 | rm -rf /etc/network/options /etc/environment |
| 9 | |
| 10 | # migrate over to systemd (before the upgrade) / you might want reboot if you install systemd |
| 11 | aptitude install systemd systemd-sysv libpam-systemd |
| 12 | |
| 13 | # are there 3rd party packages installed? (https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.de.html#system-status) |
| 14 | aptitude search '~i(!~ODebian)' |
| 15 | |
| 16 | # check for ftp protocol in sources lists (https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.en.html#deprecation-of-ftp-apt-mirrors) |
| 17 | rgrep --color "deb ftp" /etc/apt/sources.list* |
| 18 | |
| 19 | # Transition and remove entries from older releases |
| 20 | sed -i /etch/d /etc/apt/sources.list* |
| 21 | sed -i /lenny/d /etc/apt/sources.list* |
| 22 | sed -i /sarge/d /etc/apt/sources.list* |
| 23 | sed -i /squeeze/d /etc/apt/sources.list* |
| 24 | sed -i /wheezy/d /etc/apt/sources.list* |
| 25 | sed -i /volatile/d /etc/apt/sources.list* |
| 26 | sed -i /proposed-updates/d /etc/apt/sources.list* |
| 27 | # change distro (please move 3rd party sources to /etc/apt/sources.list.d/), maybe look into http://ftp.cyconet.org/debian/sources.list.d/ |
| 28 | sed -i s/jessie/stretch/g /etc/apt/sources.list* |
| 29 | sed -i "s/ stable/ stretch/g" /etc/apt/sources.list* |
| 30 | sed -i s/jessie/stretch/g /etc/apt/preferences* |
| 31 | sed -i s/jessie/stretch/g /etc/apt/sources.list.d/*jessie* |
| 32 | rename s/jessie/stretch/g /etc/apt/sources.list.d/*jessie* |
| 33 | sed -i 's/#\(.*stretch\-updates\)/\1/' /etc/apt/sources.list |
| 34 | sed -i 's/#\(.*stretch\-backports\)/\1/' /etc/apt/sources.list.d/stretch-backports.list |
| 35 | rgrep --color jessie /etc/apt/sources.list* |
| 36 | # migrate omsa source |
| 37 | [ -f /etc/apt/sources.list.d/stretch-dell-omsa.list ] && sed -i /openmanage/d /etc/apt/sources.list.d/stretch-dell-omsa.list && echo "deb http://linux.dell.com/repo/community/openmanage/910/stretch stretch main" >> /etc/apt/sources.list.d/stretch-dell-omsa.list |
| 38 | apt-get update |
| 39 | |
| 40 | # check package status |
| 41 | dpkg --audit |
| 42 | aptitude search "~ahold" | grep "^.h" |
| 43 | dpkg --get-selections | grep hold |
| 44 | |
| 45 | # unmark packages auto |
| 46 | aptitude unmarkauto vim net-tools && \ |
| 47 | aptitude unmarkauto libapache2-mpm-itk && \ |
| 48 | aptitude unmarkauto monitoring-plugins-standard monitoring-plugins-common monitoring-plugins-basic && \ |
| 49 | aptitude unmarkauto $(dpkg-query -W 'linux-image-3.16*' | cut -f1) |
| 50 | |
| 51 | # have a look into required and free disk space |
| 52 | apt-get -o APT::Get::Trivial-Only=true dist-upgrade || df -h |
| 53 | |
| 54 | # record session |
| 55 | script -t 2>~/upgrade-stretch.time -a ~/upgrade-stretch.script |
| 56 | |
| 57 | # install our preseed so libc doesn't whine |
| 58 | cat > /tmp/stretch.preseed <<EOF |
| 59 | libc6 glibc/upgrade boolean true |
| 60 | libc6 glibc/restart-services string |
| 61 | libc6 libraries/restart-without-asking boolean true |
| 62 | EOF |
| 63 | /usr/bin/debconf-set-selections /tmp/stretch.preseed |
| 64 | |
| 65 | # Disable loading defaults.vim |
| 66 | echo '" disable the loading of defaults.vim' >> /etc/vim/vimrc.local |
| 67 | echo "let g:skip_defaults_vim = 1" >> /etc/vim/vimrc.local |
| 68 | |
| 69 | # update aptitude first |
| 70 | [ "$(which aptitude)" = "/usr/bin/aptitude" ] && aptitude install aptitude |
| 71 | |
| 72 | # minimal system upgrade (keep sysvinit / see http://noone.org/talks/debian-ohne-systemd/debian-ohne-systemd-clt.html#%2811%29) |
| 73 | aptitude upgrade |
| 74 | |
| 75 | ## fix our xen modification |
| 76 | #rm -rf /etc/grub.d/09_linux_xen |
| 77 | #dpkg-divert --divert /etc/grub.d/09_linux_xen --rename /etc/grub.d/20_linux_xen |
| 78 | |
| 79 | # chrony update |
| 80 | if [ -f /etc/chrony/chrony.conf.new ]; then CFG=/etc/chrony/chrony.conf.new; else CFG=/etc/chrony/chrony.conf; fi |
| 81 | sed -i s/2.debian.pool/0.de.pool/g $CFG |
| 82 | |
| 83 | # migrate unattended-upgrades config |
| 84 | if [ -f /etc/apt/apt.conf.d/50unattended-upgrades.dpkg-new ]; then CFG=/etc/apt/apt.conf.d/50unattended-upgrades.dpkg-new; \ |
| 85 | else CFG=/etc/apt/apt.conf.d/50unattended-upgrades; fi |
| 86 | sed -i s/jessie/stretch/g $CFG |
| 87 | sed -i s/crontrib/contrib/g $CFG |
| 88 | sed -i "s#// If automatic reboot is enabled and needed, reboot at the specific#// Automatically reboot even if there are users currently logged in.\n//Unattended-Upgrade::Automatic-Reboot-WithUsers \"true\";\n\n// If automatic reboot is enabled and needed, reboot at the specific#" $CFG |
| 89 | cat >> $CFG <<EOF |
| 90 | |
| 91 | // Enable logging to syslog. Default is False |
| 92 | // Unattended-Upgrade::SyslogEnable "false"; |
| 93 | |
| 94 | // Specify syslog facility. Default is daemon |
| 95 | // Unattended-Upgrade::SyslogFacility "daemon"; |
| 96 | |
| 97 | EOF |
| 98 | |
| 99 | # dnsmasq config dir |
| 100 | if [ -f /etc/dnsmasq.conf.dpkg-new ]; then CFG=/etc/dnsmasq.conf.dpkg-new; \ |
| 101 | else CFG=/etc/dnsmasq.conf; fi |
| 102 | sed -i "s%^#conf-dir=/etc/dnsmasq.d/%conf-dir=/etc/dnsmasq.d/%" $CFG |
| 103 | |
| 104 | ## phpmyadmin |
| 105 | if [ -f /etc/phpmyadmin/config.inc.php.dpkg-new ]; then CFG=/etc/phpmyadmin/config.inc.php.dpkg-new; \ |
| 106 | else CFG=/etc/phpmyadmin/config.inc.php; fi |
| 107 | sed -i "s/\['auth_type'\] = 'cookie'/\['auth_type'\] = 'http'/" $CFG |
| 108 | sed -i "s#//\$cfg\['Servers'\]\[\$i\]\['auth_type'\] = 'http';#\$cfg['Servers'][\$i]['auth_type'] = 'http';#" $CFG |
| 109 | |
| 110 | # Move configs from MySQl to MariaDB config location (e.g.) |
| 111 | mv /etc/mysql/conf.d/bind.cnf /etc/mysql/mariadb.conf.d/90-bind.cnf |
| 112 | # In some cases the upgrade of databases seems not work out (problems with mysql.proc) |
| 113 | mysql_upgrade -f -p |
| 114 | # have look into https://mariadb.com/kb/en/the-mariadb-library/moving-from-mysql-to-mariadb-in-debian-9/#configuration-options-for-advanced-database-users |
| 115 | |
| 116 | # maybe we want to change some shorewall config stuff again |
| 117 | # shorewall needs to be enabled via systemctl, /etc/default is not used by systemd |
| 118 | systemctl enable shorewall |
| 119 | |
| 120 | # Work around changing network interface names after update (https://github.com/systemd/systemd/issues/8446) |
| 121 | # Seen on VMWare guests |
| 122 | CFG="/etc/default/grub"; [ $(grep GRUB_CMDLINE_LINUX ${CFG} | grep 'net.ifnames=0 biosdevname=0') ] || sed -i 's/\(GRUB_CMDLINE_LINUX=".*\)"/\1 net.ifnames=0 biosdevname=0"/' ${CFG} && sed -i 's/GRUB_CMDLINE_LINUX=" /GRUB_CMDLINE_LINUX="/' ${CFG} && update-grub |
| 123 | |
| 124 | # full-upgrade |
| 125 | apt-get dist-upgrade |
| 126 | |
| 127 | # Migrate php5 packages over to php meta packages |
| 128 | apt install $(dpkg -l |grep php5 | awk '/^i/ { print $2 }' |grep -v ^php5$ |sed s/php5/php/) |
| 129 | # Fix IfModule mod_php5 in apache2 vHosts |
| 130 | sed -i "s/IfModule mod_php5/IfModule mod_php7/g" /etc/apache2/sites-available/* |
| 131 | # are there config needed to me migrated over to php my hand? |
| 132 | ls -la /etc/php5/{apache2,cli}/conf.d/ |
| 133 | a2dismod php5; a2enmod php7.0 && systemctl restart apache2; ls -la /etc/apache2/mods-enabled/*php* |
| 134 | |
| 135 | # Fix our ssh pub key package configuration |
| 136 | [ -x /var/lib/dpkg/info/config-openssh-server-authorizedkeys-core.postinst ] && \ |
| 137 | /var/lib/dpkg/info/config-openssh-server-authorizedkeys-core.postinst configure |
| 138 | |
| 139 | # snmpd now runs as Debian-snmp user, fixing sudo config |
| 140 | sed -i s/snmp/Debian-snmp/ /etc/sudoers.d/* |
| 141 | |
| 142 | # Upgrade postgres |
| 143 | # See also https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.de.html#plperl |
| 144 | if [ "$(dpkg -l | grep "postgresql-9.4" | awk {'print $2'})" = "postgresql-9.4" ]; then \ |
| 145 | aptitude install postgresql-9.6 && \ |
| 146 | pg_dropcluster --stop 9.6 main && \ |
| 147 | /etc/init.d/postgresql stop && \ |
| 148 | pg_upgradecluster -v 9.6 9.4 main && \ |
| 149 | sed -i "s/^manual/auto/g" /etc/postgresql/9.6/main/start.conf && \ |
| 150 | sed -i "s/^port = .*/port = 5432/" /etc/postgresql/9.6/main/postgresql.conf && \ |
| 151 | sed -i "s/^shared_buffers = .*/shared_buffers = 128MB/" /etc/postgresql/9.6/main/postgresql.conf && \ |
| 152 | /etc/init.d/postgresql restart; \ |
| 153 | fi |
| 154 | pg_dropcluster 9.4 main |
| 155 | |
| 156 | # Fix forbitten dovecot ssl_protocols |
| 157 | sed -i "s/\!SSLv2 \!SSLv3/\!SSLv3/g" /etc/dovecot/local.conf && service dovecot restart |
| 158 | |
| 159 | # If you are using bind9 named and chrooted it, apparmor needs to know about it now |
| 160 | echo "/var/lib/named/** rwm," >> /etc/apparmor.d/local/usr.sbin.named && apparmor_parser -r /etc/apparmor.d/usr.sbin.named && systemctl restart bind9 |
| 161 | |
| 162 | # Install / Upgrade ruby-rmagick to have correct version for redmine |
| 163 | aptitude install ruby-rmagick apache2 |
| 164 | |
| 165 | # xen: use our own bridge script again, when we did before |
| 166 | [ $(grep '^vif.default.script="vif-bridge-local"' /etc/xen/xl.conf.dpkg-old | wc -l) -gt 0 ] && \ |
| 167 | sed -i 's/#vif.default.script="vif-bridge"/vif.default.script="vif-bridge-local"/' /etc/xen/xl.conf |
| 168 | |
| 169 | # migrate/backup your images (before) migrating to docker overlay2 storage driver |
| 170 | # umount /var/lib/docker/aufs; rm -rf /var/lib/docker/aufs |
| 171 | |
| 172 | # remove old squeeze packages left around (keep eyes open!) |
| 173 | apt autoremove && \ |
| 174 | apt purge $(dpkg -l | awk '/gcc-4.9/ { print $2 }') && \ |
| 175 | apt purge $(aptitude search ?obsolete | grep -v -E 'linux-image|mailscanner|kerio|hpacucli|check-openmanage' | awk '/^i *A/ { print $3 }') && \ |
| 176 | apt purge $(aptitude search ?obsolete | grep -v -E 'linux-image|mailscanner|kerio|hpacucli|check-openmanage' | awk '/^i/ { print $2 }') && \ |
| 177 | apt purge $(dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | awk '/^rc/ { print $2 }') && \ |
| 178 | apt purge $(dpkg -l | grep lenny | grep -v xen | awk '/^rc/ { print $2 }') && \ |
| 179 | apt purge $(dpkg -l | grep -E 'deb6|squeeze' | grep -v xen | awk '/^rc/ { print $2 }') && \ |
| 180 | apt purge $(dpkg -l | grep -E 'deb7|wheezy' | grep -v xen | grep -v -E 'linux-image|mailscanner|openswan|debian-security-support' | awk '/^rc/ { print $2 }') && \ |
| 181 | apt purge $(dpkg -l | grep -E 'deb8|jessie' | grep -v xen | grep -v -E 'linux-image|debian-security-support' | awk '{ print $2 }') && \ |
| 182 | apt -y install deborphan && apt purge $(deborphan | grep -v xen | grep -v -E 'libpam-cracklib|libapache2-mpm-itk') |
| 183 | apt purge $(dpkg -l | awk '/^rc/ { print $2 }') |
| 184 | |
| 185 | # for the brave YoloOps crowd |
| 186 | reboot && sleep 180; echo u > /proc/sysrq-trigger ; sleep 2 ; echo s > /proc/sysrq-trigger ; sleep 2 ; echo b > /proc/sysrq-trigger |
| 187 | |
| 188 | ### not needed until now |
| 189 | # mysql |
| 190 | # remove anonymous mysql access |
| 191 | #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;" |
| 192 | |
| 193 | # dont use iptables when creating xen vifs |
| 194 | #cp /etc/xen/scripts/vif-bridge /etc/xen/scripts/vif-bridge-local |
| 195 | #sed -i "s/^ handle_iptable/ true/g" /etc/xen/scripts/vif-bridge-local |
| 196 | #sed -i "s/^(vif-script vif-bridge)/(vif-script vif-bridge-local)/" /etc/xen/xend-config.sxp |
| 197 | |
| 198 | # xen |
| 199 | #/bin/sed -i -e 's/^[# ]*\((dom0-min-mem\).*\().*\)$/\1 512\2/' /etc/xen/xend-config.sxp |
| 200 | #sed -i s/XENDOMAINS_RESTORE=true/XENDOMAINS_RESTORE=false/ /etc/default/xendomains |
| 201 | #sed -i s#XENDOMAINS_SAVE=/var/lib/xen/save#XENDOMAINS_SAVE=\"\"# /etc/default/xendomains |
| 202 | #dpkg-divert --divert /etc/grub.d/09_linux_xen --rename /etc/grub.d/20_linux_xen |
| 203 | #echo 'GRUB_CMDLINE_XEN="dom0_mem=512M"' >> /etc/default/grub |
| 204 | |
| 205 | # migrate expose.ini |
| 206 | #[ -f /etc/php5/conf.d/expose.ini ] && mv /etc/php5/conf.d/expose.ini \ |
| 207 | # /etc/php5/mods-available/local-expose.ini && php5enmod local-expose/90 |
| 208 | # migrate local suhosin config |
| 209 | #find /etc/php5/conf.d/ -type f -name "*suhosin.ini" -exec mv '{}' \ |
| 210 | # /etc/php5/mods-available/local-suhosin.ini \; && php5enmod local-suhosin/90 |
| 211 |