Upgrading server from Debian 7 “wheezy” to 8 “jessie”

Now that Debian 8.2 “Jessie” was released I decided to finally upgrade anaconda from “Wheezy” (Debian 7).

Preparing for the Upgrade

The main issue was how to avoid systemd? Well, simple – pin the offending packages:
/etc/apt/preferences.d/systemd:

Package: systemd
Pin: origin ""
Pin-Priority: -1

Package: *systemd*
Pin: origin “”
Pin-Priority: -1

Package: systemd:i386
Pin: origin “”
Pin-Priority: -1

Package: *systemd*:i386
Pin: origin “”
Pin-Priority: -1

Performing the Upgrade

It was a simple matter of replacing “wheezy” with “jessie” in all of the apt-sources, and performing an apt-get dist-upgrade, which proceeded smoothly. I answered “No” to all the requests to replace configuration files with the new ones, preferring to fix them later as necessary.

I then spent some time looking through /etc to see which packages had updated configurations:

$ find . -name "*.dpkg*"

What Worked

The majority of packages “just worked”, needing little to no post-upgrade maintenance:

  • bind9 – DNS
  • exim4 – SMTP
  • courier – IMAP
  • mailman – Mailing list manager
  • mysql – Database server
  • samba – Windows file server
  • Mediatomb – UPnP media server

What Needed Work

The following were the main post-upgrade notes:

Apache (web server)

There was a bit of a format and layout change of the Apache configuration, which broke things including all web-based services. Mostly it was a case of applying the Apache-specific fixes to bring everything else back up.

  • New format for Allow/Deny; required updating various configuration files.
  • All directories which are outside the Document Root now need an explicit Allow statement, otherwise they can’t be accessed:
    • Require all granted
  • The conf.d directory was deprecated in favour of conf-available, so various configuration files had to be moved; also, all configuration files must now have a “.conf” ending.

Squid (web proxy)

The main problem is that I was still running a very obsolete squid v2 package, but had already installed squid v3 as well. I removed the old squid, and then to get squidview working again, created a symlink from /var/log/squid3 to /var/log/squid. Simples.

Roundcube (web email)

Mainly worked (following the Apache changes; see above), however, my CA certificate got wiped from the list of trusted certificates so that needed to be reinstalled into /etc/ssl/certs.

Hobbit/Xymon (system monitor)

Hobbit is now deprecated in favour of Xymon; I have not yet completed the change-over, but it requires a bit of config copying between the old and the new paths.

Major Changes

Applications

Well, obviously – the main reason for an upgrade! Various software packages have had greater or lesser bumps to their versions since the last version of Debian.

Filesystem

There’s some filesystem layout changes; for better or worse. Some of the ones I’ve noticed:

/var/run -> /run

/var/www -> /var/www/html

Not entirely sure I agree with some of these, especially moving the run directory, as that means more root-directory spam.

 

There are various other notes and issues listed here:

https://www.debian.org/releases/stable/i386/release-notes/ch-information.en.html