
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.