다음을 통해 공유


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

이 문서에서는 Debian에 .NET 설치하는 방법을 설명합니다. Debian 버전이 지원되지 않는 경우 .NET 해당 버전에서 더 이상 지원되지 않습니다. 그러나 이러한 지침은 지원되지 않더라도 해당 버전에서 .NET 실행하는 데 도움이 될 수 있습니다.

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

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

지원되는 배포

다음 표는 현재 지원되는 .NET 릴리스 및 지원되는 Debian 버전 목록입니다. 이러한 버전은 .NET 버전이 지원 종료 또는 Debian 버전이 수명 종료 도달할 때까지 계속 지원됩니다.

데비안 .NET
13 10, 9, 8
12 10, 9, 8

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

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

미리 보기 버전 설치

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

미리 보기 버전 제거

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

Debian 13

몇 가지 명령을 사용하여 APT 설치를 완료할 수 있습니다. .NET 설치하기 전에 다음 명령을 실행하여 신뢰할 수 있는 키 목록에 Microsoft 패키지 서명 키를 추가하고 패키지 리포지토리를 추가합니다.

터미널을 열고 다음 명령을 실행합니다.

wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

중요합니다

Microsoft 패키지 피드는 .NET 10에 대한 x64Arm64 패키지만 게시합니다. Arm32 같은 다른 아키텍처에 .NET 설치해야 하는 경우 Microsoft 패키지 피드와 함께 패키지 관리자를 사용하지 마세요. .NET을 패키지 관리자 없이 설치하는 방법에 대한 자세한 내용은 다음 문서 중 하나를 참조하세요.

SDK 설치

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

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-10.0

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

런타임 설치

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

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-10.0

ASP.NET Core 런타임 대신 ASP.NET Core 지원을 포함하지 않는 .NET 런타임을 설치할 수 있습니다. 이전 명령의 aspnetcore-runtime-10.0dotnet-runtime-10.0 바꿉니다.

sudo apt-get install -y dotnet-runtime-10.0

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

Debian 12

몇 가지 명령을 사용하여 APT 설치를 완료할 수 있습니다. .NET 설치하기 전에 다음 명령을 실행하여 신뢰할 수 있는 키 목록에 Microsoft 패키지 서명 키를 추가하고 패키지 리포지토리를 추가합니다.

터미널을 열고 다음 명령을 실행합니다.

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

중요합니다

Microsoft 패키지 피드는 .NET 10에 대한 x64Arm64 패키지만 게시합니다. Arm32 같은 다른 아키텍처에 .NET 설치해야 하는 경우 Microsoft 패키지 피드와 함께 패키지 관리자를 사용하지 마세요. .NET을 패키지 관리자 없이 설치하는 방법에 대한 자세한 내용은 다음 문서 중 하나를 참조하세요.

SDK 설치

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

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-10.0

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

런타임 설치

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

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-10.0

ASP.NET Core 런타임 대신 ASP.NET Core 지원을 포함하지 않는 .NET 런타임을 설치할 수 있습니다. 이전 명령의 aspnetcore-runtime-10.0dotnet-runtime-10.0 바꿉니다.

sudo apt-get install -y dotnet-runtime-10.0

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

APT를 사용하여 .NET 업데이트

새 .NET 패치 릴리스가 사용 가능하면, 다음 명령을 통해 APT로 .NET을 업그레이드할 수 있습니다.

sudo apt-get update
sudo apt-get upgrade

.NET 설치한 후 Linux 배포를 업그레이드한 경우 Microsoft 패키지 리포지토리를 다시 구성해야 할 수 있습니다. 현재 배포 버전에 대한 설치 지침을 실행하여 .NET 업데이트에 적합한 패키지 리포지토리로 업그레이드합니다.

문제 해결

이 섹션에서는 APT를 사용하여 .NET 설치하는 동안 발생할 수 있는 일반적인 오류에 대한 정보를 제공합니다.

패키지를 찾을 수 없음

중요합니다

Microsoft 패키지 피드는 .NET 버전에 따라 다른 아키텍처에 대한 패키지를 게시합니다.

  • .NET 10: x64Arm64 패키지만 해당합니다.
  • .NET 9: x64 전용 패키지입니다.
  • .NET 8: x64 패키지만.

Arm32 같은 다른 아키텍처에 .NET 설치해야 하는 경우 Microsoft 패키지 피드와 함께 패키지 관리자를 사용하지 마세요. .NET을 패키지 관리자 없이 설치하는 방법에 대한 자세한 내용은 다음 문서 중 하나를 참조하세요.

찾을 수 없음\일부 패키지를 설치할 수 없음

{netcore-package} 패키지를 찾을 수 없음 또는 일부 패키지를 설치할 수 없음과 같은 오류 메시지가 표시되는 경우 다음 명령을 실행합니다.

다음 명령 집합에는 두 개의 자리 표시자가 있습니다.

  • {dotnet-package}
    이는 설치하려는 .NET 패키지(예: aspnetcore-runtime-8.0)를 나타냅니다. 다음 sudo apt-get install 명령에 사용됩니다.

먼저, 다음 패키지 목록을 제거해 봅니다.

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

그런 다음 .NET 다시 설치해 봅니다. 이 방법으로 문제가 해결되지 않으면 다음 명령을 사용하여 수동 설치를 실행할 수 있습니다.

Debian 12 이상을 사용하는 경우 다음 명령을 시도합니다.

# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

12보다 오래된 Debian 버전을 사용하는 경우 다음 명령을 시도합니다.

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

가져오지 못함

.NET 패키지를 설치하는 동안 Failed to fetch ... File has unexpected size ... Mirror sync in progress? 유사한 오류가 표시 될 수 있습니다. 이 오류는 .NET 대한 패키지 피드가 최신 패키지 버전으로 업그레이드되고 있으며 나중에 다시 시도해야 한다는 것을 의미할 수 있습니다. 업그레이드하는 동안 30분 이상 패키지 피드를 사용할 수 없습니다. 이 오류 메시지가 30분 이상 계속 표시되는 경우 https://github.com/dotnet/core/issues에서 문제를 제출하세요.

종속성

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

13.x

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • libssl3
  • libstdc++6
  • zlib1g

12.x

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • libssl3
  • libstdc++6
  • zlib1g

기타 참고 사항

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

sudo apt install libc6

다음 단계