이 문서에서는 Debian에 .NET 설치하는 방법을 설명합니다. Debian 버전이 지원되지 않는 경우 .NET 해당 버전에서 더 이상 지원되지 않습니다. 그러나 이러한 지침은 지원되지 않더라도 해당 버전에서 .NET 실행하는 데 도움이 될 수 있습니다.
.NET 앱을 개발하려는 경우 SDK(런타임 포함)를 설치합니다. 또는 앱을 실행하기만 하려면 런타임을 설치합니다. 런타임을 설치하는 경우 .NET 및 ASP.NET Core 런타임을 모두 포함하므로 ASP.NET Core 런타임 설치하는 것이 좋습니다.
dotnet --list-sdks 및 dotnet --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에 대한 x64 및 Arm64 패키지만 게시합니다. 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에 대한 x64 및 Arm64 패키지만 게시합니다. 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: x64 및 Arm64 패키지만 해당합니다.
- .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
다음 단계
- .NET CLI 개요
- .NET CLI에 TAB 완성을 사용하도록 설정하는 방법
Tutorial: .NET
.NET