====== 기타 .NET SDK/Runtime 설치 방법 ======
===== Bookworm 및 이전 버전 =====
==== .NET 10 SDK ====
.NET 10부터 Microsoft는 ARM64 Linux 패키지를 제공하고 있습니다. Bookworm OS를 실행 중인 ComfilePi에 .NET 10 SDK를 설치하려면 [[https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian?tabs=dotnet10#debian-12|Microsoft의 Debian 12 설치 지침]]을 따르십시오.
==== .NET 9 SDK ====
.NET 10 이전에는 Microsoft가 .NET SDK용 ARM64 패키지를 제공하지 않았기 때문에, 당사는 Bookworm OS에서 자체 .NET SDK 설치 패키지를 만들어 그 공백을 메웠습니다.
sudo apt update
sudo apt install cpi-dotnet-sdk-9.0
==== .NET 8 SDK ====
.NET 10 이전에는 Microsoft가 .NET SDK용 ARM64 패키지를 제공하지 않았기 때문에, 당사는 Bookworm OS에서 자체 .NET SDK 설치 패키지를 만들어 그 공백을 메웠습니다.
sudo apt update
sudo apt install cpi-dotnet-sdk-8.0
===== Bullseye =====
2022-07-26 이후 날짜의 ComfilePi OS 이미지에는 .NET SDK가 이미 설치되어 있습니다. 터미널에서 ''dotnet --version'' 명령을 실행하여 확인하십시오. 설치된 버전보다 더 최신 버전이 필요한 경우, 아래의 수동 설치 절차를 사용하십시오.
===== 모든 OS =====
다음 명령을 사용하여 원하는 버전의 .NET SDK를 수동으로 설치할 수 있습니다.
DOTNET_VERSION=10.0 # 원하는 버전을 선택하십시오
wget https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh
chmod +x dotnet-install.sh
sudo ./dotnet-install.sh --channel $DOTNET_VERSION --install-dir /opt/Microsoft/dotnet
sudo ln -s /opt/Microsoft/dotnet/dotnet /usr/local/bin/dotnet
# 시스템이 .NET 런타임 위치를 찾을 수 있도록 구성 파일을 생성합니다
sudo mkdir /etc/dotnet
sudo bash -c 'echo /opt/Microsoft/dotnet/ >> /etc/dotnet/install_location'
터미널에서 dotnet --version을 실행하여 설치를 테스트하십시오.
===== .NET ARM Linux 가비지 컬렉션 버그 해결 방법(.NET 8 및 9만 해당) =====
**중요** - [[https://github.com/dotnet/runtime/issues/95257|.NET 런타임의 버그]]로 인해 메모리가 적은 장치(예: Raspberry Pi)에서는 .NET 가비지 컬렉터의 메모리 제한을 설정해야 할 수 있습니다. 그렇지 않으면 .NET 애플리케이션이 조기에 중단될 수 있습니다. 가비지 컬렉터의 메모리 제한을 설정하려면 ///etc/environment// 파일을 생성하거나 열고, 다음 줄을 파일에 추가하십시오.
DOTNET_GCHeapHardLimitPercent=32
그런 다음 재부팅하십시오.
이 설정에 대한 자세한 내용은 [[https://learn.microsoft.com/en-us/dotnet/core/runtime-config/garbage-collector#heap-limit-percent|Microsoft 공식 문서]]를 참조하십시오.