{"id":625,"date":"2026-09-06T11:11:47","date_gmt":"2026-09-06T14:11:47","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2026\/09\/instalando-dotnet-10-no-linux\/"},"modified":"2026-09-08T11:12:43","modified_gmt":"2026-09-08T14:12:43","slug":"instalando-dotnet-10-no-linux","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/instalando-dotnet-10-no-linux\/","title":{"rendered":"Instalando .NET 10 no Linux"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro instalando o .NET 10 em distribuicoes Linux\" src=\"\/wp-content\/uploads\/2026\/09\/instalando-dotnet-10-v2.webp\" width=\"1486\" height=\"856\" \/><\/p>\n<p>Quem ainda fala \u201c.NET Core 10\u201d n\u00e3o est\u00e1 errado de hist\u00f3ria \u2014 o nome Core parou no 3.1. Desde o 5 a plataforma se chama s\u00f3 <strong>.NET<\/strong>. O 10 saiu em 11 de novembro de 2025, \u00e9 LTS at\u00e9 14 de novembro de 2028 e, em setembro de 2026, o SDK est\u00e1vel \u00e9 o <strong>10.0.400<\/strong> (runtime 10.0.11, C# 14). Abaixo: Ubuntu, Debian, Fedora\/RHEL, script oficial e tarball \u2014 um caminho s\u00f3, sem misturar feed.<\/p>\n<p><!-- more --><\/p>\n<h2>SDK ou s\u00f3 runtime<\/h2>\n<p>Para desenvolver, instale o <strong>SDK<\/strong> (<code data-no-translation=\"\">dotnet-sdk-10.0<\/code>). Ele j\u00e1 traz o runtime e o ASP.NET Core. Para s\u00f3 rodar app publicado sem runtime embutido, o pacote mais \u00fatil \u00e9 <code data-no-translation=\"\">aspnetcore-runtime-10.0<\/code>. Confira o que j\u00e1 tem na caixa:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">dotnet --info\ndotnet --list-sdks\ndotnet --list-runtimes\n<\/code><\/pre>\n<h2>Ubuntu (o caminho da distro)<\/h2>\n<p>A Microsoft <strong>n\u00e3o publica mais<\/strong> pacote .NET no feed dela para Ubuntu 22.04 em diante. Use o APT da Canonical \u2014 e um \u00fanico feed. No 24.04 LTS, 25.04, 25.10 e 26.04 o 10 j\u00e1 est\u00e1 no reposit\u00f3rio nativo:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo apt-get update\nsudo apt-get install -y dotnet-sdk-10.0\ndotnet --version\n<\/code><\/pre>\n<p>No <strong>Ubuntu 22.04<\/strong> o APT nativo para no 8. O 10 vem do PPA de backports da Canonical:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo add-apt-repository ppa:dotnet\/backports\nsudo apt-get update\nsudo apt-get install -y dotnet-sdk-10.0\n<\/code><\/pre>\n<p>N\u00e3o acrescente <code data-no-translation=\"\">packages.microsoft.com<\/code> \u201cpor garantia\u201d. Misturar feed da Microsoft com o da distro \u00e9 o bug cl\u00e1ssico de <code data-no-translation=\"\">libhostfxr.so<\/code> \/ SDK not found. Escolha um.<\/p>\n<h2>Debian 12 e 13<\/h2>\n<p>Aqui o feed da Microsoft ainda vale. Debian 13:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">wget https:\/\/packages.microsoft.com\/config\/debian\/13\/packages-microsoft-prod.deb -O packages-microsoft-prod.deb\nsudo dpkg -i packages-microsoft-prod.deb\nrm packages-microsoft-prod.deb\nsudo apt-get update\nsudo apt-get install -y dotnet-sdk-10.0\n<\/code><\/pre>\n<p>No Debian 12 troque o caminho para <code data-no-translation=\"\">config\/debian\/12\/packages-microsoft-prod.deb<\/code>. O feed do 10 publica x64 e Arm64; Arm32 fica para o script ou o tarball.<\/p>\n<h2>Fedora, RHEL e CentOS Stream<\/h2>\n<p>Pacote nativo, sem repo extra. Fedora 43\/44, RHEL 8\/9\/10 (AppStream, assinatura registrada) e CentOS Stream 9\/10:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo dnf install dotnet-sdk-10.0\n<\/code><\/pre>\n<p>No servidor, se a app n\u00e3o traz o runtime no publish: <code data-no-translation=\"\">sudo dnf install aspnetcore-runtime-10.0<\/code>.<\/p>\n<h2>Script oficial ou tarball (qualquer distro)<\/h2>\n<p>Sem root, sem bagun\u00e7ar o APT. O script instala o LTS corrente \u2014 hoje o 10 \u2014 em <code data-no-translation=\"\">~\/.dotnet<\/code>:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">curl -L https:\/\/dot.net\/v1\/dotnet-install.sh -o dotnet-install.sh\nchmod +x dotnet-install.sh\n.\/dotnet-install.sh --channel 10.0\necho 'export DOTNET_ROOT=$HOME\/.dotnet' &gt;&gt; ~\/.profile\necho 'export PATH=$PATH:$HOME\/.dotnet:$HOME\/.dotnet\/tools' &gt;&gt; ~\/.profile\nsource ~\/.profile\ndotnet --version\n<\/code><\/pre>\n<p>O tarball do SDK 10.0.400 (mesmo conte\u00fado, voc\u00ea escolhe a pasta):<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">case $(uname -m) in\n  x86_64)  ARCH=x64 ;;\n  aarch64) ARCH=arm64 ;;\n  *) echo \"arch n\u00e3o suportada\"; exit 1 ;;\nesac\nVER=10.0.400\ncd \/tmp\ncurl -fLO \"https:\/\/builds.dotnet.microsoft.com\/dotnet\/Sdk\/${VER}\/dotnet-sdk-${VER}-linux-${ARCH}.tar.gz\"\nmkdir -p \"$HOME\/.dotnet\"\ntar -C \"$HOME\/.dotnet\" -xzf \"\/tmp\/dotnet-sdk-${VER}-linux-${ARCH}.tar.gz\"\n<\/code><\/pre>\n<p>PATH igual ao do script. Checksum SHA-256 de cada arquivo est\u00e1 na <a href=\"https:\/\/dotnet.microsoft.com\/download\/dotnet\/10.0\">p\u00e1gina de download do 10.0<\/a>.<\/p>\n<h2>Snap (se a distro s\u00f3 tem snap)<\/h2>\n<p>Canonical empacota <code data-no-translation=\"\">dotnet-sdk-100<\/code>. Funciona, mas a pr\u00f3pria Microsoft avisa: <code data-no-translation=\"\">dotnet tool<\/code> e <code data-no-translation=\"\">dotnet watch<\/code> costumam quebrar no snap. Prefira APT, dnf ou o script se for desenvolver.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo snap install dotnet-sdk-100\nsudo ln -s \/snap\/dotnet-sdk-100\/current\/usr\/bin\/dotnet \/usr\/local\/bin\/dotnet\nexport DOTNET_ROOT=\/snap\/dotnet-sdk-100\/current\/usr\/lib\/dotnet\n<\/code><\/pre>\n<p>N\u00e3o misture snap com APT no mesmo <code data-no-translation=\"\">PATH<\/code>.<\/p>\n<h2>Ol\u00e1, net10.0<\/h2>\n<p>Com o SDK no <code data-no-translation=\"\">PATH<\/code>:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">dotnet new console -n OlaLinux -o ola --framework net10.0\ncd ola\ndotnet run\n<\/code><\/pre>\n<p>O template j\u00e1 gera um <code data-no-translation=\"\">.csproj<\/code> con <code data-no-translation=\"\">TargetFramework<\/code> <code data-no-translation=\"\">net10.0<\/code>. Web: <code data-no-translation=\"\">dotnet new webapi -n ApiLinux<\/code>. A partir do 10, <code data-no-translation=\"\">dotnet new sln<\/code> passa a criar o formato SLNX \u2014 \u00e9 o default novo, n\u00e3o um erro.<\/p>\n<h2>O que ficou<\/h2>\n<p>Um pacote (<code data-no-translation=\"\">dotnet-sdk-10.0<\/code>) ou um script em <code data-no-translation=\"\">~\/.dotnet<\/code>. Um feed s\u00f3. Um <code data-no-translation=\"\">dotnet new<\/code>. O Core no nome \u00e9 saudade; a plataforma no Linux, em 2026, \u00e9 .NET 10 LTS.<\/p>\n<p>Mapa das l\u00ednguas: <a href=\"\/es\/2017\/05\/linguagens-de-programacao\/\">As 7 principais linguagens<\/a>. Irm\u00e3os de toolchain: <a href=\"\/es\/2019\/12\/install-golang-linux\/\">Go<\/a>, <a href=\"\/es\/2017\/05\/instalando-swift-no-linux\/\">Swift<\/a>, <a href=\"\/es\/2017\/04\/python-do-basico-ao-profissional\/\">Python<\/a>.<\/p>\n<p>Docs: <a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/install\/linux\">learn.microsoft.com\/dotnet\/core\/install\/linux<\/a> \u00b7 download: <a href=\"https:\/\/dotnet.microsoft.com\/download\/dotnet\/10.0\">dotnet.microsoft.com\/download\/dotnet\/10.0<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Quem ainda fala \u201c.NET Core 10\u201d n\u00e3o est\u00e1 errado de hist\u00f3ria \u2014 o nome Core parou no 3.1. Desde o 5 a plataforma se chama s\u00f3 .NET. O 10 saiu em 11 de novembro de 2025, \u00e9 LTS at\u00e9 14 de novembro de 2028 e, em setembro de 2026, o SDK est\u00e1vel \u00e9 o 10.0.400 &#8230; <a title=\"Instalando .NET 10 no Linux\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/instalando-dotnet-10-no-linux\/\" aria-label=\"Read more about Instalando .NET 10 no Linux\">Read more<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,2,3],"tags":[286,15,285,4,287,5],"class_list":["post-625","post","type-post","status-publish","format-standard","hentry","category-desenv","category-linux","category-ubuntu","tag-csharp","tag-debian","tag-dotnet","tag-linux","tag-sdk","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=625"}],"version-history":[{"count":3,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/625\/revisions"}],"predecessor-version":[{"id":1406,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/625\/revisions\/1406"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}