Instalar o .NET no Linux usando um script de instalação ou extraindo binários

Este artigo demonstra como instalar o SDK ou o Runtime do .NET no Linux usando o script de instalação ou extraindo os binários. Para obter uma lista de distribuições que dê suporte ao gerenciador de pacotes interno, confira Instalar o .NET no Linux.

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.

Versões do .NET

Há dois tipos de versões com suporte, versões LTS (Suporte de Longo Prazo) ou STS (Suporte com Prazo Padrão). A qualidade de todas as versões é a mesma. A única diferença é a duração do suporte. As versões LTS recebem suporte e patches gratuitos por 3 anos. As versões STS recebem suporte e patches gratuitos por 18 meses. Para obter mais informações, consulte a Política de Suporte do .NET.

A seguinte tabela lista o status de suporte de cada versão do .NET (e do .NET Core):

✔️ Com suporte ❌ Sem suporte
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3,0
2,2
2.1
2,0
1,1
1.0

Dependências

É possível que, ao instalar o .NET, dependências específicas não sejam instaladas, como durante a instalação manual. A lista a seguir fornece detalhes sobre as distribuições do Linux com suporte da Microsoft e com dependências que talvez você precise instalar. Verifique a página de distribuição para obter mais informações:

Para obter informações genéricas sobre as dependências, confira Aplicativos autônomos do Linux.

Dependências de RPM

Se a distribuição não tiver sido listada anteriormente e for baseada em RPM, talvez você precise das seguintes dependências:

  • krb5-libs
  • libicu
  • openssl-libs

Se a versão do OpenSSL do ambiente de runtime de destino for 1.1 ou mais recente, instale compat-openssl10.

Dependências de DEB

Se a distribuição não houver sido listada anteriormente e for baseada em Debian, talvez você precise das seguintes dependências:

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu67
  • libssl1.1
  • libstdc++6
  • zlib1g

Dependências comuns

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.

Normalmente, é possível instalar uma versão recente do libgdiplusadicionando o repositório Mono ao sistema.

Instalação com script

Os scripts dotnet-install são usados para instalações de automação e não administrativas do SDK e do Runtime. É possível baixar o script em https://dot.net/v1/dotnet-install.sh. Quando o .NET é instalado dessa forma, você deverá instalar as dependências exigidas pela distribuição do Linux. Confira os links no artigo Instalar o .NET no Linux para sua distribuição específica do Linux.

Importante

O Bash é necessário para executar o script.

É possível baixar o script com wget:

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh

Antes de executar esse script, certifique-se de conceder permissão para que esse script seja executado como um executável:

chmod +x ./dotnet-install.sh

O script usa como padrão a instalação da versão mais recente do SDK do suporte a longo prazo (LTS), que é o .NET 8. Para instalar a versão mais recente, que pode não ser uma versão LTS, use o parâmetro --version latest.

./dotnet-install.sh --version latest

Para instalar o .NET Runtime em vez do SDK, use o parâmetro --runtime.

./dotnet-install.sh --version latest --runtime aspnetcore

Você pode instalar uma versão principal específica com o parâmetro --channel a fim de indicar a versão desejada. O comando a seguir instala o SDK do .NET 8.0.

./dotnet-install.sh --channel 8.0

Para obter mais informações, confira a referência de scripts dotnet-install.

Para habilitar o .NET na linha de comando, confira Definir variáveis de ambiente em todo o sistema.

Instalação manual

Como alternativa aos gerenciadores de pacotes, você pode baixar e instalar manualmente o SDK e o runtime. A instalação manual é usada com frequência como parte do teste de integração contínua ou em uma distribuição Linux sem suporte. Para desenvolvedores ou usuários, é melhor usar um gerenciador de pacotes.

Baixe uma versão binária do SDK ou do runtime em um dos sites a seguir. O SDK do .NET inclui o runtime correspondente:

Extraia o arquivo baixado e use o comando export para definir DOTNET_ROOT como o local da pasta extraída e certifique-se de que o .NET esteja em PATH. A exportação de DOTNET_ROOT disponibiliza os comandos da CLI do .NET no terminal. Para saber mais sobre as variáveis de ambiente do .NET, confira Variáveis de ambiente da CLI e do SDK do .NET.

