Compartilhar via


Instalar o SDK do .NET ou o .NET Runtime no SLES

.NET tem suporte no SLES (SUSE Enterprise Linux). Este artigo descreve como instalar .NET no SLES.

Instale o SDK (que inclui o runtime) se você quiser desenvolver .NET aplicativos. Ou, se você precisar apenas executar aplicativos, instale o runtime. Se você estiver instalando o Runtime, sugerimos que instale o ASP.NET Core Runtime pois ele inclui runtimes .NET e 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, consulte Como verificar se o .NET já está instalado.

Distribuições com suporte

A tabela a seguir é uma lista de versões de .NET com suporte no momento no SLES. Essas versões permanecem com suporte até que a versão do .NET atinja o fim do suporte ou a versão do SLES não seja mais compatível.

SLES .NET
16.0 10, 9, 8
15.7 10, 9, 8
15,6 10, 9, 8

As seguintes versões de .NET ❌ não têm mais suporte:

  • .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

Versões de prévia e candidato a lançamento do .NET não estão disponíveis em repositórios de pacotes. Você pode instalar versões prévias e lançar candidatos de .NET de uma das seguintes maneiras:

Remover versões prévias

Ao usar um gerenciador de pacotes para gerenciar a instalação de .NET, você poderá encontrar um conflito se já tiver instalado uma versão prévia. O gerenciador de pacotes pode interpretar a versão 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 sobre como desinstalar .NET, consulte How to remove the .NET Runtime and SDK.

SLES 16

Antes de instalar .NET, execute os comandos a seguir para adicionar a chave de assinatura do pacote da Microsoft à sua lista de chaves confiáveis e adicionar o repositório de pacotes da Microsoft. Abra um terminal e execute os seguintes comandos:

sudo rpm -Uvh https://packages.microsoft.com/config/sles/16/packages-microsoft-prod.rpm

Importante

O feed de pacotes Microsoft publica apenas pacotes x64 e Arm64 para .NET 10. Se você precisar instalar .NET em outras arquiteturas, como Arm32, não use um gerenciador de pacotes com o feed de pacotes da Microsoft. Para obter mais informações sobre como instalar .NET sem um gerenciador de pacotes, consulte um dos seguintes artigos:

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com .NET. Se você instalar o SDK do .NET, não precisará instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo zypper install dotnet-sdk-10.0

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

Instalar o runtime

O ASP.NET Core Runtime permite que você execute aplicativos que foram feitos com .NET que não forneceram o runtime. O comando a seguir instala o ASP.NET Core Runtime, que é o runtime mais compatível para .NET. No terminal, execute o seguinte comando:

sudo zypper install aspnetcore-runtime-10.0

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

sudo zypper install dotnet-runtime-10.0

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

SLES 15

Antes de instalar .NET, execute os comandos a seguir para adicionar a chave de assinatura do pacote da Microsoft à sua lista de chaves confiáveis e adicionar o repositório de pacotes da Microsoft. Abra um terminal e execute os seguintes comandos:

sudo rpm -Uvh https://packages.microsoft.com/config/sles/15/packages-microsoft-prod.rpm

Atualmente, o pacote de instalação do repositório Microsoft SLES 15 instala o arquivo microsoft-prod.repo no diretório errado, impedindo que o zypper localize os pacotes de .NET. Para corrigir esse problema, crie um link simbólico (symlink) no diretório correto.

sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod.repo

Importante

O feed de pacotes Microsoft publica apenas pacotes x64 e Arm64 para .NET 10. Se você precisar instalar .NET em outras arquiteturas, como Arm32, não use um gerenciador de pacotes com o feed de pacotes da Microsoft. Para obter mais informações sobre como instalar .NET sem um gerenciador de pacotes, consulte um dos seguintes artigos:

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com .NET. Se você instalar o SDK do .NET, não precisará instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo zypper install dotnet-sdk-10.0

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

Instalar o runtime

O ASP.NET Core Runtime permite que você execute aplicativos que foram feitos com .NET que não forneceram o runtime. O comando a seguir instala o ASP.NET Core Runtime, que é o runtime mais compatível para .NET. No terminal, execute o seguinte comando:

sudo zypper install aspnetcore-runtime-10.0

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

sudo zypper install dotnet-runtime-10.0

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

Como instalar outras versões

Todas as versões de .NET estão disponíveis para download em https://dotnet.microsoft.com/download/dotnet, mas exigem 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 .NET produto a ser instalado. As opções válidas são:

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

    • sdk(disponível apenas para o produto dotnet)
    • runtime
  • versão
    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, consulte Instalar .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
  • Instale 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 há um SDK ASP.NET Core. Os componentes do SDK para ASP.NET Core sã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 compatíveis com .NET, consulte .NET dependências e requisitos.

Solucionar problemas do gerenciador de pacotes

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

Não é possível localizar o pacote

Importante

O feed de pacotes Microsoft publica pacotes para arquiteturas diferentes, dependendo da versão .NET:

  • .NET 10: pacotes x64 e Arm64 somente.
  • .NET 9: somente pacotes x64.
  • .NET 8: somente pacotes x64.

Se você precisar instalar .NET em outras arquiteturas, como Arm32, não use um gerenciador de pacotes com o feed de pacotes da Microsoft. Para obter mais informações sobre como instalar .NET sem um gerenciador de pacotes, consulte um dos seguintes artigos:

Falha na busca

Ao instalar o pacote .NET, você poderá ver um erro semelhante a signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. De um modo geral, esse erro significa 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 de pacotes não deve ficar indisponível por mais de duas horas. Se você receber esse erro continuamente por mais de duas horas, 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. No entanto, se você instalar manualmente .NET ou publicar um aplicativo autossuficiente, verifique se essas bibliotecas estão instaladas:

  • krb5
  • libicu
  • libopenssl3 (OpenSSL 3.x)

Importante

A partir do .NET 8, .NET pacotes para SLES dependem do OpenSSL 3.x (libopenssl3). Essa alteração também se aplica aos pacotes .NET 6 e .NET 7. Para obter mais informações, consulte .NET pacotes para openSUSE e SLES dependem do OpenSSL 3.x.

As dependências podem ser instaladas usando o comando zypper install. O snippet a seguir demonstra a instalação da biblioteca krb5:

sudo zypper install krb5

Para obter mais informações sobre as dependências, confira Aplicativos autossuficientes do Linux.

Próximas etapas