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

O .NET é compatível com o Ubuntu. Este artigo descreve como instalar o .NET no Ubuntu. Quando uma versão do Ubuntu ficar sem suporte, não haverá mais suporte dessa versão no .NET.

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.

Se você já instalou o SDK ou o runtime, use os comandos dotnet --list-sdks 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

As instalações do gerenciador de pacotes só são compatíveis com a arquitetura x64. Em outras arquiteturas, como o Arm, o .NET precisa ser instalado por outros meios, como o Snap, um script de instalador ou uma instalação binária manual.

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 Ubuntu compatíveis com elas.

Ubuntu .NET
22.04 (LTS) 6 e posterior
20.04 (LTS) 3.1, 6
18.04 (LTS) 3.1, 6
16.04 (LTS) 3.1, 6

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

  • .NET 5
  • .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 nos gerenciadores 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.

22.04

Aviso

Se você já instalou o .NET 6 de packages.microsoft.com, confira o Assistente na instalação do .NET 6 no Ubuntu 22.04.

O .NET 6 está incluído nos feeds do gerenciador de pacotes do Ubuntu 22.04.

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 dotnet6

Instalar o runtime

O runtime do ASP.NET Core permite executar aplicativos criados 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-6.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-6.0 no comando anterior por dotnet-runtime-6.0:

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

22.04 (feed de pacotes da Microsoft)

Observação

Aviso: o .NET 6 está incluído no Ubuntu 22.04. Confira o Assistente na instalação do .NET 6 no Ubuntu 22.04 se você quiser usar pacotes .NET da classe packages.microsoft.com.

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/ubuntu/22.04/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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-6.0, confira a seção Solução de problemas do APT.

Instalar o runtime

O runtime do ASP.NET Core permite executar aplicativos criados 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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-6.0, confira a seção Solução de problemas do APT.

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-6.0 no comando anterior por dotnet-runtime-6.0:

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

Observação

O Ubuntu 22.04 inclui OpenSSL 3 como a versão de linha de base. O .NET 6 dá suporte ao OpenSSL 3, enquanto as versões anteriores do .NET não dão. A Microsoft não testa nem dá suporte ao uso do OpenSSL 1.x no Ubuntu 22.04. Para obter mais informações, confira Aprimoramentos de Segurança do .NET 6.

20.04

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/ubuntu/20.04/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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-6.0, confira a seção Solução de problemas do APT.

Instalar o runtime

O runtime do ASP.NET Core permite executar aplicativos criados 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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-6.0, confira a seção Solução de problemas do APT.

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-6.0 no comando anterior por dotnet-runtime-6.0:

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

18.04

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/ubuntu/18.04/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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-6.0, confira a seção Solução de problemas do APT.

Instalar o runtime

O runtime do ASP.NET Core permite executar aplicativos criados 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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-6.0, confira a seção Solução de problemas do APT.

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-6.0 no comando anterior por dotnet-runtime-6.0:

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

16.04

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/ubuntu/16.04/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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-6.0, confira a seção Solução de problemas do APT.

Instalar o runtime

O runtime do ASP.NET Core permite executar aplicativos criados 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-6.0

Importante

Se você receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-6.0, confira a seção Solução de problemas do APT.

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-6.0 no comando anterior por dotnet-runtime-6.0:

sudo apt-get install -y dotnet-runtime-6.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
    • runtime
  • version
    A versão do SDK ou do runtime a ser instalada. Este artigo sempre fornecerá as instruções para a última versão com suporte. As opções válidas são qualquer versão lançada, como:

    • 5,0
    • 3.1
    • 3,0
    • 2.1

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

Exemplos

  • Instalar o runtime do ASP.NET Core 5.0: aspnetcore-runtime-5.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

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 estão incluídos no SDK do .NET. O valor aspnetcore-sdk-2.2 está incorreto e deve ser dotnet-sdk-2.2. 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 do APT

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

As instalações do gerenciador de pacotes só são compatíveis com a arquitetura x64. Em outras arquiteturas, como o Arm, o .NET precisa ser instalado por outros meios, como o Snap, um script de instalador ou uma instalação binária manual.

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

Observação

Essas informações só se aplicam quando o .NET é instalado no feed de pacotes da Microsoft.

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-3.1. Isso é usado no comando sudo apt-get install a seguir.

  • {os-version}
    Isso representa a versão de distribuição em que você está. Isso é usado no comando wget abaixo. A versão de distribuição é o valor numérico, como 20.04 no Ubuntu ou 10 no Debian.

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:

sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/ubuntu/{os-version}/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
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
  • libgssapi-krb5-2
  • libicu52 (para 14.x)
  • libicu55 (para 16.x)
  • libicu60 (para 18.x)
  • libicu66 (para 20.x)
  • libssl1.0.0 (para 14.x, 16.x)
  • libssl1.1 (para 18.x, 20.x)
  • libstdc++6
  • zlib1g

Para aplicativos .NET que usam o assembly System.Drawing.Common, você também precisará da seguinte dependência:

  • libgdiplus (versão 6.0.1 ou posterior)

    Aviso

    Você pode instalar uma versão recente de libgdiplus adicionando o repositório Mono ao sistema. Para obter mais informações, consulte https://www.mono-project.com/download/stable/.

Próximas etapas