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 | 8, 7, 6 |
11 | 8, 7, 6 |
10 | 7, 6 |
Não ❌ há mais suporte para as seguintes versões do .NET:
- .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
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-8.0
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
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
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
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
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
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:8.0
6.0
3.1
2.1
É possível que o SDK/tempo de execução 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 8.0:
aspnetcore-runtime-8.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, comoaspnetcore-runtime-8.0
. Isso é usado no comandosudo 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:
# 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 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:
- 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 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, o libgdiplus também precisará ser instalado. Como System.Drawing.Common não tem mais suporte no Linux, isso só funciona no .NET 6 e requer a definição da alternância de configuração de runtime System.Drawing.EnableUnixSupport
.
Você pode instalar uma versão recente de libgdiplus ao adicionar o repositório do Mono ao sistema.
Próximas etapas
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de