A Routine VPS Update That Turned Into a Learning Moment
This morning started like most of my mornings as a self-hoster: coffee in hand, SSH into my VPS, and run my usual system updates. Nothing fancy. Just good hygiene.
But this time, Ubuntu gave me output I hadn’t seen before — and it stopped me just long enough to make sure I fully understood what was going on before touching anything critical.
What followed was a solid reminder of why slow, deliberate system administration always beats rushing through terminal commands.
The Initial Update (Nothing Unusual… at First)
As usual, I logged into my Ubuntu 24.04 LTS VPS and ran my standard update commands:
sudo apt update
sudo apt upgrade
Most of the output looked normal, but then I noticed something that stood out:
The following upgrades have been deferred due to phasing
This was followed by a fairly long list of packages — including systemd, udev, util-linux, and other low-level system components.
At the same time, I also saw Ubuntu mentioning Ubuntu Pro, which added a bit more noise to the output.
Nothing was broken. Nothing failed. But this part stopped me in my tracks:
26 not upgraded
I’ve been running Linux servers for a long time, and while I’ve seen held packages, dependency conflicts, and kernel pinning before — “upgrades deferred due to phasing” was new to me.
The Confusing Part: “Deferred Due to Phasing”
This was the moment where I did not blindly force upgrades.
My initial questions were simple:
- Did something go wrong?
- Am I missing security updates?
- Is my system partially updated?
- Do I need to intervene?
As it turns out, none of the above.
What I Learned About Phased Updates
Ubuntu now uses phased rollouts for certain updates, especially for:
- systemd
- kernel-related packages
- disk and mount utilities
- core OS libraries
Instead of pushing updates to every system at once, Ubuntu:
- Releases them to a small percentage of systems
- Monitors for regressions
- Gradually increases rollout if no issues appear
If your system isn’t in the current rollout percentage, those updates are intentionally deferred, not blocked or broken.
That was a big “aha” moment.
This isn’t Ubuntu being indecisive — it’s Ubuntu being cautious.
For a server, that’s a good thing.
The Reboot Message (Now It Makes Sense)
Shortly after, I noticed another message during login:
*** System restart required ***
This one I have seen before, but now it connected the dots.
Checking the reboot reason made everything crystal clear:
cat /var/run/reboot-required.pkgs
The output showed newly installed kernel packages:
linux-image-6.8.0-88-genericlinux-image-6.8.0-90-generic
This told me:
- New kernels were installed successfully
- The system was still running the old kernel
- A reboot was needed to switch over
No emergency. No broken state. Just a clean, expected kernel upgrade waiting to be activated.
The Approach: Don’t Panic, Verify Everything
Before rebooting, I took a moment to:
- Understand why the reboot was requested
- Confirm nothing was half-installed
- Make sure Docker would recover cleanly
This VPS runs:
- Multiple WordPress sites
- MariaDB and MySQL containers
- Nginx Proxy Manager
- n8n automation services
A reckless reboot would be sloppy. A verified reboot would be professional.
The Reboot (Clean and Predictable)
When ready, I rebooted:
sudo reboot
After reconnecting, the first thing I checked was the kernel:
uname -r
Result:
6.8.0-90-generic
Perfect — the new kernel was active.
Next, Docker:
docker ps
Every container came back up automatically:
- WordPress instances
- Databases
- Nginx Proxy Manager
- n8n
No manual intervention required. No errors. No downtime beyond the reboot window.
Exactly how it should work.
What This Experience Reinforced
This morning reinforced a few important lessons:
1. Not All “Not Upgraded” Messages Are Problems
Phased updates are intentional and protective, especially for servers.
2. Ubuntu Is Getting Smarter About Stability
Delaying risky updates until they’re proven safe is a net win.
3. Reboot Messages Aren’t Alarms — They’re Notifications
A reboot-required flag simply means, “You’re ready when you are.”
4. Slow Is Smooth, Smooth Is Fast
Taking five minutes to understand output beats hours of recovery later.
Final Thoughts
What started as a routine update turned into a valuable reminder:
Modern Linux systems do a lot of smart things behind the scenes — but only if you let them.
Instead of forcing upgrades or ignoring messages, I paused, learned something new, and ended up with:
- A fully updated kernel
- A stable Docker stack
- Zero service issues
- More confidence in Ubuntu’s update strategy
That’s a good morning in my book.