Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo ajuda-o a decidir como instalar o .NET no Ubuntu. A partir do Ubuntu 22.04, a maioria das versões suportadas do .NET está disponível no feed Ubuntu incorporado. O repositório de pacotes backports Ubuntu .NET contém as restantes versões suportadas de .NET.
A Canonical assumiu a publicação do .NET no Ubuntu. A partir do Ubuntu 22.04, a Microsoft deixou de distribuir .NET para Ubuntu no repositório de pacotes da Microsoft.
Distribuições suportadas
A tabela seguinte é uma lista das versões .NET atualmente suportadas e das versões do Ubuntu em que são suportadas. Cada link vai para a página específica da versão do Ubuntu com instruções sobre como instalar o .NET para essa versão do Ubuntu.
| Ubuntu | Versões .NET suportadas | Disponível em feed integrado do Ubuntu |
Disponível em .NET backports Feed do Ubuntu |
Disponível em Feed da Microsoft |
|---|---|---|---|---|
| 25.10 | 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | Nenhum | Nenhum |
| 25.04 | 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | Nenhum | Nenhum |
| 24,04 (LTS) | 10.0, 9.0, 8.0 | 10.0, 8.0 | 9.0, 7.0, 6.0 | Nenhum |
| 22,04 (LTS) | 10.0, 9.0, 8.0 | 8.0, 7.0, 6.0 | 10.0, 9.0 | 8.0, 7.0, 6.0, 3.1 |
Quando uma versão Ubuntu chega ao fim do seu período de suporte, .NET deixa de ser suportada com essa versão específica do Ubuntu.
A Canonical suporta versões .NET no feed Ubuntu integrado durante toda a vida útil dessa versão do Ubuntu, mesmo para além do suporte fornecido pela Microsoft, e oferece suporte de melhor esforço para versões .NET no repositório de pacotes de backports .NET, que não se estende para além do tempo de suporte fornecido pela Microsoft.
As seguintes versões de .NET são ❌ já não suportadas:
- .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
Considerações ao atualizar o Ubuntu
Atualizando o Ubuntu para 22.04 ou posterior? Considera desinstalar o .NET primeiro.
Se usaste um gestor de pacotes para instalar .NET a partir do repositório de pacotes da Microsoft, vais acabar com um problema de confusão de pacotes depois de atualizares o Ubuntu. Agora que a Canonical publica o .NET nos feeds de pacotes para Ubuntu 22.04 (e versões posteriores), o gestor de pacotes não saberá da versão .NET previamente instalada. Os pacotes não podem ser atualizados para o .NET mais recente. Primeiro, desinstala-os e depois reinstala-os a partir do repositório de pacotes do Ubuntu.
Decida como instalar o .NET
Quando a tua versão do Ubuntu suporta .NET através do feed Ubuntu incorporado ou .NET, o suporte para essas versões do .NET é fornecido pela Canonical e as builds podem estar otimizadas para diferentes cargas de trabalho. A Microsoft fornece suporte para pacotes no feed de repositório de pacotes da Microsoft.
Advertência
Recomenda-se que escolha entre feeds do Ubuntu ou da Microsoft para os pacotes .NET de origem. Não misture pacotes .NET de múltiplos repositórios de pacotes, pois isso pode causar problemas quando as aplicações tentam resolver uma versão específica do .NET.
| Método | Vantagens | Desvantagens |
|---|---|---|
|
Gestor de pacotes (incorporado Feed do Ubuntu) |
|
|
|
Gestor de pacotes (.NET backports Feed do Ubuntu) |
|
|
|
Gestor de pacotes (Feed da Microsoft) |
|
|
| Script \ Extração manual |
|
|
Use as seguintes secções para determinar como deve instalar o .NET:
- Estou a usar Ubuntu 22.04 ou posterior, e só preciso de .NET
- Estou usando uma versão do Ubuntu anterior à 22.04
-
Estou usando outros pacotes da Microsoft, como
powershell,mdatpoumssql - Quero criar uma aplicação .NET
- Quero correr uma aplicação .NET num contentor, cloud ou cenário de integração contínua
- A minha distribuição Ubuntu não inclui a versão .NET que quero, ou então preciso de uma versão .NET fora de suporte
- Quero instalar uma versão de pré-visualização
- Não quero usar o APT
- Estou usando uma CPU baseada em Arm
- Estou usando a plataforma IBM System Z ou Power
Estou a usar Ubuntu 22.04 ou posterior, e só preciso do .NET
Se não precisares de outros pacotes Microsoft, como powershell, mdatp ou mssql, instala-.NET através do feed do Ubuntu. Para obter mais informações, consulte as seguintes páginas:
- Instala .NET no Ubuntu 25.10.
- Instale .NET no Ubuntu 25.04.
- Instala .NET no Ubuntu 24.04.
- Instalar .NET no Ubuntu 22.04.
Importante
Se estiveres a usar .NET SDK 8 e Ubuntu 22.04, percebe que as versões do SDK oferecidas pela Canonical estão sempre na banda de funcionalidades .1xx. Se pretender usar uma versão mais recente da faixa de funcionalidades, utilize o feed da Microsoft para instalar o SDK. Certifica-te de rever a informação no artigo sobre confusões de pacotes .NET no Linux para perceberes as implicações de alternar entre feeds de repositório.
Se vais instalar o repositório Microsoft para usar outros pacotes Microsoft, como powershell, mdatp ou mssql, precisas de despriorizar os pacotes de .NET fornecidos pelo repositório Microsoft. Para instruções sobre como despriorizar os pacotes, veja A minha distribuição Linux fornece .NET pacotes, e quero usá-los.
Estou usando uma versão do Ubuntu anterior à 22.04
Use as instruções na secção específica de versão do Install .NET SDK ou .NET Runtime no Ubuntu.
Consulte a secção Distribuições suportadas para mais informações sobre que versões de .NET são suportadas para a sua versão do Ubuntu. Se estiver a instalar uma versão que não é suportada, consulte Registar o repositório de pacotes da Microsoft.
Estou usando outros pacotes da Microsoft, como powershell, mdatpou mssql
Se a sua versão Ubuntu suporta .NET através de feeds Ubuntu, deve decidir qual feed deve instalar .NET. A secção Distribuições suportadas fornece uma tabela que lista quais as versões de .NET disponíveis nos feeds de pacotes.
Se quiseres obter os pacotes .NET a partir de um feed Ubuntu, precisas de despriorizar os pacotes .NET fornecidos pelo repositório Microsoft. Para instruções sobre como despriorizar os pacotes, veja A minha distribuição Linux fornece .NET pacotes, e quero usá-los.
Quero criar uma aplicação .NET
Use as mesmas fontes de pacote para o SDK que utilizas para o ambiente de execução. Recomenda-se que instale o .NET através de um feed Ubuntu. Se, no entanto, quiseres instalar .NET de outra fonte (por exemplo, o repositório de pacotes Microsoft para aceder a bandas de funcionalidades de SDK superiores), deves desinstalar .NET, configurar o teu gestor de pacotes para ignorar .NET pacotes do feed do Ubuntu e reinstalá-lo a partir da outra fonte.
Veja as outras sugestões na secção Decida como instalar .NET.
Quero correr uma aplicação .NET num contentor, cloud ou cenário de integração contínua
Se a tua versão do Ubuntu fornecer a versão .NET que precisas, instala-a a partir de um feed do Ubuntu. Caso contrário, regista o repositório de pacotes Microsoft e instala .NET a partir desse repositório. Analise as informações na seção Distribuições suportadas .
Se a versão de .NET que queres não estiver disponível, tenta usar o script dotnet-install .
A minha distribuição Ubuntu não inclui a versão .NET que quero, ou então preciso de uma versão .NET fora de suporte
Recomendamos que você use o APT e o repositório de pacotes da Microsoft. Para obter mais informações, consulte a seção Registrar e instalar com o repositório de pacotes da Microsoft.
Quero instalar uma versão de pré-visualização
Use uma das seguintes formas de instalar .NET:
Não quero usar o APT
Se você quiser uma instalação automatizada, use o script de instalação do Linux.
Se quiser controlo total sobre a experiência de instalação do .NET, descarregue um tarball e instale manualmente o .NET. Para obter mais informações, consulte Instalação manual.
Estou usando uma CPU baseada em Arm
Se a sua versão do Ubuntu fornecer a versão .NET que precisa, instale-a a partir do feed incorporado. Analise as informações na seção Distribuições suportadas .
Se a versão de .NET que queres não estiver disponível, tenta usar uma das seguintes formas de instalar .NET:
Estou usando a plataforma IBM System Z ou Power
A partir do .NET 8 no Ubuntu 22.04, a Canonical suporta .NET para as plataformas IBM System Z e Power. Este suporte continuará em todas as versões .NET daqui para a frente.
Instala o .NET através do feed Ubuntu incorporado. Para obter mais informações, consulte a seguinte página:
Registrar um repositório de pacotes
Dependendo da sua versão do Ubuntu, você pode precisar registrar os backports do Ubuntu ou o repositório de pacotes da Microsoft.
Importante
Certifique-se de considerar a informação na secção Decidir como instalar .NET.
- Regista o repositório de pacotes Ubuntu .NET backports
- Registrar o repositório de pacotes da Microsoft
Repositório de pacotes de backports Ubuntu .NET
O repositório de pacotes de backports do Ubuntu .NET fornece versões de .NET que não estão disponíveis no feed Ubuntu incorporado. A Canonical mantém os pacotes contidos neste repositório de pacotes e fornece suporte de melhor esforço, que não se estende além do tempo de vida de suporte fornecido pela Microsoft ou do período de suporte da versão específica do Ubuntu.
Este repositório de pacotes é suportado no Ubuntu 24.04 LTS (Noble Numbat) e Ubuntu 22.04 LTS (Jammy Jellyfish). A secção Distribuições suportadas fornece uma tabela que lista quais as versões de .NET disponíveis no feed do pacote. Para mais informações, consulte Ubuntu .NET backports package repository.
Para adicionar este repositório de pacotes, execute os seguintes comandos:
sudo add-apt-repository ppa:dotnet/backports
sudo apt update
Registrar o repositório de pacotes de backports do Ubuntu .NET
Abra um terminal e execute o seguinte comando:
sudo add-apt-repository ppa:dotnet/backports
Observação
O repositório de pacotes Ubuntu .NET backports é compatível com o feed nativo do Ubuntu. Portanto, não precisa de configurar o seu gestor de pacotes para ignorar os pacotes .NET no feed incorporado do Ubuntu.
Desregistar o repositório de backports do Ubuntu .NET
Se já não quiser utilizar pacotes do repositório de backports do Ubuntu .NET, pode anular o registo. Abra um terminal e execute o seguinte comando:
sudo add-apt-repository --remove ppa:dotnet/backports
Importante
Desregistar o repositório de backports do Ubuntu .NET não desinstala nenhum pacote.
comando add-apt-repository não encontrado
O add-apt-repository(1) utilitário é pré-instalado na maioria das instalações do Ubuntu.
Se você receber uma mensagem de erro informando que o add-apt-repository comando não foi encontrado, será necessário instalar o software-properties-common pacote, que fornece esse comando. Abra um terminal e execute os seguintes comandos:
sudo apt update
sudo apt install software-properties-common
Registrar o repositório de pacotes da Microsoft
Importante
Isso só se aplica às versões do Ubuntu anteriores à 24.04. A partir do Ubuntu 24.04, a Microsoft não publica mais pacotes no repositório de pacotes da Microsoft. Use a tabela de distribuições suportada para determinar a melhor forma de instalar .NET.
O repositório de pacotes Microsoft contém todas as versões de .NET que foram anteriormente, ou são atualmente, suportadas pela sua versão do Ubuntu. Se a tua versão do Ubuntu fornecer pacotes .NET, terás de despriorizar os pacotes do Ubuntu e usar o repositório Microsoft. Para instruções sobre como despriorizar os pacotes, veja Preciso de uma versão do .NET que não seja fornecida pela minha distribuição Linux.
Importante
O repositório de pacotes Microsoft só suporta .NET pacotes que visam a arquitetura x64. Outras arquiteturas, como Arm, devem instalar o .NET por outros métodos, como utilizando o script de instalação ou por instalação manual.
As versões de visualização não estão disponíveis no repositório de pacotes da Microsoft. Para obter mais informações, consulte Instalar versões de pré-visualização.
Atenção
Recomendamos que utilize apenas um repositório para gerir todas as suas instalações .NET. Se já instalaste o .NET com o repositório Ubuntu, tens de limpar o sistema dos pacotes .NET e configurar o APT para ignorar os feeds do Ubuntu. Para mais informações sobre como fazer isto, veja Preciso de uma versão do .NET que não seja fornecida pela minha distribuição Linux.
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 de pacotes Microsoft à sua lista de chaves de confiança e adicionar o repositório de pacotes.
Abra um terminal e execute os seguintes comandos:
# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release
# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb
# Clean up
rm packages-microsoft-prod.deb
# Update packages
sudo apt update
Sugestão
O script anterior foi escrito para o Ubuntu e pode não funcionar se você estiver usando uma distribuição derivada, como o Linux Mint. É provável que as $ID variáveis e $VERSION_ID não recebam os valores corretos, tornando o URI do wget comando inválido. O $ID corresponde à distribuição (por exemplo, ubuntu), enquanto $VERSION_ID mapeia para a versão específica do Ubuntu para a qual você deseja obter pacotes, como 22.04 ou 23.10.
Por exemplo, no Ubuntu 22.04 $ID seria ubuntu e $VERSION_ID seria 22.04. O URL teria a seguinte aparência: https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb.
Você pode usar um navegador da web e aceder a https://packages.microsoft.com/config/ubuntu/ para ver quais versões do Ubuntu estão disponíveis para usar como valor $repo_version.
Instalar, desinstalar ou atualizar .NET
As secções seguintes descrevem como gerir o .NET através do gestor de pacotes.
Instalar .NET
Instala .NET através do gestor de pacotes com o comando sudo apt install <package-name>. Substitui <package-name> pelo nome do pacote .NET que queres instalar. Por exemplo, para instalar .NET SDK 10.0, use o comando sudo apt install dotnet-sdk-10.0. A tabela seguinte lista os pacotes de .NET atualmente suportados (que podem variar consoante a sua versão do Ubuntu):
| Produto | Tipo | Embalagem | |
|---|---|---|---|
| 10.0 | ASP.NET Core | Tempo de execução | aspnetcore-runtime-10.0 |
| 10.0 | .NET | Tempo de execução | dotnet-runtime-10.0 |
| 10.0 | .NET | SDK | dotnet-sdk-10.0 |
| 9.0 | ASP.NET Core | Tempo de execução | aspnetcore-runtime-9.0 |
| 9.0 | .NET | Tempo de execução | dotnet-runtime-9.0 |
| 9.0 | .NET | SDK | dotnet-sdk-9.0 |
| 8.0 | ASP.NET Core | Tempo de execução | aspnetcore-runtime-8.0 |
| 8.0 | .NET | Tempo de execução | dotnet-runtime-8.0 |
| 8.0 | .NET | SDK | dotnet-sdk-8.0 |
Sugestão
Se não estiver a criar aplicações .NET, instale o runtime ASP.NET Core, pois inclui o runtime .NET e também suporta aplicações ASP.NET Core.
Algumas variáveis do ambiente afetam a forma como o .NET é executado depois de instalado. Para mais informações, consulte .NET SDK e variáveis de ambiente CLI.
Desinstalar .NET
Se instalaste .NET através de um gestor de pacotes, desinstala da mesma forma com o comando apt-get remove:
sudo apt-get remove dotnet-sdk-6.0
Para mais informações, veja Desinstalar .NET.
Atualizar .NET
Se instalares .NET através de um gestor de pacotes, podes atualizar o pacote com o comando apt upgrade. Por exemplo, os seguintes comandos atualizam o dotnet-sdk-10.0 pacote com a versão mais recente:
sudo apt update
sudo apt upgrade dotnet-sdk-10.0
Sugestão
Se atualizou a sua distribuição Linux desde que instalou o .NET, pode ser necessário reconfigurar o repositório de pacotes da Microsoft. Execute as instruções de instalação da sua versão atual de distribuição para atualizar para o repositório de pacotes apropriado para atualizações .NET.
Gerir versões de pré-visualização
As secções seguintes descrevem como instalar e desinstalar versões pré-visualizadas do .NET.
Instalar versões de pré-visualização
As versões candidatas de pré-visualização e lançamento do .NET não estão disponíveis em repositórios de pacotes. Pode instalar pré-visualizações e lançar candidatos ao .NET de uma das seguintes formas:
Remover versões de pré-visualização
Ao usar um gestor de pacotes para gerir a instalação do .NET, pode deparar-se com um conflito se já tiver instalado uma versão de pré-visualização. O gestor de pacotes pode interpretar a versão não pré-visualizada 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 mais informações sobre desinstalar .NET, veja Como remover o tempo de execução .NET e o SDK.
Solução de problemas
A partir do Ubuntu 22.04, pode deparar-se com uma situação em que parece que só existe uma parte do .NET disponível. Por exemplo, o utilizador instalou o ambiente de execução e o SDK, mas ao executar dotnet --info, apenas o ambiente de execução é listado. Essa situação pode estar relacionada ao uso de duas fontes de pacotes diferentes. Os feeds de pacotes integrados do Ubuntu 22.04 e Ubuntu 22.10 incluem algumas versões do .NET, mas não todas, e também pode ter instalado o .NET a partir dos feeds da Microsoft. Para mais informações sobre como resolver este problema, consulte Resolução de erros .NET relacionados a ficheiros ausentes no Linux.
Problemas de APT
Esta secção fornece informações sobre erros comuns que pode ter ao usar APT para instalar .NET.
Não é possível encontrar o pacote
Importante
Usar um gestor de pacotes para instalar .NET do feed de pacotes Microsoft só suporta a arquitetura x64. Outras arquiteturas, como o Arm64, não são suportadas pelo feed de pacotes da Microsoft. Usa os feeds do Ubuntu ou instala manualmente o .NET. Tenha cuidado com problemas de mistura de embalagens ao usar vários feeds. Para mais informações, saiba mais sobre confusão de pacotes .NET no Linux.
Para mais informações sobre a instalação de .NET sem gestor de pacotes, consulte um dos seguintes artigos:
Não foi possível localizar \ Alguns pacotes não puderam ser instalados
Observação
Esta informação só se aplica quando o .NET é instalado a partir do feed de pacotes da Microsoft.
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}
Isto representa o pacote .NET que estás a instalar, comoaspnetcore-runtime-8.0. Isso é usado no comando a seguirsudo 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
Depois, 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 Ubuntu 23.10 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 do Ubuntu anterior à 23.10, 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 obter dados
Ao instalar o pacote .NET, pode ver um erro semelhante ao Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Este erro pode significar que o feed de pacotes para .NET está a ser atualizado com versões mais recentes dos pacotes, e que deves 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 instalar manualmente o .NET ou publicar uma aplicação autónoma, deve instalar estas dependências para executar a sua aplicação:
- Certificados CA
- libc6
- libgcc1 (para 16.x e 18.x)
- libgcc-s1 (para 20.x ou posterior)
- libgssapi-krb5-2
- libicu55 (para 16.x)
- libicu60 (para 18.x)
- libicu66 (para 20.x)
- libicu70 (para 22.04)
- libicu72 (para 23.10)
- libicu74 (para 24.04)
- libicu76 (para 25.04 ou posterior)
- libssl1.0.0 (para 16.x)
- libssl1.1 (para 18.x, 20.x)
- libssl3 (para 22.x ou posterior)
- libstdc++6
- tzdata
- Zlib1g
As dependências podem ser instaladas com o apt install comando. O trecho a seguir demonstra a instalação da zlib1g biblioteca:
sudo apt install zlib1g