Instalar o SDK do .NET ou o runtime do .NET no Debian

Este artigo descreve como instalar o .NET no Debian. Quando uma versão do Debian ficar sem suporte, não haverá mais suporte dessa versão no .NET. No entanto, essas instruções poderão ajudar você a executar o .NET nessas versões, mesmo sem o suporte.

Instale o SDK (que inclui o runtime) se quiser desenvolver aplicativos .NET. Ou, se você precisar apenas executar aplicativos, instale o runtime. Se você estiver instalando o runtime, sugerimos que você instale o Runtime do ASP.NET Core, pois ele inclui runtimes do .NET e do ASP.NET Core.

Use os comandos dotnet --list-sdks e dotnet --list-runtimes para ver quais versões estão instaladas. Para obter mais informações, confira Como verificar se o .NET já está instalado.

Importante

O uso de um gerenciador de pacotes para instalar o .NET por meio do feed de pacote da Microsoft só dá suporte à arquitetura x64. Outras arquiteturas, como o Arm, não são compatíveis com o feed do pacote da Microsoft.

Para obter mais informações de como instalar o .NET sem um gerenciador de pacotes, confira um dos seguintes artigos:

Distribuições com suporte

A tabela a seguir é uma lista de versões do .NET com suporte no momento e as versões do Debian nas quais há suporte. Essas versões permanecerão com suporte até que a versão do .NET atinja o fim do suporte ou que a versão do Debian atinja o fim da vida útil.

Debian .NET
12 9, 8
11 8

Não ❌ há mais suporte para as seguintes versões do .NET:

  • .NET 7
  • .NET 6
  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Instalar versões prévias

As versões prévias e Release Candidate do .NET não estão disponíveis em repositórios de pacotes. É possível instalar versões prévias e Release Candidate do .NET das seguintes maneiras:

Remover versões prévias

Ao usar um gerenciador de pacotes para gerenciar a instalação do .NET, pode ocorrer um conflito quando já existe uma versão prévia instalada. O gerenciador de pacotes pode interpretar a versão que não é prévia como uma versão anterior do .NET. Para instalar a versão que não é prévia, desinstale as versões prévias. Para obter mais informações de como desinstalar o .NET, confira Como remover o SDK e o runtime do .NET.

Debian 12

Importante

O .NET 9 foi lançado em 12 de novembro de 2024. Pode levar algum tempo para que os pacotes apareçam nos feeds do gerenciador de pacotes ou para que sua distribuição Linux específica os inclua.

A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os comandos a seguir para adicionar a chave de assinatura de pacote da Microsoft à lista de chaves confiáveis e adicionar o repositório de pacotes.

Abra um terminal e execute os seguintes comandos:

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute os seguintes comandos:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-9.0

Para saber como usar a CLI do .NET, confira Visão geral da CLI do .NET.

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. Em seu terminal, execute os seguintes comandos:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-9.0

Como alternativa ao Runtime do ASP.NET Core, você pode instalar o Runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore-runtime-9.0 no comando anterior por dotnet-runtime-9.0:

sudo apt-get install -y dotnet-runtime-9.0

Para saber como usar a CLI do .NET, confira Visão geral da CLI do .NET.

Debian 11

A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os comandos a seguir para adicionar a chave de assinatura de pacote da Microsoft à lista de chaves confiáveis e adicionar o repositório de pacotes.

Abra um terminal e execute os seguintes comandos:

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute os seguintes comandos:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

Para saber como usar a CLI do .NET, confira Visão geral da CLI do .NET.

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. Em seu terminal, execute os seguintes comandos:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

Como alternativa ao Runtime do ASP.NET Core, você pode instalar o Runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore-runtime-8.0 no comando anterior por dotnet-runtime-8.0:

sudo apt-get install -y dotnet-runtime-8.0

Para saber como usar a CLI do .NET, confira Visão geral da CLI do .NET.

Debian 10

A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os comandos a seguir para adicionar a chave de assinatura de pacote da Microsoft à lista de chaves confiáveis e adicionar o repositório de pacotes.

Abra um terminal e execute os seguintes comandos:

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute os seguintes comandos:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-7.0

Para saber como usar a CLI do .NET, confira Visão geral da CLI do .NET.

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. Em seu terminal, execute os seguintes comandos:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-7.0

Como alternativa ao Runtime do ASP.NET Core, você pode instalar o Runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore-runtime-7.0 no comando anterior por dotnet-runtime-7.0:

sudo apt-get install -y dotnet-runtime-7.0

Para saber como usar a CLI do .NET, consulte Visão geral da CLI do .NET.

Como instalar outras versões

Todas as versões do .NET estão disponíveis para download, https://dotnet.microsoft.com/download/dotnetmas exigem a instalação manual. Você pode tentar usar o gerenciador de pacotes para instalar uma versão diferente do .NET. No entanto, a versão solicitada pode não estar disponível.

