Instale o SDK do .NET ou o Tempo de Execução do .NET no Debian

Este artigo descreve como instalar o .NET no Debian. Quando uma versão Debian deixa de ser suportada, o .NET deixa de ser suportado com essa versão. No entanto, estas instruções podem ajudá-lo a executar o .NET nessas versões, mesmo que não seja suportado.

Instale o SDK (que inclui o tempo de execução) se quiser desenvolver aplicativos .NET. Ou, se você só precisar executar aplicativos, instale o Runtime. Se você estiver instalando o Runtime, sugerimos que instale o ASP.NET Core Runtime , pois ele inclui os tempos de execução .NET e ASP.NET Core.

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

Importante

Usar um gerenciador de pacotes para instalar o .NET a partir do feed de pacotes da Microsoft suporta apenas a arquitetura x64. Outras arquiteturas, como Arm, não são suportadas pelo feed de pacotes da Microsoft.

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

Distribuições suportadas

A tabela a seguir é uma lista das versões .NET atualmente suportadas e as versões do Debian nas quais elas são suportadas. Estas versões permanecem suportadas até que a versão do .NET atinja o fim do suporte ou a versão do Debian atinja o fim da vida.

Debian .NET
12 8, 7, 6
11 8, 7, 6
10 7, 6

As seguintes versões do .NET não são ❌ mais suportadas:

  • .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 de pré-visualização

As versões candidatas de visualização e lançamento do .NET não estão disponíveis nos repositórios de pacotes. Você pode instalar visualizações e liberar candidatos do .NET de uma das seguintes maneiras:

Remover versões de pré-visualização

Ao usar um gerenciador de pacotes para gerenciar sua instalação do .NET, você pode entrar em conflito se tiver instalado anteriormente uma versão de visualização. O gerenciador de pacotes pode interpretar a versão de não-visualização como uma versão anterior do .NET. Para instalar a versão não prévia, primeiro desinstale as versões de visualização. Para obter mais informações sobre como desinstalar o .NET, consulte Como remover o .NET Runtime e SDK.

Debian 12

A instalação com APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua 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

Instale o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não precisará instalar o tempo de execução correspondente. Para instalar o SDK do .NET, execute os seguintes comandos:

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

Instalar o tempo de execução

O ASP.NET Core Runtime permite executar aplicativos que foram criados com .NET que não forneceram o tempo de execução. Os comandos a seguir instalam o ASP.NET Core Runtime, que é o tempo de execução mais compatível para o .NET. No seu terminal, execute os seguintes comandos:

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

Como alternativa ao ASP.NET Core Runtime, você pode instalar o .NET Runtime, que não inclui suporte 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

Debian 11

A instalação com APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua 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

Instale o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não precisará instalar o tempo de execução correspondente. Para instalar o SDK do .NET, execute os seguintes comandos:

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

Instalar o tempo de execução

O ASP.NET Core Runtime permite executar aplicativos que foram criados com .NET que não forneceram o tempo de execução. Os comandos a seguir instalam o ASP.NET Core Runtime, que é o tempo de execução mais compatível para o .NET. No seu terminal, execute os seguintes comandos:

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

Como alternativa ao ASP.NET Core Runtime, você pode instalar o .NET Runtime, que não inclui suporte 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

Debian 10

A instalação com APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua 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

Instale o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não precisará instalar o tempo de execução correspondente. Para instalar o SDK do .NET, execute os seguintes comandos:

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

Instalar o tempo de execução

O ASP.NET Core Runtime permite executar aplicativos que foram criados com .NET que não forneceram o tempo de execução. Os comandos a seguir instalam o ASP.NET Core Runtime, que é o tempo de execução mais compatível para o .NET. No seu terminal, execute os seguintes comandos:

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

Como alternativa ao ASP.NET Core Runtime, você pode instalar o .NET Runtime, que não inclui suporte 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

Como instalar outras versões

Todas as versões do .NET estão disponíveis para download em https://dotnet.microsoft.com/download/dotnet, mas requerem 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}.

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

    • dotnet
    • aspnetcore
  • type
    Escolhe o SDK ou o tempo de execução. As opções válidas são:

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

    • 8.0
    • 6.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 suportadas, consulte Instalar o .NET no Linux.

Exemplos

  • Instale o tempo de execução do ASP.NET Core 8.0: aspnetcore-runtime-8.0
  • Instale o tempo de execução do .NET Core 2.1: dotnet-runtime-2.1
  • Instale o SDK do .NET 5: dotnet-sdk-5.0
  • Instale o SDK do .NET Core 3.1: dotnet-sdk-3.1

Nota

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

Pacote em falta

Se a combinação pacote-versão não funcionar, ela não estará disponível. Por exemplo, não há um SDK 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 Linux suportadas pelo .NET, consulte Dependências e requisitos do .NET.

Use o APT para atualizar o .NET

Quando uma nova versão de patch está disponível para .NET, você pode simplesmente atualizá-lo através do APT com os seguintes comandos:

sudo apt-get update
sudo apt-get upgrade

Se você atualizou sua distribuição 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 para sua versão de distribuição atual para atualizar para o repositório de pacotes apropriado para atualizações do .NET.

Resolução de Problemas

Esta seção fornece informações sobre erros comuns que você pode obter ao usar o APT para instalar o .NET.

Não é possível encontrar o pacote

Importante

Usar um gerenciador de pacotes para instalar o .NET a partir do feed de pacotes da Microsoft suporta apenas a arquitetura x64. Outras arquiteturas, como Arm, não são suportadas pelo feed de pacotes da Microsoft.

Para obter mais informações sobre como instalar o .NET sem um gerenciador de pacotes, consulte 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 é possível localizar o pacote {dotnet-package} ou Alguns pacotes não puderam ser instalados, execute os seguintes comandos.

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

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

Primeiro, tente limpar a lista de pacotes:

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

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

Se você estiver usando o Debian 12 ou posterior, 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

# 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 ao buscar

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

Dependências

Quando você instala com um gerenciador de pacotes, essas bibliotecas são instaladas para você. Mas, se você instalar manualmente o .NET ou publicar um aplicativo independente, precisará garantir que essas bibliotecas estejam instaladas:

  • libc6
  • libgcc1 (para 10.x)
  • libgcc-s1 (para 11.x e 12.x)
  • libgssapi-krb5-2
  • libicu63 (para 10.x)
  • libicu67 (para 11.x)
  • libicu72 (para 12.x)
  • libssl1,1
  • libstdc++6
  • Zlib1g

As dependências podem ser instaladas com o apt install comando. O trecho a seguir demonstra a instalação da libc6 biblioteca:

sudo apt install libc6

Se o aplicativo .NET usa o assembly System.Drawing.Common , o libgdiplus também precisará ser instalado. Como System.Drawing.Common não é mais suportado no Linux, isso só funciona no .NET 6 e requer a configuração da opção de configuração de System.Drawing.EnableUnixSupport tempo de execução.

Você pode instalar uma versão recente do libgdiplusadicionando o repositório Mono ao seu sistema.

Próximos passos