I love ARM64. It’s low power highly efficient computing. Additionally one of my major workloads, namely Webmin, works on ARM64. Ubuntu has ARM64. There is even a Debian GUI that you can run on Mac Silicon and ARM64.
So ARM64 is it.
But how to upgrade from Ubuntu 22.04 LTS ARM64 to Ubuntu 24.04 LTS ARM64?
I is a bit of a convoluted process. TL;DR:
- Do one last
apt update
- Allow firewall on 1022
- Fix the
there is no release
problem by modifying/etc/update-manager/release/upgrade
tonormal
. - Upgrade to Ubuntu 23.10 with
do-release-upgrade
. Yep, you’ve read that right. You have to do an incremental upgrade to get to the latest LTS version. - Reboot
- Fix prompt from
normal
tolts
do-release-upgrade
- Reboot
For your reading pleasure, here are the complete steps:
SSH to the source machine
Do a backup. Here is one way using RSYNC to a remote machine:
rsync -av --progress /home/username /path/to/external/drive
Once you have a good backup, proceed to the next step.
See what packages you need to upgrade:
sudo apt list --upgradable
Next upgrade them:
sudo apt update && sudo apt upgrade -y
Reboot if you have a new kernel with reboot
.
Open 1022:
ufw allow 1022/tcp
As per the crib notes, you have to upgrade to Ubuntu 23.10 first. You can run do-release-upgrade
but it won’t work until you edit this file:
/etc/update-manager/release/upgrade
Now do-release-upgrade
again.
In my upgrade, I had questions about:
- timesync
- named.conf
- sshd.conf
- grub
- release-notes
Answers:
- Timesync was easy. Use the new (package maintainer’s version)
- I didn’t want to stuff with my
named.conf
because this is a name server sshd.conf
same thing. I don’t want login problems although we have a VNC console so I could possibly recover.grub
– this was interesting. For the sake of safety, I kept my old version. This worked as I found after the reboot.- For
release-notes
I installed a new version.
After the reboot, I had this:
# cat /etc/os-release PRETTY_NAME="Ubuntu 23.10"
Next, we upgrade to Ubuntu 24.04 LTS.
On this round, I had questions about:
- sshd_config. I took a chance and said yes overwrite with package maintainers.
- fwupd.conf
- grub
- release-notes
Change this file /etc/update-manager/release/upgrade
to lts
this time.
do-release-upgrade
Reboot
# cat /etc/os-release PRETTY_NAME="Ubuntu 24.04 LTS"
From start to finish the whole procedure took around 1 hour
Questions
How can you restart SSH?
You can’t do this anymore with Ubuntu 24.04:
service sshd restart
Instead, you have to do this
service ssh restart
On which port is SSH running?
netstat -tuln
How do you give Webmin it’s own Let’s Encrypt SSL?
By all accounts, you have to use Virtualmin:
https://forum.virtualmin.com/t/using-letsencrypt-by-default/124680/9
How do you change port 22 to another port e.g. 322?
On Ubuntu 24.04 this is no longer possible with ease. In fact, as of Ubuntu 22.10 the behavior has changed. Before, you could simply edit /etc/ssh/sshd_config
. Now you have to follow more convoluted process:
mkdir -p /etc/systemd/system/ssh.socket.d mc -e /etc/systemd/system/ssh.socket.d/listen.conf Contents: [Socket] ListenStream= ListenStream=1234 EOF sudo systemctl daemon-reload sudo systemctl restart ssh.socket
See here for more: https://askubuntu.com/questions/1439461/ssh-default-port-not-changing-ubuntu-22-10