Recently, I decided that it was time to upgrade my desktop.
Wheezy was originally released on May 4th 2013, and while it’s still receiving updates, it’s getting long in the tooth. If I recall correctly, the versions of PHP and PostgreSQL shipped with Wheezy are both either EOL or about to be EOL. I’ve also noticed that I want or need more recent packages for sync and backup tools like git-annex and obnam. While I got git-annex via wheezy-backports, the time had come to upgrade.
Unfortunately, it’s been a bit of a long process.
I updated Wheezy on Friday morning, so that it was as up-to-date as possible. Friday night, I started downloading the Jessie updates… but due to inexplicably slow download speeds, it took all day Saturday to download them. On Saturday night, I kicked off the upgrade and went to sleep to resume it in the morning.
But when I went to log into my desktop this morning, I found no login box. The screen was black. Each key press or mouse movement caused a flicker of the Debian Wheezy background, but that was it.
So I hit Ctrl + Alt + F1 to get to the command line. Apt was locked due to the apt-get upgrade I had started in that X session that I couldn’t resume anymore. It had probably hanged on a user input prompt to update a configuration file, and there was nothing I could do about it. So I rebooted, still couldn’t log in, so Ctrl + Alt + F1, apt-get upgrade -f, and wait.
Lots of dependency errors, a few prompts to replace old configuration files, another apt-get update, another apt-get dist-upgrade, and then an apt-get update… which failed because there was no Internet.
Another reboot.
I was able to finally log in! But the background was black and there were a few other graphical issues. Still no Internet. So continue on with the apt-get upgrade, apt-get dist-upgrade, and another reboot.
Finally, I was able to see the Debian desktop background, all the graphics worked and looked beautiful, ran all the apt commands to make sure everything was good, started doing application-level checks.
I was annoyed that some of my gnome preferences for the terminal seemed to be gone or ignored. That surprised me, but I just made a note to look at that later. I’ve started using Ansible to control those sorts of things, so I’ll deal with that later.
I anticipated problems with Apache 2.4, and sure enough… I couldn’t contact Koha or DSpace with Apache.
I was able to access DSpace via Tomcat, although I noted that the way I deployed DSpace was rather suboptimal. I originally installed Koha and DSpace on my home desktop when I first started working in “Library IT”. At work, we used a lot of alternative practices, which weren’t documented anywhere, so I decided that I would follow the official documentation at home, and reverse engineer the process to understand our work practices. It must have worked, as I am now the lead Koha developer at work, and I completely overhauled our development and deployment practices. I’ve also done quite a few DSpace installs for clients along the way, especially for those who weren’t using us for cloud hosting. I wanted to make sure their installations were absolutely standard, so that they could get help down the track from anyone and not just us.
Anyway, I could access DSpace with Tomcat, but not Apache. The configuration file looked fine. I’ve written a lot of Apache config files over the past few years, so I was confident that I knew what I was doing.
I decided I would try disabling the site and re-enabling it, but Apache complained. It said the site didn’t exist. How could it not exist? That’s when I remembered that I had followed an alternative convention in the past which left off “.conf” at the end of the filename, and that Apache 2.4 was stricter than Apache 2.2. I removed the existing symlink in sites-enabled, added “.conf” to the end of the file, enabled the site, and voila! It was back up!
Koha was a simple answer after that. While it had been enabled before, it hadn’t been re-enabled after the latest upgrade. The Koha upgrade had already fixed the filename problem, so all I did was re-enabled the site, and there it was!
I had actually thought about removing DSpace and Koha from this desktop ahead of the upgrade. I don’t really need either of them anymore for learning purposes. Yet, I kind of like having them there as a reminder if nothing else. A reminder that I wasn’t always this knowledgeable or this skilled; I developed both over time by experimenting at work and at home. They take up space on the hard drive, but I like having the reminder.
I also tell myself that one day I’ll catalogue all the books in the house and put them into Koha. That I’ll create borrower accounts for my friends, and that I’ll keep track of the books I lend out using Koha! Not that I lend many books. I also have a great memory. You better believe that I remember who has borrowed what from me and for how long they’ve had it. The one I think about most often has had a book for a year now. How long are loan periods for friends? 😉
In any case, Debian Jessie is slick! I had originally thought about installing Ubuntu on this desktop, but I had some issues recently with a minor 14.04 upgrade on my laptop, so I’ve decided to stick with Debian on my main computer for the sake of stability.
Sure, I had a few issues upgrading, but I imagine that was just a coincidence. I imagine gdm was either uninstalled or in the process of being uninstalled when I wanted to use it to log back in to finish the upgrade. I was able to get it sorted without too much trouble. The main pain was actually the slow download on Saturday!
In any case, upgrade from Wheezy to Jessie complete! Time to tweak the Ansible playbooks and restore order to the force.