Skip to Content

Install .NET Core on Fedora 32

Fedora 32 was released a few short weeks ago. In this latest release .NET Core 3.1 is being shipped in the official repositories. This package now makes it simpler to install than before. In this post, we will walk through installing .NET Core 3.1 and how to disable telemetry if you desire.

Disabling Telemetry

You can find out more about the telemtery collected here. You can opt out by setting an environment variable. I am going to show you how to set it in your .profile, so when you log in, it will set the environment variable for you.

$ cd ~
$ echo 'export DOTNET_CLI_TELEMETRY_OPTOUT=1' >> .profile

Now reboot, and you will have this set. If you don’t want your installation telemetry sent, then set this before running your installation.

Installation

Let’s search the package repositories and find the name of the new .NET Core packages.

$ sudo dnf search dotnet*
dotnet.x86_64 : .NET Core CLI tools and runtime
dotnet-host.x86_64 : .NET command line launcher
dotnet-sdk-3.1.x86_64 : .NET Core 3.1 Software Development Kit
dotnet-hostfxr-3.1.x86_64 : .NET Core command line host resolver
dotnet-runtime-3.1.x86_64 : NET Core 3.1 runtime
dotnet-templates-3.1.x86_64 : .NET Core 3.1 templates
dotnet-apphost-pack-3.1.x86_64 : Targeting Pack for Microsoft.NETCore.App 3.1
dotnet-targeting-pack-3.1.x86_64 : Targeting Pack for Microsoft.NETCore.App 3.1
dotnet-build-reference-packages.x86_64 : Reference packages needed by the .NET Core SDK build
dotnet-sdk-3.1-source-built-artifacts.x86_64 : Internal package for building .NET Core 3.1 Software Development Kit

Our search returned ten packages. The top result is a meta-package that installs all the required packages and the only one to start doing .NET development. Let’s install the package.

$ sudo dnf install dotnet -y
Transaction Summary
====================================================================================================================
Install  16 Packages

Total download size: 88 M
Installed size: 299 M

Installed:
  aspnetcore-runtime-3.1-3.1.3-1.fc32.x86_64            aspnetcore-targeting-pack-3.1-3.1.3-1.fc32.x86_64           
  dotnet-3.1.103-1.fc32.x86_64                          dotnet-apphost-pack-3.1-3.1.3-1.fc32.x86_64                 
  dotnet-host-3.1.3-1.fc32.x86_64                       dotnet-hostfxr-3.1-3.1.3-1.fc32.x86_64                      
  dotnet-runtime-3.1-3.1.3-1.fc32.x86_64                dotnet-sdk-3.1-3.1.103-1.fc32.x86_64                        
  dotnet-targeting-pack-3.1-3.1.3-1.fc32.x86_64         dotnet-templates-3.1-3.1.103-1.fc32.x86_64                  
  libicu-65.1-2.fc32.x86_64                             libunwind-1.3.1-5.fc32.x86_64                               
  lttng-ust-2.11.0-4.fc32.x86_64                        netstandard-targeting-pack-2.1-3.1.103-1.fc32.x86_64        
  numactl-libs-2.0.12-4.fc32.x86_64                     userspace-rcu-0.11.1-3.fc32.x86_64                          

Complete!

The command installed 16 packages existing of the ten listed above, a few ASP .NET Core packages, and some dependencies for the runtime. Now let’s create a test project and make sure that it behaves as expected.

$ dotnet new console -o test
Getting ready...
The template "Console Application" was created successfully.

Now let’s run the default console application.

$ cd test
$ dotnet run
Hello World!

Conclusion

Thanks for reading, and I hope you found this useful. I have been enjoying Fedora 32, and I thought I would share that the step of adding a repository isn’t needed any longer.

Jamie

If you enjoy the content, then consider buying me a coffee.