RHEL 및 CentOS 스트림에 .NET SDK 또는 .NET 런타임 설치

Important

.NET 8은 2023년 11월 14일에 릴리스되었습니다. 패키지 관리자 피드에 패키지가 표시되는 데 시간이 걸릴 수 있습니다.

.NET은 RHEL(Red Hat Enterprise Linux)에서 지원됩니다. 이 문서에서는 RHEL 및 CentOS Stream에 .NET을 설치하는 방법을 설명합니다.

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

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

Red Hat 구독 등록

RHEL의 Red Hat에서 .NET을 설치하려면 먼저 Red Hat 구독 관리자를 사용하여 등록해야 합니다. 아직 시스템에서 등록하지 않았거나 등록 여부가 확실하지 않다면 .NET용 Red Hat 제품 설명서를 참조하세요.

Important

CentOS Stream에는 적용되지 않습니다.

지원되는 배포

다음 표는 RHEL과 CentOS Stream 모두에서 현재 지원되는 .NET 릴리스 목록입니다. 이러한 버전은 .NET 버전이 지원 종료에 도달하거나 Linux 배포가 더 이상 지원되지 않을 때까지 계속 지원됩니다.

배포 .NET
RHEL 9(9.1) 8, 7, 6
RHEL 8(8.7) 8, 7, 6
RHEL 7 6
CentOS Stream 9 8, 7, 6
CentOS Stream 8 8, 7, 6

다음 .NET 버전은 ❌ 더 이상 지원되지 않습니다.

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

미리 보기 버전 설치

.NET의 미리 보기 및 릴리스 후보 버전은 패키지 리포지토리에서 사용할 수 없습니다. 다음 방법 중 하나로 .NET의 미리 보기 및 릴리스 후보를 설치할 수 있습니다.

미리 보기 버전 제거

패키지 관리자를 사용하여 .NET 설치를 관리하는 경우 미리 보기 릴리스를 이전에 설치했으면 충돌이 발생할 수 있습니다. 패키지 관리자는 미리 보기가 아닌 릴리스를 이전 버전의 .NET으로 해석할 수 있습니다. 미리 보기가 아닌 릴리스를 설치하려면 먼저 미리 보기 버전을 제거합니다. .NET 제거에 대한 자세한 내용은 .NET 런타임 및 SDK를 제거하는 방법을 참조하세요.

RHEL 9

.NET은 RHEL 9의 AppStream 리포지토리에 포함되어 있습니다.

Important

.NET 8은 2023년 11월 14일에 릴리스되었습니다. 패키지 관리자 피드에 패키지가 표시되는 데 시간이 걸릴 수 있습니다.

SDK 설치

.NET SDK를 사용하면 .NET으로 앱을 개발할 수 있습니다. .NET SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다. .NET SDK를 설치하려면 다음 명령을 실행합니다.

sudo dnf install dotnet-sdk-8.0

런타임 설치

ASP.NET Core 런타임을 사용하면 런타임을 제공하지 않는 .NET으로 만든 앱을 실행할 수 있습니다. 다음 명령은 .NET에 대해 가장 호환성이 높은 ASP.NET Core 런타임을 설치합니다. 터미널에서 다음 명령을 실행합니다.

sudo dnf install aspnetcore-runtime-8.0

ASP.NET Core 런타임 대신 ASP.NET Core 지원이 포함되지 않은 .NET 런타임을 설치할 수 있습니다. 이전 명령에서 aspnetcore-runtime-8.0dotnet-runtime-8.0으로 바꿉니다.

sudo dnf install dotnet-runtime-8.0

RHEL 8

.NET은 RHEL 8의 AppStream 리포지토리에 포함되어 있습니다.

Important

.NET 8은 2023년 11월 14일에 릴리스되었습니다. 패키지 관리자 피드에 패키지가 표시되는 데 시간이 걸릴 수 있습니다.

SDK 설치

.NET SDK를 사용하면 .NET으로 앱을 개발할 수 있습니다. .NET SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다. .NET SDK를 설치하려면 다음 명령을 실행합니다.

sudo dnf install dotnet-sdk-8.0

런타임 설치

ASP.NET Core 런타임을 사용하면 런타임을 제공하지 않는 .NET으로 만든 앱을 실행할 수 있습니다. 다음 명령은 .NET에 대해 가장 호환성이 높은 ASP.NET Core 런타임을 설치합니다. 터미널에서 다음 명령을 실행합니다.

sudo dnf install aspnetcore-runtime-8.0

ASP.NET Core 런타임 대신 ASP.NET Core 지원이 포함되지 않은 .NET 런타임을 설치할 수 있습니다. 이전 명령에서 aspnetcore-runtime-8.0dotnet-runtime-8.0으로 바꿉니다.

sudo dnf install dotnet-runtime-8.0

RHEL 7 ❌ .NET 8

.NET 8은 RHEL 7과 호환되지 않으며 작동하지 않습니다.