Os pacotes adicionados aos feeds do gerenciador de pacotes são nomeados em um formato hackeável, por exemplo: {product}-{type}-{version}.

  • product
    O tipo de produto .NET a ser instalado. As opções válidas são:

    • dotnet
    • aspnetcore
  • tipo
    Escolhe o SDK ou o runtime. As opções válidas são:

    • sdk(disponível apenas para o produto dotnet)
    • runtime
  • version
    A versão do SDK ou do runtime a ser instalada. As opções válidas são qualquer versão lançada, como:

    • 9.0
    • 8.0
    • 3.1
    • 2.1

    É possível que o SDK/runtime que você está tentando baixar não esteja disponível para sua distribuição Linux. Para obter uma lista de distribuições com suporte, confira Instalar o .NET no Linux.

Exemplos

  • Instale o runtime do ASP.NET Core 9.0: aspnetcore-runtime-9.0
  • Instalar o runtime do .NET Core 2.1: dotnet-runtime-2.1
  • Instalar o SDK do .NET 5: dotnet-sdk-5.0
  • Instalar o SDK do .NET Core 3.1: dotnet-sdk-3.1

Observação

Alguns pacotes podem não estar disponíveis em sua distribuição Linux.

Ausência de pacote

Se a combinação pacote-versão não funcionar, ela não estará disponível. Por exemplo, não existe um SDK do ASP.NET Core. Os componentes do SDK para ASP.NET Core estão incluídos no SDK do .NET. O valor aspnetcore-sdk-8.0 está incorreto e deve ser dotnet-sdk-8.0. Para obter uma lista de distribuições do Linux com suporte no .NET, confira Dependências e requisitos do .NET.

Usar o APT para atualizar o .NET

Quando uma nova versão de patch estiver disponível para .NET, você poderá simplesmente atualizá-lo por meio do APT com os seguintes comandos:

sudo apt-get update
sudo apt-get upgrade

Se você já atualizou a distribuição do Linux desde a instalação do .NET, talvez seja necessário reconfigurar o repositório de pacotes da Microsoft. Execute as instruções de instalação da versão de distribuição atual para atualizar para o repositório de pacote apropriado para atualizações do .NET.

Solução de problemas

Esta seção fornece informações sobre erros comuns que podem ocorrer quando o APT é usado para instalar o .NET.

Não é possível localizar o pacote

Importante

O uso de um gerenciador de pacotes para instalar o .NET por meio do feed de pacote da Microsoft só dá suporte à arquitetura x64. Outras arquiteturas, como o Arm, não são compatíveis com o feed do pacote da Microsoft.

Para obter mais informações de como instalar o .NET sem um gerenciador de pacotes, confira um dos seguintes artigos:

Não foi possível localizar\Alguns pacotes não puderam ser instalados

Se você receber uma mensagem de erro semelhante a Não foi possível localizar o pacote {dotnet-package} ou Alguns pacotes não puderam ser instalados, execute os comandos a seguir.

Há dois espaços reservados no conjunto de comandos a seguir.

  • {dotnet-package}
    Isso representa o pacote do .NET que você está instalando, como aspnetcore-runtime-8.0. Isso é usado no comando sudo apt-get install a seguir.

Primeiro, tente limpar a lista de pacotes:

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

Depois, tente instalar o .NET novamente. Se isso não funcionar, você poderá executar uma instalação manual com os seguintes comandos:

Se você estiver usando o Debian 12 ou posterior, tente os seguintes comandos:

# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Se você estiver usando uma versão Debian anterior à 12, tente os seguintes comandos:

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Falha na busca

Ao instalar o pacote do .NET, pode ocorrer um erro semelhante a Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Esse erro pode significar que o feed de pacotes do .NET está sendo atualizado com versões mais recentes do pacote e que você deve tentar novamente mais tarde. Durante uma atualização, o feed de pacotes não deve ficar disponível por até 30 minutos. Se você continuar recebendo esse erro por mais de 30 minutos, registre um problema em https://github.com/dotnet/core/issues.

Dependências

Quando você faz a instalação com um gerenciador de pacotes, essas bibliotecas são instaladas automaticamente. Porém, se você instalar o .NET manualmente ou publicar um aplicativo autossuficiente, será necessário verificar se estas bibliotecas estão instaladas:

12.x

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • libssl3
  • libstdc++6
  • zlib1g

11.x

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu67
  • libssl1.1
  • libstdc++6
  • zlib1g

10.x

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu63
  • libssl1.1
  • libstdc++6
  • zlib1g

Outras observações

As dependências podem ser instaladas por meio do comando apt install. O snippet a seguir demonstra a instalação da biblioteca libc6:

sudo apt install libc6

Se o aplicativo .NET usar o assembly System.Drawing.Common, libgdiplus deverá ser instalado. Para obter mais informações, consulte System.Drawing.Common com suporte apenas no Windows.

Você pode instalar uma versão recente de libgdiplus ao adicionar o repositório do Mono ao sistema.

Próximas etapas