Diferentes versões do .NET podem ser extraídas para a mesma pasta, que coexistem lado a lado.

Exemplo

Os comandos a seguir usam o Bash para definir a variável de ambiente DOTNET_ROOT para o diretório de trabalho atual seguida de .dotnet. Se não existir, o diretório será criado. A variável de ambiente DOTNET_FILE é o nome do arquivo da versão binária do .NET que você quer instalar. Esse arquivo é extraído para o diretório DOTNET_ROOT. O diretório DOTNET_ROOT e seu subdiretório tools são adicionados à variável de ambiente PATH.

Importante

Se você executar esses comandos, lembre-se de alterar o valor DOTNET_FILE para o nome do binário do .NET que você baixou.

DOTNET_FILE=dotnet-sdk-8.0.100-linux-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

Você pode instalar mais de uma versão do .NET na mesma pasta.

Você também pode instalar o .NET no diretório inicial identificado pela variável HOME ou caminho ~:

export DOTNET_ROOT=$HOME/.dotnet

Verificar binários baixados

Depois de baixar um instalador, verifique se o arquivo não foi alterado ou corrompido. Você pode obter a soma de verificação no computador e depois compará-la com o que foi relatado no site de download.

Quando você baixa um instalador ou um binário de uma página de download oficial, a soma de verificação do arquivo é exibida. Selecione o botão Copiar a fim de copiar o valor de soma de verificação para a área de transferência.

The .NET download page with checksum

Use o comando sha512sum para imprimir a soma de verificação do arquivo que você baixou. Por exemplo, o comando a seguir relata a soma de verificação do arquivo dotnet-sdk-8.0.100-linux-x64.tar.gz:

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

Compare a soma de verificação com o valor fornecido pelo site de download.

Importante

Embora um arquivo Linux seja mostrado nesses exemplos, essas informações se aplicam igualmente ao macOS.

Usar um arquivo de soma de verificação para validar

As notas sobre a versão do .NET contêm um link para um arquivo de soma de verificação que você pode usar para validar o arquivo baixado. As seguintes etapas descrevem como baixar o arquivo de soma de verificação e validar um binário de instalação do .NET:

  1. A página de notas sobre a versão do .NET 8 no GitHub em https://github.com/dotnet/core/tree/main/release-notes/8.0 contém uma seção chamada Versões. A tabela nessa seção está vinculada aos arquivos de soma de verificação e downloads de cada versão do .NET 8:

    The github release notes version table for .NET

  2. Selecione o link da versão do .NET que você baixou. A seção anterior usou o SDK do .NET 8.0.100, que está na versão 8.0.0 do .NET.

  3. Na página de lançamento, você pode ver a versão do Runtime do .NET e do SDK do .NET e um link para o arquivo de soma de verificação:

    The download table with checksums for .NET

  4. Copie o link do arquivo de soma de verificação.

  5. Use o script a seguir, mas substitua o link para baixar o arquivo de soma de verificação apropriado:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Com o arquivo de soma de verificação e o arquivo de versão do .NET baixado para o mesmo diretório, use o comando sha512sum -c {file} --ignore-missing para validar o arquivo baixado.

    Quando a validação for aprovada, você verá o arquivo impresso com o status OK:

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    Se você vir o arquivo marcado como COM FALHA, o arquivo baixado não será válido e não deverá ser usado.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Definir variáveis de ambiente em todo o sistema

Se você usou o script de instalação anterior, as variáveis definidas se aplicam somente à sessão do terminal atual. Adicione-as ao perfil de shell. Há vários shells diferentes disponíveis para Linux, cada qual com um perfil distinto. Por exemplo:

  • Bash Shell: ~/.bash_profile ou ~/.bashrc
  • Korn Shell: ~/.kshrc ou .profile
  • Z Shell: ~/.zshrc ou .zprofile

Defina as duas variáveis de ambiente a seguir no perfil de shell:

  • DOTNET_ROOT

    Essa variável é definida como a pasta na qual o .NET foi instalado, como $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Essa variável deve incluir tanto a pasta DOTNET_ROOT quanto a pasta DOTNET_ROOT/tools:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Próximas etapas