수동으로 .NET SDK 또는 .NET 런타임 설치

.NET은 Linux에서 지원되며 이 문서에서는 설치 스크립트를 사용하거나 이진 파일을 추출하여 Linux에 .NET을 설치하는 방법을 설명합니다. 기본 제공 패키지 관리자를 지원하는 배포 목록은 Linux에서 .NET 설치를 참조하세요.

Snap을 사용하여 .NET을 설치할 수도 있습니다. 자세한 내용은 Snap을 사용하여 .NET SDK 또는 .NET 런타임 설치를 참조하세요.

.NET 앱을 개발하려는 경우 SDK(런타임 포함)를 설치합니다. 또는 앱을 실행하기만 하려면 런타임을 설치합니다. 런타임을 설치하려면 .NET 런타임과 ASP.NET Core 런타임이 모두 포함된 ASP.NET Core 런타임 을 설치하는 것이 좋습니다.

SDK 또는 런타임을 이미 설치한 경우 dotnet --list-sdksdotnet --list-runtimes 명령을 사용하여 설치된 버전을 확인합니다. 자세한 내용은 .NET이 이미 설치되어 있는지 확인하는 방법을 참조하세요.

.NET 릴리스

다음 표에는 .NET 및 .NET Core 릴리스가 나열되어 있습니다.

✔️ 지원됨 ❌ 지원 안 됨
6(LTS) 3.0
5 2.2
3.1(LTS) 2.1
2.0
1.1
1.0

.NET 릴리스의 수명 주기에 대한 자세한 내용은 .NET 및 .NET Core 지원 정책을 참조하세요.

종속성

.NET을 설치할 때 특정 종속성이 설치되지 않을 수 있습니다(예: 수동으로 설치하는 경우). 다음 목록에서는 Microsoft에서 지원하며, 설치해야 할 수 있는 종속성이 있는 Linux 배포판에 대해 자세히 설명합니다. 자세한 내용은 배포 페이지를 확인하세요.

종속성에 대한 일반적인 내용은 Self-contained Linux apps(자체 포함 Linux 앱)를 참조하세요.

RPM 종속성

자신의 배포판이 위에 나열되지 않았으며 RPM 기반인 경우 다음 종속성이 필요할 수 있습니다.

  • krb5-libs
  • libicu
  • openssl-libs

대상 런타임 환경의 OpenSSL 버전이 1.1 이상인 경우, compat-openssl10 을 설치해야 합니다.

DEB 종속성

자신의 배포판이 위에 나열되지 않았으며 Debian 기반인 경우 다음 종속성이 필요할 수 있습니다.

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

일반 종속성

System.Drawing.Common 어셈블리를 사용하는 .NET 앱의 경우 다음과 같은 종속성도 필요합니다.

스크립팅된 설치

dotnet-install 스크립트는 자동화와 SDK런타임 의 관리자 설치가 아닌 일반 설치를 수행하는 데 사용됩니다. https://dot.net/v1/dotnet-install.sh에서 스크립트를 다운로드할 수 있습니다.

중요

스크립트를 실행하려면 Bash가 필요합니다.

스크립트는 기본적으로 최신 SDK LTS(장기 지원) 버전(.NET 6)을 설치합니다. (LTS) 버전이 아닐 수 있는 현재 릴리스를 설치하려면 -c Current 매개 변수를 사용합니다.

./dotnet-install.sh -c Current

SDK 대신 .NET 런타임을 설치하려면 --runtime 매개 변수를 사용합니다.

./dotnet-install.sh -c Current --runtime aspnetcore

특정 버전을 지정하도록 -c 매개 변수를 변경하여 특정 버전을 설치할 수 있습니다. 다음 명령은 .NET SDK 6.0을 설치합니다.

./dotnet-install.sh -c 6.0

자세한 내용은 dotnet-install 스크립트 참조를 참조하세요.

수동 설치

패키지 관리자의 대안으로, SDK와 런타임을 다운로드하여 수동으로 설치할 수 있습니다. 수동 설치는 일반적으로 연속 통합 테스트의 일부로서 사용되거나 지원되지 않는 Linux 배포판에서 사용됩니다. 개발자 또는 사용자의 경우 패키지 관리자를 사용하는 것이 좋습니다.

먼저 다음 사이트 중 한 곳에서 SDK 또는 런타임의 이진 릴리스를 다운로드합니다. .NET SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다.

그런 다음 다운로드한 파일의 압축을 풀고 export 명령을 사용하여 압축을 푼 폴더의 위치로 DOTNET_ROOT를 설정한 다음 .NET이 PATH에 있는지 확인합니다. 이렇게 하면 터미널에서 .NET CLI 명령을 사용할 수 있습니다.

또는 .NET 이진 파일을 다운로드한 후 파일이 저장된 디렉터리에서 다음 명령을 실행하여 런타임을 추출할 수 있습니다. 이렇게 하면 터미널에서 .NET CLI 명령을 사용할 수 있고 필요한 환경 변수가 설정됩니다. DOTNET_FILE 값을 다운로드된 이진 파일의 이름으로 변경해야 합니다.

DOTNET_FILE=dotnet-sdk-6.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

이전 export 명령은 명령이 실행된 터미널 세션에서만 .NET CLI 명령을 사용할 수 있도록 만듭니다.

셸 프로필을 편집하여 명령을 영구적으로 추가할 수 있습니다. 몇 가지 Linux용 셸이 있으며, 각각 다른 프로필을 갖습니다. 예를 들어:

  • Bash 셸: ~/.bash_profile, ~/.bashrc
  • Korn 셸: ~/.kshrc 또는 .profile
  • Z 셸: ~/.zshrc 또는 .zprofile

셸의 적절한 소스 파일을 편집하고 기존 PATH 문의 끝에 :$HOME/.dotnet을 추가합니다. 포함된 PATH 문이 없다면 export PATH=$PATH:$HOME/.dotnet을 사용하여 새 라인을 추가합니다.

또한, 파일 끝에 export DOTNET_ROOT=$HOME/.dotnet을 추가합니다.

이 방법을 사용하면 서로 다른 버전을 별도의 위치에 설치하고 애플리케이션에서 사용할 수 있도록 명시적으로 선택할 수 있습니다.

다음 단계