RHEL 7 ❌ .NET 7

.NET 7은 RHEL 7에서 공식적으로 지원되지 않습니다. .NET 7을 설치하려면 설치 스크립트를 사용하거나 이진 파일을 추출하여 Linux에 .NET 설치를 참조하세요.

RHEL 7 ✔️ .NET 6

다음 명령은 scl-utils 패키지를 설치합니다.

sudo yum install scl-utils

SDK 설치

.NET SDK를 사용하면 .NET으로 앱을 개발할 수 있습니다. .NET SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다. .NET SDK를 설치하려면 다음 명령을 실행합니다.

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60 -y
scl enable rh-dotnet60 bash

다른 프로그램에 영향을 줄 수 있으므로 Red Hat은 rh-dotnet60을 영구적으로 사용 설정하는 것을 권장하지 않습니다. rh-dotnet을 영구적으로 사용 설정하려면 다음 줄을 ~/.bashrc 파일에 추가합니다.

source scl_source enable rh-dotnet60

런타임 설치

.NET 런타임을 사용하면 런타임을 포함하지 않았던 .NET으로 만든 앱을 실행할 수 있습니다. 아래 명령은 ASP.NET Core 런타임을 설치하며 이는 .NET Core에 대해 가장 호환성이 높은 런타임입니다. 터미널에서 다음 명령을 실행합니다.

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60-aspnetcore-runtime-6.0 -y
scl enable rh-dotnet60 bash

다른 프로그램에 영향을 줄 수 있으므로 Red Hat은 rh-dotnet60을 영구적으로 사용 설정하는 것을 권장하지 않습니다. rh-dotnet60을 영구적으로 사용 설정하려면 다음 줄을 ~/.bashrc 파일에 추가합니다.

source scl_source enable rh-dotnet60

ASP.NET Core 런타임의 대안으로, ASP.NET Core 지원이 포함되지 않은 .NET 런타임을 설치할 수 있습니다. 이전 명령에서 rh-dotnet60-aspnetcore-runtime-6.0rh-dotnet60-dotnet-runtime-6.0으로 바꿉니다.

CentOS Stream 9 ✔️

.NET은 CentOS Stream 9용 AppStream 리포지토리에 포함됩니다.

SDK 설치

.NET SDK를 사용하면 .NET으로 앱을 개발할 수 있습니다. .NET SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다. .NET SDK를 설치하려면 다음 명령을 실행합니다.

sudo dnf install dotnet-sdk-8.0

런타임 설치

ASP.NET Core 런타임을 사용하면 런타임을 제공하지 않는 .NET으로 만든 앱을 실행할 수 있습니다. 다음 명령은 .NET에 대해 가장 호환성이 높은 ASP.NET Core 런타임을 설치합니다. 터미널에서 다음 명령을 실행합니다.

sudo dnf install aspnetcore-runtime-8.0

ASP.NET Core 런타임 대신 ASP.NET Core 지원이 포함되지 않은 .NET 런타임을 설치할 수 있습니다. 이전 명령에서 aspnetcore-runtime-8.0dotnet-runtime-8.0으로 바꿉니다.

sudo dnf install dotnet-runtime-8.0

CentOS Stream 8 ✔️

Microsoft 리포지토리를 사용하여 .NET을 설치합니다.

sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-8.0

종속성

패키지 관리자를 설치할 때 이러한 라이브러리가 설치됩니다. 그러나 .NET을 수동으로 설치하거나 자체 포함 앱을 게시할 경우 이러한 라이브러리가 설치되어 있는지 확인해야 합니다.

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

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

종속성은 yum install 명령을 사용하여 설치할 수 있습니다. 다음 코드 조각은 libicu 라이브러리의 설치를 보여 줍니다.

sudo yum install libicu

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

.NET 앱에서 System.Drawing.Common 어셈블리를 사용하는 경우 libgdiplus도 설치해야 합니다. System.Drawing.Common이 더 이상 Linux에서 지원되지 않으므로 이는 .NET 6에서만 작동하며 System.Drawing.EnableUnixSupport 런타임 구성 스위치를 설정해야 합니다.

시스템에 Mono 리포지토리를 추가하여 최신 버전의 libgdiplus를 설치할 수 있습니다.

다른 버전을 설치하는 방법

.NET의 다른 릴리스를 설치하는 데 필요한 단계에 대해서는 .NET용 Red Hat 설명서를 참조하세요.

패키지 관리자 문제 해결

이 섹션에서는 패키지 관리자를 사용하여 .NET 또는 .NET Core를 설치할 때 발생할 수 있는 일반적인 오류에 대한 정보를 제공합니다.

이 문제를 해결하는 방법에 대한 자세한 내용은 Troubleshoot fxr, libhostfxr.so, and FrameworkList.xml errors(fxr, libhostfxr.so 및 FrameworkList.xml 오류 해결)를 참조하세요.

다음 단계