{"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 en 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>Quien todav\u00eda dice \u201c.NET Core 10\u201d no se equivoca de historia \u2014 el nombre Core se qued\u00f3 en el 3.1. Desde el 5 la plataforma se llama solo <strong>.NET<\/strong>. El 10 sali\u00f3 el 11 de noviembre de 2025, es LTS hasta el 14 de noviembre de 2028 y, en septiembre de 2026, el SDK estable es el <strong>10.0.400<\/strong> (runtime 10.0.11, C# 14). A continuaci\u00f3n: Ubuntu, Debian, Fedora\/RHEL, script oficial y tarball \u2014 un solo camino, sin mezclar repositorio.<\/p>\n<p><!-- more --><\/p>\n<h2>SDK o solo runtime<\/h2>\n<p>Para desarrollar, instale el <strong>SDK<\/strong> (<code data-no-translation=\"\">dotnet-sdk-10.0<\/code>). Ya incluye el runtime y ASP.NET Core. Para solo ejecutar una aplicaci\u00f3n publicada sin runtime integrado, el paquete m\u00e1s \u00fatil es <code data-no-translation=\"\">aspnetcore-runtime-10.0<\/code>. Compruebe lo que ya tiene en el sistema:<\/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 (el camino de la distro)<\/h2>\n<p>Microsoft <strong>ya no publica<\/strong> paquetes .NET en su feed para Ubuntu 22.04 en adelante. Use el APT de Canonical \u2014 y un \u00fanico feed. En 24.04 LTS, 25.04, 25.10 y 26.04 el 10 ya est\u00e1 en el repositorio 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>En el <strong>Ubuntu 22.04<\/strong> el APT nativo se queda en 8. El 10 viene del PPA de backports de 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>No a\u00f1ada <code data-no-translation=\"\">packages.microsoft.com<\/code> \u201cpor si acaso\u201d. Mezclar el feed de Microsoft con el de la distro es el cl\u00e1sico bug de <code data-no-translation=\"\">libhostfxr.so<\/code> \/ SDK not found. Elija uno.<\/p>\n<h2>Debian 12 y 13<\/h2>\n<p>Aqu\u00ed el feed de Microsoft a\u00fan sirve. 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>En Debian 12 cambia la ruta a <code data-no-translation=\"\">config\/debian\/12\/packages-microsoft-prod.deb<\/code>. El feed de 10 publica x64 y Arm64; Arm32 queda para el script o el tarball.<\/p>\n<h2>Fedora, RHEL y CentOS Stream<\/h2>\n<p>Paquete nativo, sin repo extra. Fedora 43\/44, RHEL 8\/9\/10 (AppStream, firma registrada) y 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>En el servidor, si la app no incluye el runtime en el publish: <code data-no-translation=\"\">sudo dnf install aspnetcore-runtime-10.0<\/code>.<\/p>\n<h2>Script oficial o tarball (cualquier distro)<\/h2>\n<p>Sin root, sin tocar el APT. El script instala el LTS actual \u2014 hoy el 10 \u2014 en <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>El tarball del SDK 10.0.400 (mismo contenido, t\u00fa eliges la carpeta):<\/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 al del script. El checksum SHA-256 de cada archivo est\u00e1 en la <a href=\"https:\/\/dotnet.microsoft.com\/download\/dotnet\/10.0\">p\u00e1gina de descarga del 10.0<\/a>.<\/p>\n<h2>Snap (si la distro solo tiene snap)<\/h2>\n<p>Canonical lo empaqueta <code data-no-translation=\"\">dotnet-sdk-100<\/code>. Funciona, pero la propia Microsoft avisa: <code data-no-translation=\"\">dotnet tool<\/code> e <code data-no-translation=\"\">dotnet watch<\/code> suelen romperse en el snap. Prefiere APT, dnf o el script si vas a desarrollar.<\/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>No mezcles snap con APT en el mismo <code data-no-translation=\"\">PATH<\/code>.<\/p>\n<h2>Hola, net10.0<\/h2>\n<p>Con el SDK en <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>La plantilla ya genera un <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 de 10, <code data-no-translation=\"\">dotnet new sln<\/code> pasa a crear el formato SLNX \u2014 es el nuevo por defecto, no un error.<\/p>\n<h2>Cierre<\/h2>\n<p>Un paquete (<code data-no-translation=\"\">dotnet-sdk-10.0<\/code>) o un script en <code data-no-translation=\"\">~\/.dotnet<\/code>. Un feed solo. Un <code data-no-translation=\"\">dotnet new<\/code>. El Core en el nombre es nostalgia; la plataforma en Linux, en 2026, es .NET 10 LTS.<\/p>\n<p>Mapa de los idiomas: <a href=\"\/es\/2017\/05\/linguagens-de-programacao\/\">Las 7 principales lenguajes<\/a>. Hermanos del 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>Documentaci\u00f3n: <a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/install\/linux\">learn.microsoft.com\/dotnet\/core\/install\/linux<\/a> \u00b7 descarga: <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 en Linux\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/instalando-dotnet-10-no-linux\/\" aria-label=\"Leer m\u00e1s sobre Instalando .NET 10 no Linux\">Leer m\u00e1s<\/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}]}}