New PPA to Install .NET 8 in old Ubuntu 18.04 & Ubuntu 16.04

For .NET developers, the latest .NET 8 can be installed on old Ubuntu 18.04 and/or Ubuntu 16.04 LTS easily through PPA.

.NET 8 was released few months ago in November, 2023. It’s a new LTS release with 3 years support, and features new code generator “Dynamic Profile-Guided Optimization” (PGO), AVX-512 instruction set, out-of-the-box AI features, first preview of .NET Aspire, native AoT, and various other changes. See the release note for details.

.NET 8 is made into Ubuntu system repositories for Ubuntu 23.10 and upcoming Ubuntu 24.04. For Ubuntu 22.04 and Ubuntu 20.04 LTS, I’ve written how to install .NET 8 from Microsoft repository.

For users of Ubuntu 16.04 and Ubuntu 18.04 who can’t upgrade the system, there’s now a third-party PPA contains the .NET 8 packages for 64-bit Intel/AMD machines.

The PPA is maintained by Rob Savoury, who maintains so many PPAs with Blender, Chromium, FFmpeg, Firefox, LibreOffice, Qt5/6, Python, LLVM, Node.js, and other popular software packages with old Ubuntu 16.04 and Ubuntu 18.04 support!

NOTE: Since the system libraries in Ubuntu 16.04 and 18.04 are quite outdated, the PPA has lots of library updates that MAY RUN INTO UNMET DEPENDENCY ISSUES for installing other app packages in future.

1. Add the Ubuntu PPA

First, press Ctrl+Alt+T on keyboard to open up a terminal window. When it opens, paste the command below and hit Enter to add PPA:

sudo add-apt-repository ppa:savoury1/dotnet8

Type user password when it asks for sudo authentication, though there’s no asterisk feedback, then hit Enter to continue. The PPA is NOT ready for use at the moment of writing. Though it works now in my case in Ubuntu 18.04. You may take a look on PPA page before running this command.

For dependency packages, you need to also add the following PPAs by running command:

sudo add-apt-repository ppa:savoury1/backports

2. Refresh Package Cache

Ubuntu now automatically refresh package cache after adding PPA. Just in case, you can run the command below in terminal to do it manually:

sudo apt update

3. Install .NET 8

Finally, install the sdk, run-time, host, as well as other core packages, by running the single command below:

sudo apt install dotnet8


To uninstall .NET 8, open a terminal window (Ctrl+Alt+T) and run command to first install ppa-purge tool:

sudo apt install ppa-purge

Then, use the tool to purge PPAs, which also downgrade or uninstall the packages installed from that PPAs.

sudo ppa-purge ppa:savoury1/backports
sudo ppa-purge ppa:savoury1/dotnet8

IMPORTANT: Before answer yes to purge PPA and uninstall packages, do keep an eye on the list packages going to be removed!! It MAY REMOVE OTHER USEFUL APP PACKAGES due to downgrade dependency libraries.