Jan Wagner ревизий этого фрагмента 4 years ago. К ревизии
2 files changed, 3 insertions, 134 deletions
README.md(файл создан)
| @@ -0,0 +1,3 @@ | |||
| 1 | + | # New location | |
| 2 | + | ||
| 3 | + | Head over to https://github.com/waja/debian-update-cheatsheets/blob/squeeze2wheezy/squeeze2wheezy.sh | |
squeeze2wheezy.sh (файл удалён)
| @@ -1,134 +0,0 @@ | |||
| 1 | - | Please also refer to http://www.debian.org/releases/wheezy/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 | - | For Roundcube and Sqlite Backend see: http://wiki.debian.org/Roundcube/DeprecationOfSQLitev2 | |
| 3 | - | ||
| 4 | - | ||
| 5 | - | # upgrade to UTF-8 locales (http://www.debian.org/releases/testing/i386/release-notes/ap-old-stuff.en.html#switch-utf8) | |
| 6 | - | dpkg-reconfigure locales | |
| 7 | - | ||
| 8 | - | # remove unused config file | |
| 9 | - | rm -rf /etc/network/options /etc/environment | |
| 10 | - | ||
| 11 | - | # remove squeeze-lts apt preference | |
| 12 | - | PREFERENCES="/etc/apt/preferences"; sed -i -n '/squeeze-lts/{N;s/.*//;x;d;};x;p;${x;p;}' $PREFERENCES; sed -i '/^$/d' $PREFERENCES | |
| 13 | - | # change distro (please move 3rd party sources to /etc/apt/sources.list.d/), maybe look into http://ftp.cyconet.org/debian/sources.list.d/ | |
| 14 | - | rm -f /etc/apt/apt.conf.d/10disable_date_check | |
| 15 | - | rm -f /etc/apt/sources.list.d/*squeeze* | |
| 16 | - | sed -i s/squeeze/wheezy/g /etc/apt/sources.list* | |
| 17 | - | sed -i "s/ stable/ wheezy/g" /etc/apt/sources.list* | |
| 18 | - | sed -i s/squeeze/wheezy/g /etc/apt/preferences* | |
| 19 | - | sed -i /proposed-updates/d /etc/apt/sources.list* | |
| 20 | - | sed -i /volatile/d /etc/apt/sources.list* | |
| 21 | - | sed -i /etch/d /etc/apt/sources.list* | |
| 22 | - | sed -i /lenny/d /etc/apt/sources.list* | |
| 23 | - | sed -i s#/backports.org/debian#/ftp.de.debian.org/debian#g /etc/apt/sources.list* | |
| 24 | - | sed -i s/debian-backports/debian/g /etc/apt/sources.list* | |
| 25 | - | if [ "$( dpkg -l | grep "^ii.*php5-suhosin" | wc -l)" -ge "1" ]; then \ | |
| 26 | - | wget http://ftp.cyconet.org/debian/sources.list.d/wheezy-updates-cyconet.list \ | |
| 27 | - | -O /etc/apt/sources.list.d/wheezy-updates-cyconet.list | |
| 28 | - | fi | |
| 29 | - | aptitude update | |
| 30 | - | ||
| 31 | - | # check package status | |
| 32 | - | dpkg --audit | |
| 33 | - | aptitude search "~ahold" | grep "^.h" | |
| 34 | - | dpkg --get-selections | grep hold | |
| 35 | - | ||
| 36 | - | # unmark packages auto | |
| 37 | - | aptitude unmarkauto vim shorewall | |
| 38 | - | aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6.*' | cut -f1) | |
| 39 | - | ||
| 40 | - | # have a look into required and free disk space | |
| 41 | - | apt-get -o APT::Get::Trivial-Only=true dist-upgrade || df -h | |
| 42 | - | ||
| 43 | - | # check if we have PAE available (http://www.debian.org/releases/testing/i386/release-notes/ch-upgrading.en.html#idp573136) | |
| 44 | - | grep -q '^flags.*\bpae\b' /proc/cpuinfo && echo "We support PAE: yes" \ | |
| 45 | - | || echo "We support PAE: no (please install linux-image-486 and remove linux-image-.*-686)" | |
| 46 | - | ||
| 47 | - | # record session | |
| 48 | - | script -t 2>~/upgrade-wheezy.time -a ~/upgrade-wheezy.script | |
| 49 | - | ||
| 50 | - | # install our preseed so libc doesn't whine | |
| 51 | - | cat > /tmp/wheezy.preseed <<EOF | |
| 52 | - | libc6 glibc/upgrade boolean true | |
| 53 | - | libc6 glibc/restart-services string | |
| 54 | - | libc6 libraries/restart-without-asking boolean true | |
| 55 | - | EOF | |
| 56 | - | /usr/bin/debconf-set-selections /tmp/wheezy.preseed | |
| 57 | - | ||
| 58 | - | # minimal system upgrade | |
| 59 | - | aptitude upgrade | |
| 60 | - | ||
| 61 | - | # randomize crontab | |
| 62 | - | if [ -f /etc/crontab.dpkg-new ]; then CFG=/etc/crontab.dpkg-new; else CFG=/etc/crontab; fi | |
| 63 | - | sed -i 's#root cd#root perl -e "sleep int(rand(300))" \&\& cd#' $CFG | |
| 64 | - | sed -i 's#root\ttest#root\tperl -e "sleep int(rand(3600))" \&\& test#' $CFG | |
| 65 | - | ||
| 66 | - | # phpmyadmin | |
| 67 | - | if [ -f /etc/phpmyadmin/config.inc.php.dpkg-new ]; then CFG=/etc/phpmyadmin/config.inc.php.dpkg-new; \ | |
| 68 | - | else CFG=/etc/phpmyadmin/config.inc.php; fi | |
| 69 | - | sed -i "s/\['auth_type'\] = 'cookie'/\['auth_type'\] = 'http'/" $CFG | |
| 70 | - | sed -i "s#//\$cfg\['Servers'\]\[\$i\]\['auth_type'\] = 'http';#\$cfg['Servers'][\$i]['auth_type'] = 'http';#" $CFG | |
| 71 | - | ||
| 72 | - | # remove anonymous mysql access | |
| 73 | - | 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;" | |
| 74 | - | ||
| 75 | - | if [ -f /etc/default/xendomains.dpkg-new ]; then CFG=/etc/default/xendomains.dpkg-new; \ | |
| 76 | - | else CFG=/etc/default/xendomains; fi | |
| 77 | - | sed -i s/XENDOMAINS_RESTORE=true/XENDOMAINS_RESTORE=false/ $CFG | |
| 78 | - | sed -i s#XENDOMAINS_SAVE=/var/lib/xen/save#XENDOMAINS_SAVE=\"\"# $CFG | |
| 79 | - | ||
| 80 | - | # dont use iptables when creating xen vifs | |
| 81 | - | if [ -f /etc/xen/xend-config.sxp.dpkg-new ]; then CFG=/etc/xen/xend-config.sxp.dpkg-new; \ | |
| 82 | - | else CFG=/etc/xen/xend-config.sxp; fi | |
| 83 | - | sed -i "s/^(vif-script vif-bridge)/(vif-script vif-bridge-local)/" $CFG | |
| 84 | - | /bin/sed -i -e 's/^[# ]*\((dom0-min-mem\).*\().*\)$/\1 512\2/' $CFG | |
| 85 | - | ||
| 86 | - | cp /etc/xen/scripts/vif-bridge /etc/xen/scripts/vif-bridge-local | |
| 87 | - | sed -i "s/^ handle_iptable/ true/g" /etc/xen/scripts/vif-bridge-local | |
| 88 | - | ||
| 89 | - | # chrony update | |
| 90 | - | if [ -f /etc/chrony/chrony.conf.new ]; then CFG=/etc/chrony/chrony.conf.new; else CFG=/etc/chrony/chrony.conf; fi | |
| 91 | - | sed -i s/debian.pool/de.pool/g $CFG | |
| 92 | - | ||
| 93 | - | rm -rf /etc/grub.d/09_linux_xen | |
| 94 | - | dpkg-divert --divert /etc/grub.d/09_linux_xen --rename /etc/grub.d/20_linux_xen | |
| 95 | - | #mv /etc/grub.d/20_linux_xen /etc/grub.d/09_linux_xen | |
| 96 | - | echo 'GRUB_CMDLINE_XEN="dom0_mem=512M"' >> /etc/default/grub | |
| 97 | - | ||
| 98 | - | # maybe we want to change some shorewall config stuff again | |
| 99 | - | if [ -f /etc/default/shorewall.dpkg-new ]; then CFG=/etc/default/shorewall.dpkg-new; \ | |
| 100 | - | else CFG=/etc/default/shorewall; fi | |
| 101 | - | sed -i s/^startup=0/startup=1/ $CFG | |
| 102 | - | ||
| 103 | - | # dist-upgrade | |
| 104 | - | aptitude dist-upgrade | |
| 105 | - | ||
| 106 | - | # migrate expose.ini | |
| 107 | - | [ -f /etc/php5/conf.d/expose.ini ] && mv /etc/php5/conf.d/expose.ini \ | |
| 108 | - | /etc/php5/mods-available/local-expose.ini && php5enmod local-expose/90 | |
| 109 | - | # migrate local suhosin config | |
| 110 | - | find /etc/php5/conf.d/ -type f -name "*suhosin.ini" -exec mv '{}' \ | |
| 111 | - | /etc/php5/mods-available/local-suhosin.ini \; && php5enmod local-suhosin/90 | |
| 112 | - | ||
| 113 | - | # mysql | |
| 114 | - | ||
| 115 | - | # vsftpd and chroot_local_user? | |
| 116 | - | if [ "$(grep -i ^chroot_local_user=yes /etc/vsftpd.conf | wc -l)" -ge "1" ]; then \ | |
| 117 | - | aptitude update; aptitude install -t wheezy-updates vsftpd && \ | |
| 118 | - | echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf && /etc/init.d/vsftpd restart; \ | |
| 119 | - | fi | |
| 120 | - | ||
| 121 | - | # install fixed quotatool | |
| 122 | - | dpkg -l | grep quotatool && aptitude update; aptitude safe-upgrade -t wheezy-updates quotatool | |
| 123 | - | ||
| 124 | - | # remove old squeeze packages left around (keep eyes open!) | |
| 125 | - | apt-get autoremove | |
| 126 | - | aptitude search ?obsolete | |
| 127 | - | dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | grep -v fetch | awk '{print $2}' | xargs aptitude -y purge | |
| 128 | - | dpkg -l | grep lenny | grep -v xen | awk '{print $2}' | xargs aptitude -y purge | |
| 129 | - | dpkg -l | grep -E 'deb6|squeeze' | grep -v xen | grep -v -E 'linux-image|smarty' | awk '{print $2}' | xargs aptitude -y purge | |
| 130 | - | aptitude -y install deborphan && deborphan | grep -v xen | grep -v -E 'libpam-cracklib' | xargs aptitude -y purge | |
| 131 | - | dpkg -l | grep ^r | awk '{print $2}' | xargs aptitude -y purge | |
| 132 | - | ||
| 133 | - | # for the brave YoloOps crowd | |
| 134 | - | reboot && sleep 180; echo u > /proc/sysrq-trigger ; sleep 2 ; echo s > /proc/sysrq-trigger ; sleep 2 ; echo b > /proc/sysrq-trigger | |
Jan Wagner ревизий этого фрагмента 6 years ago. К ревизии
1 file changed, 1 insertion, 1 deletion
squeeze2wheezy.sh
| @@ -1,4 +1,4 @@ | |||
| 1 | - | Please also refer to http://www.debian.org/releases/wheezy/releasenotes and use your brain! | |
| 1 | + | Please also refer to http://www.debian.org/releases/wheezy/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 | 2 | For Roundcube and Sqlite Backend see: http://wiki.debian.org/Roundcube/DeprecationOfSQLitev2 | |
| 3 | 3 | ||
| 4 | 4 | ||
Jan Wagner ревизий этого фрагмента 9 years ago. К ревизии
1 file changed, 3 insertions, 7 deletions
squeeze2wheezy.sh
| @@ -7,7 +7,9 @@ dpkg-reconfigure locales | |||
| 7 | 7 | ||
| 8 | 8 | # remove unused config file | |
| 9 | 9 | rm -rf /etc/network/options /etc/environment | |
| 10 | - | ||
| 10 | + | ||
| 11 | + | # remove squeeze-lts apt preference | |
| 12 | + | PREFERENCES="/etc/apt/preferences"; sed -i -n '/squeeze-lts/{N;s/.*//;x;d;};x;p;${x;p;}' $PREFERENCES; sed -i '/^$/d' $PREFERENCES | |
| 11 | 13 | # change distro (please move 3rd party sources to /etc/apt/sources.list.d/), maybe look into http://ftp.cyconet.org/debian/sources.list.d/ | |
| 12 | 14 | rm -f /etc/apt/apt.conf.d/10disable_date_check | |
| 13 | 15 | rm -f /etc/apt/sources.list.d/*squeeze* | |
| @@ -24,12 +26,6 @@ if [ "$( dpkg -l | grep "^ii.*php5-suhosin" | wc -l)" -ge "1" ]; then \ | |||
| 24 | 26 | wget http://ftp.cyconet.org/debian/sources.list.d/wheezy-updates-cyconet.list \ | |
| 25 | 27 | -O /etc/apt/sources.list.d/wheezy-updates-cyconet.list | |
| 26 | 28 | fi | |
| 27 | - | cat >> /etc/apt/preferences <<EOF | |
| 28 | - | Package: * | |
| 29 | - | Pin: release a=squeeze-lts | |
| 30 | - | Pin-Priority: 200 | |
| 31 | - | ||
| 32 | - | EOF | |
| 33 | 29 | aptitude update | |
| 34 | 30 | ||
| 35 | 31 | # check package status | |
Jan Wagner ревизий этого фрагмента 9 years ago. К ревизии
1 file changed, 2 insertions, 2 deletions
squeeze2wheezy.sh
| @@ -130,8 +130,8 @@ apt-get autoremove | |||
| 130 | 130 | aptitude search ?obsolete | |
| 131 | 131 | dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | grep -v fetch | awk '{print $2}' | xargs aptitude -y purge | |
| 132 | 132 | dpkg -l | grep lenny | grep -v xen | awk '{print $2}' | xargs aptitude -y purge | |
| 133 | - | dpkg -l | grep -E 'deb6|squeeze' | grep -v xen | grep -v linux-image | awk '{print $2}' | xargs aptitude -y purge | |
| 134 | - | aptitude -y install deborphan && deborphan | grep -v xen | grep -v libpam-cracklib | xargs aptitude -y purge | |
| 133 | + | dpkg -l | grep -E 'deb6|squeeze' | grep -v xen | grep -v -E 'linux-image|smarty' | awk '{print $2}' | xargs aptitude -y purge | |
| 134 | + | aptitude -y install deborphan && deborphan | grep -v xen | grep -v -E 'libpam-cracklib' | xargs aptitude -y purge | |
| 135 | 135 | dpkg -l | grep ^r | awk '{print $2}' | xargs aptitude -y purge | |
| 136 | 136 | ||
| 137 | 137 | # for the brave YoloOps crowd | |
Jan Wagner ревизий этого фрагмента 9 years ago. К ревизии
1 file changed, 1 insertion
squeeze2wheezy.sh
| @@ -10,6 +10,7 @@ rm -rf /etc/network/options /etc/environment | |||
| 10 | 10 | ||
| 11 | 11 | # change distro (please move 3rd party sources to /etc/apt/sources.list.d/), maybe look into http://ftp.cyconet.org/debian/sources.list.d/ | |
| 12 | 12 | rm -f /etc/apt/apt.conf.d/10disable_date_check | |
| 13 | + | rm -f /etc/apt/sources.list.d/*squeeze* | |
| 13 | 14 | sed -i s/squeeze/wheezy/g /etc/apt/sources.list* | |
| 14 | 15 | sed -i "s/ stable/ wheezy/g" /etc/apt/sources.list* | |
| 15 | 16 | sed -i s/squeeze/wheezy/g /etc/apt/preferences* | |
Jan Wagner ревизий этого фрагмента 9 years ago. К ревизии
1 file changed, 1 insertion
squeeze2wheezy.sh
| @@ -9,6 +9,7 @@ dpkg-reconfigure locales | |||
| 9 | 9 | rm -rf /etc/network/options /etc/environment | |
| 10 | 10 | ||
| 11 | 11 | # change distro (please move 3rd party sources to /etc/apt/sources.list.d/), maybe look into http://ftp.cyconet.org/debian/sources.list.d/ | |
| 12 | + | rm -f /etc/apt/apt.conf.d/10disable_date_check | |
| 12 | 13 | sed -i s/squeeze/wheezy/g /etc/apt/sources.list* | |
| 13 | 14 | sed -i "s/ stable/ wheezy/g" /etc/apt/sources.list* | |
| 14 | 15 | sed -i s/squeeze/wheezy/g /etc/apt/preferences* | |
Jan Wagner ревизий этого фрагмента 10 years ago. К ревизии
1 file changed, 1 insertion, 1 deletion
squeeze2wheezy.sh
| @@ -128,7 +128,7 @@ apt-get autoremove | |||
| 128 | 128 | aptitude search ?obsolete | |
| 129 | 129 | dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | grep -v fetch | awk '{print $2}' | xargs aptitude -y purge | |
| 130 | 130 | dpkg -l | grep lenny | grep -v xen | awk '{print $2}' | xargs aptitude -y purge | |
| 131 | - | dpkg -l | grep squeeze | grep -v xen | grep -v linux-image | awk '{print $2}' | xargs aptitude -y purge | |
| 131 | + | dpkg -l | grep -E 'deb6|squeeze' | grep -v xen | grep -v linux-image | awk '{print $2}' | xargs aptitude -y purge | |
| 132 | 132 | aptitude -y install deborphan && deborphan | grep -v xen | grep -v libpam-cracklib | xargs aptitude -y purge | |
| 133 | 133 | dpkg -l | grep ^r | awk '{print $2}' | xargs aptitude -y purge | |
| 134 | 134 | ||
waja ревизий этого фрагмента 10 years ago. К ревизии
1 file changed, 1 insertion, 1 deletion
squeeze2wheezy.sh
| @@ -126,7 +126,7 @@ dpkg -l | grep quotatool && aptitude update; aptitude safe-upgrade -t wheezy-upd | |||
| 126 | 126 | # remove old squeeze packages left around (keep eyes open!) | |
| 127 | 127 | apt-get autoremove | |
| 128 | 128 | aptitude search ?obsolete | |
| 129 | - | dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | awk '{print $2}' | xargs aptitude -y purge | |
| 129 | + | dpkg -l | grep etch | grep -v xen | grep -v unbound | grep -v finch | grep -v fetch | awk '{print $2}' | xargs aptitude -y purge | |
| 130 | 130 | dpkg -l | grep lenny | grep -v xen | awk '{print $2}' | xargs aptitude -y purge | |
| 131 | 131 | dpkg -l | grep squeeze | grep -v xen | grep -v linux-image | awk '{print $2}' | xargs aptitude -y purge | |
| 132 | 132 | aptitude -y install deborphan && deborphan | grep -v xen | grep -v libpam-cracklib | xargs aptitude -y purge | |
Jan Wagner ревизий этого фрагмента 10 years ago. К ревизии
1 file changed, 11 insertions, 10 deletions
squeeze2wheezy.sh
| @@ -74,28 +74,29 @@ sed -i "s#//\$cfg\['Servers'\]\[\$i\]\['auth_type'\] = 'http';#\$cfg['Servers'][ | |||
| 74 | 74 | # remove anonymous mysql access | |
| 75 | 75 | 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;" | |
| 76 | 76 | ||
| 77 | + | if [ -f /etc/default/xendomains.dpkg-new ]; then CFG=/etc/default/xendomains.dpkg-new; \ | |
| 78 | + | else CFG=/etc/default/xendomains; fi | |
| 79 | + | sed -i s/XENDOMAINS_RESTORE=true/XENDOMAINS_RESTORE=false/ $CFG | |
| 80 | + | sed -i s#XENDOMAINS_SAVE=/var/lib/xen/save#XENDOMAINS_SAVE=\"\"# $CFG | |
| 81 | + | ||
| 77 | 82 | # dont use iptables when creating xen vifs | |
| 78 | 83 | if [ -f /etc/xen/xend-config.sxp.dpkg-new ]; then CFG=/etc/xen/xend-config.sxp.dpkg-new; \ | |
| 79 | 84 | else CFG=/etc/xen/xend-config.sxp; fi | |
| 80 | - | cp /etc/xen/scripts/vif-bridge /etc/xen/scripts/vif-bridge-local | |
| 81 | - | sed -i "s/^ handle_iptable/ true/g" /etc/xen/scripts/vif-bridge-local | |
| 82 | 85 | sed -i "s/^(vif-script vif-bridge)/(vif-script vif-bridge-local)/" $CFG | |
| 83 | 86 | /bin/sed -i -e 's/^[# ]*\((dom0-min-mem\).*\().*\)$/\1 512\2/' $CFG | |
| 84 | 87 | ||
| 85 | - | if [ -f /etc/default/xendomains.dpkg-new ]; then CFG=/etc/default/xendomains.dpkg-new; \ | |
| 86 | - | else CFG=/etc/default/xendomains; fi | |
| 87 | - | sed -i s/XENDOMAINS_RESTORE=true/XENDOMAINS_RESTORE=false/ $CFG | |
| 88 | - | sed -i s#XENDOMAINS_SAVE=/var/lib/xen/save#XENDOMAINS_SAVE=\"\"# $CFG | |
| 88 | + | cp /etc/xen/scripts/vif-bridge /etc/xen/scripts/vif-bridge-local | |
| 89 | + | sed -i "s/^ handle_iptable/ true/g" /etc/xen/scripts/vif-bridge-local | |
| 90 | + | ||
| 91 | + | # chrony update | |
| 92 | + | if [ -f /etc/chrony/chrony.conf.new ]; then CFG=/etc/chrony/chrony.conf.new; else CFG=/etc/chrony/chrony.conf; fi | |
| 93 | + | sed -i s/debian.pool/de.pool/g $CFG | |
| 89 | 94 | ||
| 90 | 95 | rm -rf /etc/grub.d/09_linux_xen | |
| 91 | 96 | dpkg-divert --divert /etc/grub.d/09_linux_xen --rename /etc/grub.d/20_linux_xen | |
| 92 | 97 | #mv /etc/grub.d/20_linux_xen /etc/grub.d/09_linux_xen | |
| 93 | 98 | echo 'GRUB_CMDLINE_XEN="dom0_mem=512M"' >> /etc/default/grub | |
| 94 | 99 | ||
| 95 | - | # chrony update | |
| 96 | - | if [ -f /etc/chrony/chrony.conf.new ]; then CFG=/etc/chrony/chrony.conf.new; else CFG=/etc/chrony/chrony.conf; fi | |
| 97 | - | sed -i s/debian.pool/de.pool/g $CFG | |
| 98 | - | ||
| 99 | 100 | # maybe we want to change some shorewall config stuff again | |
| 100 | 101 | if [ -f /etc/default/shorewall.dpkg-new ]; then CFG=/etc/default/shorewall.dpkg-new; \ | |
| 101 | 102 | else CFG=/etc/default/shorewall; fi | |
Jan Wagner ревизий этого фрагмента 10 years ago. К ревизии
1 file changed, 3 insertions
squeeze2wheezy.sh
| @@ -130,3 +130,6 @@ dpkg -l | grep lenny | grep -v xen | awk '{print $2}' | xargs aptitude -y purge | |||
| 130 | 130 | dpkg -l | grep squeeze | grep -v xen | grep -v linux-image | awk '{print $2}' | xargs aptitude -y purge | |
| 131 | 131 | aptitude -y install deborphan && deborphan | grep -v xen | grep -v libpam-cracklib | xargs aptitude -y purge | |
| 132 | 132 | dpkg -l | grep ^r | awk '{print $2}' | xargs aptitude -y purge | |
| 133 | + | ||
| 134 | + | # for the brave YoloOps crowd | |
| 135 | + | reboot && sleep 180; echo u > /proc/sysrq-trigger ; sleep 2 ; echo s > /proc/sysrq-trigger ; sleep 2 ; echo b > /proc/sysrq-trigger | |