WARNING: I have not yet tested cascaded wheezy -> jessie -> stretch upgrades. As such, I do not currently recommend upgrading jessie machines that previously ran wheezy.
As of 8/25/2018, it works, but isn't seamless. Take the following steps:
Add jessie-cclub repo: echo "deb http://debian.club.cc.cmu.edu/debian/ jessie-cclub contrib" >> /etc/apt/sources.list
apt-get update
apt-get -t jessie-cclub install cclub-pre-configuration
- Hold cclub-xen-hvm-domu-configuration if it is installed:
Check that it's installed: dpkg-query -W | grep cclub-
Hold the package: echo "cclub-xen-hvm-domu-configuration hold" | dpkg --set-selections
apt-get update
- Comment out the line running passwd-update from root's crontab
DEBIAN_FRONTEND=noninteractive apt-get -o DPkg::options::=--force-confdef -o DPkg::options::=--force-confold dist-upgrade
- Check /etc for .dpkg-dist/.ucf-dist files for configuration that is not managed by the cclub configuration packages; fold-in the Debian changes as appropriate
Take make this easier the next time, delete any .dpkg-dist/.ucf-dist files after you've confirmed there are not any changes that need to be folded in
- Check for system users that were changed in or added to /etc/passwd
There were quite a few where the shell changed from /bin/sh to /usr/sbin/nologin—also some new users for systemd
Determine the differences by running diff /etc/passwd{.OLD,}
- Apply them to /etc/passwd.system
- What I do:
- Save the diff into /tmp
- Copy the "tail" of added system users to the end of /etc/passwd.system (removing the leading +)
- Delete all but the first chunk of the diff
- Use patch to apply the first chunk to /etc/passwd.system
- Unhold cclub-xen-hvm-domu-configuration if it was held:
echo "cclub-xen-hvm-domu-configuration install" | dpkg --set-selections
- Install the appropriate set of cclub configuration packages
VM without AFS:
- Comment out the lines rsyncing things from rsync's crontab
apt-get install cclub-xen-hvm-domu-configuration cclub-passwd-update-configuration cclub-rsync-slave
VM with AFS:
apt-get install cclub-xen-hvm-domu-configuration cclub-passwd-update-configuration cclub-afs-client-configuration
Other cases:
- YMMV!
(probably): apt-get install cclub-hardware-configuration cclub-passwd-update-configuration cclub-rsync-slave
- XXX: because of the way passwd-update.sh works in jessie, system users may get dropped at this point
- When I've looked it's just been the snmp user
diff -du /etc/passwd{.OLD,}
- Add lines for the dropped system users to /etc/passwd.system
- XXX: machines that were initially created under KVM may not automatically upgrade the GRUB boot blocks
- this can lead to boot failures, since the newly installed modules are not compatible with the old boot blocks
to fix, dpkg-reconfigure grub-pc; select /dev/xvda if/when it asks for the installation device
Force generation of SSH2 ED25519 host key: dpkg-reconfigure openssh-server
- If you commented-out any crontab lines, you can delete the entire lines at this point (jessie and stretch handle that work via /etc/cron.d)
(optional): apt-get clean
(optional): apt-get autoremove