Instalando .NET 10 no Linux

Loft de estaleiro com o logo oficial .NET na parede de tijolos

Quem ainda fala “.NET Core 10” não está errado de história — o nome Core parou no 3.1. Desde o 5 a plataforma se chama só .NET. O 10 saiu em 11 de novembro de 2025, é LTS até 14 de novembro de 2028 e, em setembro de 2026, o SDK estável é o 10.0.400 (runtime 10.0.11, C# 14). Abaixo: Ubuntu, Debian, Fedora/RHEL, script oficial e tarball — um caminho só, sem misturar feed.

SDK ou só runtime

Para desenvolver, instale o SDK (dotnet-sdk-10.0). Ele já traz o runtime e o ASP.NET Core. Para só rodar app publicado sem runtime embutido, o pacote mais útil é aspnetcore-runtime-10.0. Confira o que já tem na caixa:

dotnet --info
dotnet --list-sdks
dotnet --list-runtimes

Ubuntu (o caminho da distro)

A Microsoft não publica mais pacote .NET no feed dela para Ubuntu 22.04 em diante. Use o APT da Canonical — e um único feed. No 24.04 LTS, 25.04, 25.10 e 26.04 o 10 já está no repositório nativo:

sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0
dotnet --version

No Ubuntu 22.04 o APT nativo para no 8. O 10 vem do PPA de backports da Canonical:

sudo add-apt-repository ppa:dotnet/backports
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0

Não acrescente packages.microsoft.com “por garantia”. Misturar feed da Microsoft com o da distro é o bug clássico de libhostfxr.so / SDK not found. Escolha um.

Debian 12 e 13

Aqui o feed da Microsoft ainda vale. Debian 13:

wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0

No Debian 12 troque o caminho para config/debian/12/packages-microsoft-prod.deb. O feed do 10 publica x64 e Arm64; Arm32 fica para o script ou o tarball.

Fedora, RHEL e CentOS Stream

Pacote nativo, sem repo extra. Fedora 43/44, RHEL 8/9/10 (AppStream, assinatura registrada) e CentOS Stream 9/10:

sudo dnf install dotnet-sdk-10.0

No servidor, se a app não traz o runtime no publish: sudo dnf install aspnetcore-runtime-10.0.

Script oficial ou tarball (qualquer distro)

Sem root, sem bagunçar o APT. O script instala o LTS corrente — hoje o 10 — em ~/.dotnet:

curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 10.0
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.profile
echo 'export PATH=$PATH:$HOME/.dotnet:$HOME/.dotnet/tools' >> ~/.profile
source ~/.profile
dotnet --version

O tarball do SDK 10.0.400 (mesmo conteúdo, você escolhe a pasta):

case $(uname -m) in
  x86_64)  ARCH=x64 ;;
  aarch64) ARCH=arm64 ;;
  *) echo "arch não suportada"; exit 1 ;;
esac
VER=10.0.400
cd /tmp
curl -fLO "https://builds.dotnet.microsoft.com/dotnet/Sdk/${VER}/dotnet-sdk-${VER}-linux-${ARCH}.tar.gz"
mkdir -p "$HOME/.dotnet"
tar -C "$HOME/.dotnet" -xzf "/tmp/dotnet-sdk-${VER}-linux-${ARCH}.tar.gz"

PATH igual ao do script. Checksum SHA-256 de cada arquivo está na página de download do 10.0.

Snap (se a distro só tem snap)

Canonical empacota dotnet-sdk-100. Funciona, mas a própria Microsoft avisa: dotnet tool e dotnet watch costumam quebrar no snap. Prefira APT, dnf ou o script se for desenvolver.

sudo snap install dotnet-sdk-100
sudo ln -s /snap/dotnet-sdk-100/current/usr/bin/dotnet /usr/local/bin/dotnet
export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet

Não misture snap com APT no mesmo PATH.

Olá, net10.0

Com o SDK no PATH:

dotnet new console -n OlaLinux -o ola --framework net10.0
cd ola
dotnet run

O template já gera um .csproj com TargetFramework net10.0. Web: dotnet new webapi -n ApiLinux. A partir do 10, dotnet new sln passa a criar o formato SLNX — é o default novo, não um erro.

O que ficou

Um pacote (dotnet-sdk-10.0) ou um script em ~/.dotnet. Um feed só. Um dotnet new. O Core no nome é saudade; a plataforma no Linux, em 2026, é .NET 10 LTS.

Mapa das línguas: As 7 principais linguagens. Irmãos de toolchain: Go, Swift, Python.

Docs: learn.microsoft.com/dotnet/core/install/linux · download: dotnet.microsoft.com/download/dotnet/10.0.