다음을 통해 공유


SLES에 .NET SDK 또는 .NET 런타임 설치

.NET은 SLES(SUSE Enterprise Linux)에서 지원됩니다. 이 문서에서는 SLES에 .NET을 설치하는 방법을 설명합니다.

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

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

지원되는 배포

다음 표는 SLES 12 SP2와 SLES 15에서 현재 지원되는 .NET 릴리스의 목록입니다. 이러한 버전은 .NET 버전이 지원 종료에 도달하거나 SLES 버전이 더 이상 지원되지 않을 때까지 계속 지원됩니다.

SLES .NET
15.6 9.0, 8.0, 6.0
15.5 9.0, 8.0, 6.0
12 SP5 8.0, 6.0

Important

.NET 9는 현재 미리 보기로 제공됩니다.

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

  • .NET 7
  • .NET 6(2024년 11월 12일부터)
  • .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를 제거하는 방법을 참조하세요.

SLES 15

.NET을 설치하기 전에 다음 명령을 실행하여 신뢰 키 목록에 Microsoft 패키지 서명 키를 추가하고 Microsoft 패키지 리포지토리를 추가합니다. 터미널을 열고 다음 명령을 실행합니다.

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

현재 SLES 15 Microsoft 리포지토리 설치 패키지는 microsoft-prod.repo 파일을 잘못된 디렉터리에 설치하므로 zypper가 .NET 패키지를 찾을 수 없습니다. 이 문제를 해결하려면 올바른 디렉터리에 symlink를 만듭니다.

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

SDK 설치

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

sudo zypper install dotnet-sdk-8.0

.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.

런타임 설치

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

sudo zypper install aspnetcore-runtime-8.0

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

sudo zypper install dotnet-runtime-8.0

.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.

SLES 12

.NET에는 SLES 12 제품군에 대한 최소 요건으로 SP2가 필요합니다.

.NET을 설치하기 전에 다음 명령을 실행하여 신뢰 키 목록에 Microsoft 패키지 서명 키를 추가하고 Microsoft 패키지 리포지토리를 추가합니다. 터미널을 열고 다음 명령을 실행합니다.

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

SDK 설치

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

sudo zypper install dotnet-sdk-8.0

.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.

런타임 설치

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

sudo zypper install aspnetcore-runtime-8.0

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

sudo zypper install dotnet-runtime-8.0

.NET CLI 사용 방법을 알아보려면 .NET CLI 개요를 참조하세요.

다른 버전을 설치하는 방법

모든 버전의 .NET은 https://dotnet.microsoft.com/download/dotnet에서 다운로드할 수 있지만 수동 설치가 필요합니다. 패키지 관리자를 사용하여 다른 버전의 .NET을 설치할 수 있습니다. 그러나 요청된 버전을 사용하지 못할 수도 있습니다.

패키지 관리자 피드에 추가되는 패키지는 해킹 가능한 형식으로 명명됩니다(예: {product}-{type}-{version}).

  • product
    설치할 .NET 제품의 유형입니다. 유효한 옵션은 다음과 같습니다.

    • dotnet
    • aspnetcore
  • type
    SDK와 런타임 중 선택합니다. 유효한 옵션은 다음과 같습니다.

    • sdk(dotnet 제품에만 사용 가능)
    • runtime
  • version
    설치한 SDK 또는 런타임의 버전입니다. 유효한 옵션은 모든 릴리스된 버전입니다. 예:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    다운로드하려는 SDK/런타임을 Linux 배포판에서 사용할 수 없을 수 있습니다. 지원되는 배포판 목록은 Linux에 .NET 설치를 참조하세요.

예제

  • ASP.NET Core 8.0 런타임 설치: aspnetcore-runtime-8.0
  • .NET Core 2.1 런타임 설치: dotnet-runtime-2.1
  • .NET 5 SDK 설치: dotnet-sdk-5.0
  • .NET Core 3.1 SDK 설치: dotnet-sdk-3.1

참고 항목

일부 패키지는 Linux 배포판에서 사용할 수 없을 수 있습니다.

패키지가 없음

패키지-버전 조합이 작동하지 않는다면 사용할 수 없는 것입니다. 예를 들어 ASP.NET Core SDK가 없습니다. ASP.NET Core용 SDK 구성 요소는 .NET SDK에 포함됩니다. 값 aspnetcore-sdk-8.0는 올바르지 않으며, 올바른 값은 dotnet-sdk-8.0입니다. .NET에서 지원하는 Linux 배포판 목록은 .NET 종속성 및 요구 사항을 참조하세요.

패키지 관리자 문제 해결

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

가져오지 못함

.NET 패키지를 설치할 때 signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'와 유사한 오류가 표시될 수 있습니다. 일반적으로 이 오류는 .NET의 패키지 피드가 최신 패키지 버전으로 업그레이드되고 있으며 나중에 다시 시도해야 함을 의미합니다. 업그레이드하는 동안 2시간 이상 패키지 피드를 사용할 수 없습니다. 이 오류 메시지가 2시간 이상 계속 표시되는 경우 https://github.com/dotnet/core/issues에서 문제를 제출하세요.

종속성

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

  • krb5
  • libicu
  • libopenssl1_1

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

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

sudo zypper install krb5

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

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

다음 단계