Elementary OS Juno was just released, and it came with a lot of fixes, new features, and software updates. One thing it didn’t come with, however, was a way to upgrade to Elementary OS Juno from an older release without reformatting your entire computer.

If you’re looking to get the latest Elementary OS release going but don’t want to go through the hassle of re-downloading and re-formatting, we can help! Follow along and learn you can do an in-place upgrade on your Elementary OS PC!


The developers don’t support the upgrade method we cover in the tutorial. Follow this guide at your own risk!

Before attempting to do the upgrade from Elementary OS Loki to Juno, please make a complete backup on your system!

Preparing for the upgrade

Elementary OS is an Ubuntu-based operating system, so we’ll need to follow the traditional Ubuntu distribution upgrade process. Press Ctrl + Alt + F1 and open up the TTY terminal interface. Then, follow the steps below to prepare your system for the upgrade to the latest version of Elementary OS.

Step 1: At the TTY shell screen, you’ll notice something that says “login.” Type in your username and password. It should instantly give you a fullscreen terminal session.

if (navigator.appVersion.indexOf(“Mac”)!=-1) document.write(”);


Step 2: In this guide, we’ll be interacting with root commands a lot. For this reason, it’s a good idea to move the TTY shell from your user to the root account. We can gain root in the Elementary OS TTY Shell with sudo -s.

sudo -s

Step 3: Now that you’ve got root access, you must turn off the LightDM login system and the Pantheon desktop environment. If you do not, the upgrade may fail and break your entire system.

To disable the LightDM login system, use systemctl.

systemctl stop lightdm.service

Step 4: LightDM is shut off. Now it’s time to install any pending updates to the current release we are on with the apt update and apt upgrade commands.

apt update
apt upgrade -y

Step 5: Now that the software for the version of Elementary OS that you are currently running is up to date, we must run the dist-upgrade command. This command will further install software updates and ensure that the current OS is at it’s newest possible release.

apt dist-upgrade

Step 6: We’ve installed the latest packages to Elementary Loki. Now we must check the system for problems and make sure the upgrades went well. Package problems can easily be detected with dpkg -C

dpkg -C

Read the output of the dpkg command. 99% of the time, the system should be fine. If for some reason your PC has package issues, read the information on the screen and learn how to solve the problems.
Step 7: The last step in the preparation process is to check if Elementary OS has any held-back packages. Held-back packages can break things when the upgrade is complete, so use the showhold command and make sure your system doesn’t have any.

apt-mark showhold

Upgrade to Elementary OS Juno

After going through the steps above, your Elementary OS PC (running version 4) is ready to start the upgrade process to the latest release.

The first step in any upgrade on operating systems that uses Ubuntu as a base is to modify the software sources and change them from the old to new.

Elementary OS Juno uses Ubuntu 18.04 LTS as it’s base, so we must change everything over to 18.04.

sed -i 's/xenial/bionic/g' /etc/apt/sources.list

The software sources for Elementary OS have been changed from Ubuntu 16.04 to Ubuntu 18.04. We must now modify the official Elementary software sources, and change them from 16.04 to 18.04 as well.

sed -i 's/xenial/bionic/g' /etc/apt/sources.list.d/appcenter.list
sed -i 's/xenial/bionic/g' /etc/apt/sources.list.d/elementary.list
sed -i 's/xenial/bionic/g' /etc/apt/sources.list.d/patches.list

After changing all of the software sources, Elementary OS’ software index must be refreshed to reflect the changes. In the TTY console, run the update command.

sudo apt update

Before we upgrade from Loki to the new Juno release, we need to run a test to make sure that the process will go smoothly. To test the upgrade use simulate with the upgrade command.

apt --simulate upgrade

Assuming the simulation goes smoothly, it’s time to do the upgrade for real. In the TTY console, use the upgrade command and install the new Juno software packages.

sudo apt upgrade -y

Finish off the upgrade process with the dist-upgrade command.

sudo apt dist-upgrade -y

When the upgrade to Elementary OS Juno is complete, reboot your PC!


The upgrade process from Loki to Juno is complete. However, there are still a few things to do before you can use your system correctly. The first thing to do is to uninstall any old Elementary OS packages from the last release using the autoremove command.

sudo apt autoremove

Perl modules

According to some users who have tried this method of upgrading to Juno, the Perl-modules package may conflict with an older version. Fix the problem with:

sudo apt remove perl-modules-5.22

Recover GPG keys

We upgraded from Loki to Juno by changing some things around. As a result, we must install the key for the software sources. Follow the steps below to get it done.

Step 1: Using the apt-key command, download the Elementary OS key from the internet.

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A74F73EFFE70B91C

Step 2: Now that the key is installed, refresh Juno’s software sources to reflect the changes.

sudo apt update

If the key was recovered, the update command should work without error, and you’ll be able to enjoy your new Elementary OS Juno PC!