Skip to main content
  1. Posts/

Ubuntu Noble 24.04 Upgrade Notes

·4 mins

This article was written to describe my experience performing an in-place upgrade of my home server to Ubuntu Noble Numbat 24.04.

I’m writing this during the process; my intent is to outline my experience with the upgrade for others considering the upgrade, and to document any problems I encounter. I like to update my stuff aggressively, as a personal preference (but still use LTS only).

Upshot #

This section was written after all others, to give a final outline of what happened and avoid burying the lede.

Overall, it went very smoothly. I would say this is the smoothest in-pace ubuntu LTS upgrade I’ve experienced. The process itself took about 30 minutes, but required another 20-30 minutes of validation and fiddling. The upgrade process does not coach you very well on how to handle extra apt lists; for anyone with lots of extras, I would suggest validating that your extra apt sources support noble before upgrading.

The problems in my upgrade:

  1. Samba seemed to misbehave during the upgrade, but it recovered after the upgrade was complete.
  2. I had a few broken apt dependencies, seemingly centered around libavcodec58. However, these did not seem to have any impact, and were fixable with sudo apt install --fix-broken.
  3. The system did not automatically update my third-party apt sources, and did not coach me well on how to move forward with those.

Very minor problems for a major distro upgrade, but I want to note them nonetheless.

Advice #

  • Take a full host backup before performing the upgrade.
  • If your system is running DNS, set up an alternative system before switching over—it brings much piece of mind.
  • Do LTS upgrades with a clear mind, avoid distractions, and do it during the day and far from bedtime or other obligations.
  • Read through your apt lists beforehand, and look into what the support level is for the new version from the vendor before you upgrade.
  • Running more of your apps in containers is a great way to reduce the impact of an LTS upgrade (and update sooner).
  • When the upgrader asks you if you want to accept a new version of a file, you should almost always say “no” for core system components, especially SSH and anything relating to initramfs. This is only a rule of thumb, however.

About my System #

I am running Ubuntu server 22.04 Noble Numbat. Most of my critical software runs in k3s running on my Ubuntu server. A few things, like some USB utilities, samba, and ZFS run directly on the host. I am also using LVM with LUKS full-disk encryption, and I have some utilities including dropbear to allow me to unlock it over SSH. Most of my userspace administration utilities and dev tools are installed with homebrew.

Procedure and Results #

Beginning the process, I put my network into backup mode, so that it remains usable (mostly just switching over my DNS to my secondary). Read the instructions on here, did a pre-upgrade reboot, and initiated a do-release-upgrade over SSH.

do-release-upgrade began nicely; packages downloaded quickly. The actual upgrades took longer, but that is not unexpected.

Any time there is a conflicting file, I am choosing to keep the currently-installed version. For anyone unsure about how to answer these questions, I would suggest always choosing “no”, because the current settings are likely to be important for your machine to function as you expect. That is not always correct, and your case may vary—I just think that’s good advice for a default. Places this occurred:

  • sysctl
  • initramfs
  • nut
  • samba
  • dropbear
  • sshd
  • zfs/zed
  • tuned

When setting up Samba, there was an error invoking systemctl. During the upgrade process, this resulted in the samba units failing. it is not yet clear if this has had an impact post-upgrade.

This entire process took about 20 minutes after starting do-release-upgrade.

180 Packages were removed after the upgrade. This took about 2 minutes. The system rebooted. The dropbear LUKS unlock seemed to work normally. The machine comes up in about the same time as before, and all systemd services are working as expected.

I was able to install the tailscale apt repository by simply using the .distUpgrade file and s/jammy/noble/g.