Question

Can not upgrade Ubuntu 22.04 to 24.04

So I’m in the process of upgrading my Ubuntu machines (both local and through DO) from 22.04 to 24.04. The first point release is out (Sept 2024) and I’ve upgraded before. I specifically followed the instructions listed here: https://www.cyberciti.biz/faq/how-to-upgrade-from-ubuntu-22-04-lts-to-ubuntu-24-04-lts/. The upgrade process seems to work, however upon rebooting I can not ssh into the new installation or use the DO console. I’ve used the recovery ISO and chrooted into the installation however I’m not exactly sure where the error is. I’m guessing its a network issue however that’s really a guess. When things happen like this at home on VMs hosted within proxmox or xcp-ng, I’m able to obtain a console directly into the VM which really helps. The DO console seems to use a ssh connection, and if networking is down this ssh connection just doesn’t work. What’s the best strategy here to debug? I’ve rolled back to the last snapshot several times before performing the upgrade and I’m kind of stuck here on what to do. For networking I’m using a netplan config file with networkd as the renderer. I’m wondering if I should just write the systemd-network network files directly rather than depend on netplan (as I do within Arch), however I’m not quite sure this is going to fix things since I’m really missing some debug tools here.

Thanks for any suggestions.


Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hey!

I recently answered a similar question about Ubuntu upgrades here:

https://www.digitalocean.com/community/questions/easy-restart-question

In your case you might want to consider the ‘Considering a New Droplet’ section bellow.

There are a few things to consider here, but before making any upgrades it is always recommended to have a backup of your server. That way in case of anything going wrong, you can restore back to a working version of your server.

Ideally, I think the safest path that maximizes speed is to make a snapshot, make a duplicate Droplet from it, run do-release-upgrade on the duplicated Droplet. If it works, then you can decide how important that IP and uptime is to you and either stick with the new one or upgrade the old one. If it doesn’t, you know to set aside some time and then do a migration-style.

Here is a rundown of the process in both cases:

  1. Updating Your System: You’ve been notified that 144 updates are available, with 2 of them being security updates. It’s crucial to apply these updates to ensure your server is secure and running smoothly. You can do so by running the following command:

    sudo apt update && sudo apt upgrade -y
    

    This command refreshes your package lists with the latest available versions and then upgrades all the installed packages to their latest versions.

  2. Checking Upgradable Packages: If you’re curious about the specific packages that are upgradable, especially the security updates, you can list them using:

    apt list --upgradable
    

    This will give you an overview of what’s going to be updated before you proceed with the upgrade.

  3. Upgrading to a New Release: To upgrade, run:

    sudo do-release-upgrade
    

    Follow the on-screen instructions to complete the upgrade process. It’s a good idea to review the release notes for the new version beforehand to be aware of any major changes or potential issues.

  4. Dealing with Unattended Upgrades: The message indicates that 1 update could not be installed automatically. To investigate this, check the log file mentioned:

    cat /var/log/unattended-upgrades/unattended-upgrades.log
    

    This log file can provide insights into why the update failed and how you might resolve it. Depending on the issue, you may need to manually fix package dependencies or remove conflicting packages.

  5. System Restart: Lastly, the message ends with a note that a system restart is required. This is often needed after kernel updates or certain system updates to apply changes. To restart your server, simply run:

    sudo reboot
    

    Make sure to save any open work and inform any users if necessary before rebooting.

As mentioned initially, always back up important data before undertaking system upgrades or major changes, just to be on the safe side.

Considering a New Droplet

Creating a new Droplet and migrating your files from an old server to a new one is a common task that can be efficiently handled using tools like rsync for command-line based transfers or FileZilla for a GUI-based approach. Below are the steps for both methods:

Setting Up a New Droplet

  1. Create a New Droplet:

    • Log into your DigitalOcean dashboard.
    • Click on the “Create” button, then select “Droplets.”
    • Choose an image (e.g., Ubuntu 22.04 LTS) and a size according to your needs. Or select the LAMP image from the Marketplace.
    • Select a datacenter region.
    • Choose any additional options (e.g., SSH keys) for your Droplet.
    • Click the “Create Droplet” button.
  2. Access Your New Droplet:

    • Once the droplet is created, access it via SSH using its IP address:

      ssh root@your_new_droplet_ip
      
    • Replace your_new_droplet_ip with the actual IP address of your new Droplet.

Transferring Files with rsync

rsync is a powerful tool that allows you to efficiently transfer and synchronize files across systems over SSH.

https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories

Transferring Files with FileZilla

FileZilla is a user-friendly, GUI-based tool that supports FTP, SFTP, and FTPS file transfers.

  1. Install FileZilla:

  2. Connect to Your Old Droplet:

    • Follow the steps in this guide to connect to your old Droplet using FileZilla:

    https://docs.digitalocean.com/products/droplets/how-to/transfer-files/

    • Next download your website files to your local machine.
  3. Connect to Your New Droplet in a New Tab:

    • Repeat the connection steps for your new Droplet.
    • Upload the files you downloaded from your old Droplet to the new Droplet.

Final Steps

  • Verify Transfer: After transferring files, verify that all necessary data is successfully moved and correctly set up on the new droplet.
  • Configure Services: Ensure that any services or applications you’re running are properly configured to work with the new paths or any new system configurations on your new droplet.
  • DNS Update: Remember to update your DNS records to point to the new droplet’s IP address if the migrated services are publicly accessible.

Best,

Bobby

alexdo
Site Moderator
Site Moderator badge
September 12, 2024

Heya, @kevdog

I’ll also recommend to migrate your data to a new droplet using tools like rsync, scp, FileZilla and etc. In this way you can assure that the droplet will not experience changes and protential problems during the OS upgrade.

It is also a practical solution, especially if the current environment is proving too difficult to troubleshoot quickly. A fresh droplet also gives you a clean slate, free from the complexities and potential misconfigurations that might have occurred during the upgrade process.

Hope that this helps!

Did you ever figure this out?

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.