With enough road now behind us, I finally took it upon myself to make a clone of the Upgrade-Journey drive so that I can save scum if the need arises. Today we’re taking on Debian 7 Wheezy. The same Debian that formed the basis of Valve’s first-ever SteamOS release. Where the Debian project really began to hit its stride.
Wheezy launched not long after the ‘world IPv6 day’, and fittingly added support for the installer to work on IPv6-only environments. It was the year of Heartbleed and of the disclosures by Edward Snowden. The modest smattering of newbies that these events may have attracted to Linux would have found a Debian which still assumed the paradigm of the decade prior. Which, for today’s upgrade, makes for an excellent time capsule.
Aptitude was used to check any pending changes which found kde-base and several gnome packages waiting to be installed.
Verified that all packages are in an upgradable state. ✔
I dropped to terminal and pointed /etc/apt/sources.list to wheezy. Despite some sources suggesting archive.debian.org/debian-security/, I found that archive.debian.org/debian-archive/debian-security/ continues to work, still getting hits for both updates/main and updates/contrib repositories.
sudo apt-get update
Wheezy’s Linux kernel includes PAE to expand addressable memory above 4GB on 32 bit computers. Pentium 4 was the CPU family in my first PC, so I knew already that it makes use of PAE. But anyone unsure of it can check whether the extension is available with:
grep -q '^flags.*\bpae\b' /proc/cpuinfo && echo yes || echo no
yes
So no manual intervention is required for the currently installed linux-image-686 kernel. We then begin the upgrade.
sudo apt-get upgrade
Anyone paying close attention to the release notes would have seen that the new directives in the sudoers configuration file aren’t added automatically. They go on to recommend adding one’s existing sudoers to the sudoers conf directory.
mv /etc/sudoers /etc/sudoers.d/mychanges
mv /etc/sudoers.dpkg-new /etc/sudoers
Neglecting to read ahead, I simply opted to compare the difference between the new maintainer’s version and my own.
“[Replace] Configuration for ‘/etc/sudoers’?”
I used the diff option (D) to check that the main user is still listed before committing to use the maintainer’s version. Despite that, immediately upon checking elevated privileges I found that my ’traveler’ user is “not in the sudoers file”.
grep -e sudo /etc/group
Which showed the ’traveler’ user isn’t included in the sudo group. Well, thank goodness the root account is active because the installer all the way back in Sarge didn’t provide any option to disable the root account.
su root
usermod -a -G sudo traveler
Unfortunately, the session would need to be restarted and logged back in before this addition takes effect. And since we’re in the middle of a system upgrade, it would be best not to chance that. So, for now, we take the messier route and run visudo
as the root acount to add the standard user back in before exiting from the root user.
traveler ALL=(ALL:ALL) ALL
Which is probably over-privileged, but this can be tightened up at a later time. I attempted to proceed with the remainder of apt-get dist-upgrade
which produced the first package conflict of this entire experiment. initscripts would break nfs-common.
Well, we’re not using network filesystems so we can blow that one away!
sudo apt-get remove nfs-common
Poof! Goodbye!
Attempt #2:
sudo apt-get dist-upgrade
I selected gdm3 as the default display manager because kdm with kde-base yet again found its way back onto this system.
“Should NTFS-3G be installed with ‘set uidroot’?”
No
“Restart services during package upgrades without asking?”
Yes
“Configuration file ‘/etc/default/rcS’?”
The package maintainer’s version got installed.
“PAM profiles to enable?:”
Yes to all (default)
“Configuration file ‘/lib/lirc/hardware.conf’?”
I installed the package maintainer’s version.
And the dist-upgrade completed to little fanfare.
I compared the installed and running kernel versions:
uname -r
2.6.32-5-686
And then checked the installed kernels:
dpkg -l "linux-image*" | grep ^ii
We see linux-image-686-pae 3.2.102-1 which is indeed Wheezy’s version. ✔
And there remain no pending package additions or removals, according to apt-get. ✔
Wheezy probably had the fewest post-upgrade nails to hammer down out of all the upgrades we’ve done so far.
sudo reboot
Which arrived at a filesystem check that failed and necessitated restarting Upgrade-Journey again.
After which rebooting was all successful.
As a point of interest, I would like to allow old kernels to accumulate. Normally this would have me worried that the /boot partition might not be large enough. du
reports that 44MB of kernels reside there at the moment. But Upgrade-Journey’s /boot sits at root on the same partition so it should be fine anyway.
sudo apt-get autoremove
Initiated the removal of 368 packages including OpenOffice, which has by now been replaced by LibreOffice 3.5, and other packages to remove regarding Gnome and KDE.
Because an issue with X11 remained from our visit with Squeeze, Gnome 3.4.2 failed to load up the new Gnome 3 convergence desktop. The fallback mode resembles Gnome 2 classic while borrowing visual elements from Gnome’s new design conventions. It maintains a top and bottom bar, with collapsible menus and no full screen programs overview.
The X11 brokenness and audio brokenness is beginning to get in the way of capturing the feel of these historic releases. And, seeing as Wheezy was released in 2013, I think it’s nigh time for our imaginary user to finally upgrade their computer. Let’s cast off this crusty old Pentium 4 with its busted audio and its Intel eXtreme[ly bad] graphics in exchange for a fancy AMD Athlon II multicore 64 bit system.
I’d been waiting until after the drive UUID assignments had been sorted out before swapping the physical host. And this change will be important when we later configure multiarch in order to morph this x86 installation into x86_64.
Much better! Even though I select “GNOME” at the greeter, it still uses Gnome fallback. But that is okay, as I think it makes for a very nice bridge between Gnome 2 and Gnome 3 in this upgrade marathon.
Filetype | Functionality | Notes |
---|---|---|
All Audio | ✔ | Audio hardware issue confirmed and resolved. Was likely working as far back as Sarge. |
MP4 Video | 🗷 | Segmentation fault. Totem 3.0.1 |
MP4 Video | 🗷 | ‘VLC does not support the audio or video format ‘hev1’’. VLC 2.0.3 |
Webm Video | 🗷 | Segmentation fault. Totem 3.0.1 |
Webm Video | 🗷 | ‘VLC does not support the audio or video format ‘undf’’. VLC 2.0.3 |
Web | ✔ | Mostly working now without certificate issues. Firefox-ESR 52.8. |
If I understand correctly, Wheezy started out with IceWeasel 10 but, by EOL, had transitioned to Firefox ESR 52.8. This kind of incredible pace has to do with the rapidly accelerated release schedule that Mozilla adopted in order to compete with Chrome. Mozilla and Debian had finally resolved the branding dispute by the twilight days of Wheezy. There is even a menu entry to convert IceWeasel settings and extensions to Firefox ESR, along with a new Firefox ESR entry.
At version 52.8, it is the first in this marathon to feel like the familiar Firefox of today. And it actually establishes connections with HTTPS certs without much issue, making it feasible to use on the modern web if one were so inclined.
I actually remember using Firefox back when it used to look like this.
The cached PBS page renders… better than before.
Vimeo couldn’t load its web player. Do they even host videos anymore? It looks like Vimeo pivoted to a different business.
SuperTuxKart 0.7.3 continued to receive much love with a revamped menu system and new karts and tracks. It still had a cobbled-together home made vibe by 2013 standards, but definitely better polished.
Preliminary support for systemd was introduced in Wheezy as a ’tech preview’. I’d always thought that systemd was added only in the lead up to Jessie.
Debian briefly replaced ffmpeg with libav-tools, citing a release process more congruent with Debian’s.
It is here that Debian began using hardening options at build time.
AppArmor is introduced but disabled by default. I even remember having to go and supply boot arguments in GRUB to enable AppArmor as early as Debian Jessie, before it was enabled by default in Stretch.
PulseAudio is made official as the primary audio daemon.
Wheezy is where new installations would have gotten ext4 root filesystems, but we’re going to camp out on dusty old ext3 without even the full featureset and see what happens.
The Debian installer enabled WPA encrypted wireless links. Those rocking open source ath9k powered Qualcomm cards could have installed their Debian without having to load proprietary firmware and drivers.
Wheezy represents the last of the releases in this marathon to be new to me. The first Debian I’d used as a desktop OS had been Jessie.