Aracılığıyla paylaş


.NET SDK'sını veya .NET Çalışma Zamanını Debian'a yükleme

Bu makalede, .NET'in Debian'a nasıl yükleneceği açıklanmaktadır. Bir Debian sürümü destekten düştüğünde, .NET artık bu sürümde desteklenmez. Ancak, bu yönergeler desteklenmese bile bu sürümlerde .NET'i çalıştırmanıza yardımcı olabilir.

.NET uygulamaları geliştirmek istiyorsanız SDK'yi (çalışma zamanını da içerir) yükleyin. Ya da yalnızca uygulamaları çalıştırmanız gerekiyorsa Çalışma Zamanı'nı yükleyin. Çalışma Zamanını yüklüyorsanız hem .NET hem de ASP.NET Core çalışma zamanlarını içerdiğinden ASP.NET Core Runtime'ı yüklemenizi öneririz.

Hangi sürümlerin dotnet --list-sdks yüklü olduğunu görmek için ve dotnet --list-runtimes komutlarını kullanın. Daha fazla bilgi için bkz . .NET'in zaten yüklü olup olmadığını denetleme.

Önemli

Microsoft paket akışından .NET yüklemek için paket yöneticisi kullanmak yalnızca x64 mimarisini destekler. Arm gibi diğer mimariler Microsoft paket akışı tarafından desteklenmez.

.NET'i paket yöneticisi olmadan yükleme hakkında daha fazla bilgi için aşağıdaki makalelerden birine bakın:

Desteklenen dağıtımlar

Aşağıdaki tablo, şu anda desteklenen .NET sürümlerinin ve desteklendiği Debian sürümlerinin listesidir. .NET sürümü destek sonuna ulaşana veya Debian sürümü kullanım süresi sonuna ulaşana kadar bu sürümler desteklenmektedir.

Debian .NET
12 8, 6
11 8, 6
10 6

Aşağıdaki .NET ❌ sürümleri artık desteklenmiyor:

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

Önizleme sürümlerini yükleme

.NET'in önizleme ve sürüm adayı sürümleri paket depolarında kullanılamaz. .NET'in önizlemelerini ve sürüm adaylarını aşağıdaki yollardan biriyle yükleyebilirsiniz:

Önizleme sürümlerini kaldırma

.NET yüklemenizi yönetmek için paket yöneticisi kullanırken, daha önce bir önizleme sürümü yüklediyseniz bir çakışmayla karşılaşabilirsiniz. Paket yöneticisi önizleme dışı sürümü .NET'in önceki bir sürümü olarak yorumlayamayabilir. Önizleme olmayan sürümü yüklemek için önce önizleme sürümlerini kaldırın. .NET'i kaldırma hakkında daha fazla bilgi için bkz . .NET Çalışma Zamanı ve SDK'sını kaldırma.

Debian 12

APT ile yükleme birkaç komutla yapılabilir. .NET'i yüklemeden önce aşağıdaki komutları çalıştırarak Microsoft paket imzalama anahtarını güvenilen anahtarlar listenize ekleyin ve paket deposunu ekleyin.

Bir terminal açın ve aşağıdaki komutları çalıştırın:

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

SDK’yı yükleyin

.NET SDK,.NET ile uygulama geliştirmenizi sağlar. .NET SDK'sını yüklerseniz ilgili çalışma zamanını yüklemeniz gerekmez. .NET SDK'sını yüklemek için aşağıdaki komutları çalıştırın:

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

.NET CLI'yı kullanmayı öğrenmek için bkz . .NET CLI'ya genel bakış.

Çalışma zamanını yükleme

ASP.NET Core Runtime, çalışma zamanını sağlamayan .NET ile yapılmış uygulamaları çalıştırmanıza olanak tanır. Aşağıdaki komutlar .NET için en uyumlu çalışma zamanı olan ASP.NET Core Runtime'ı yükler. Terminalinizde aşağıdaki komutları çalıştırın:

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

ASP.NET Core Runtime'a alternatif olarak, ASP.NET Core desteği içermeyen .NET Çalışma Zamanı'nı yükleyebilirsiniz: önceki komutta şununla dotnet-runtime-8.0değiştirinaspnetcore-runtime-8.0:

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

.NET CLI'yı kullanmayı öğrenmek için bkz . .NET CLI'ya genel bakış.

Debian 11

APT ile yükleme birkaç komutla yapılabilir. .NET'i yüklemeden önce aşağıdaki komutları çalıştırarak Microsoft paket imzalama anahtarını güvenilen anahtarlar listenize ekleyin ve paket deposunu ekleyin.

Bir terminal açın ve aşağıdaki komutları çalıştırın:

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

SDK’yı yükleyin

.NET SDK,.NET ile uygulama geliştirmenizi sağlar. .NET SDK'sını yüklerseniz ilgili çalışma zamanını yüklemeniz gerekmez. .NET SDK'sını yüklemek için aşağıdaki komutları çalıştırın:

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

.NET CLI'yı kullanmayı öğrenmek için bkz . .NET CLI'ya genel bakış.

Çalışma zamanını yükleme

ASP.NET Core Runtime, çalışma zamanını sağlamayan .NET ile yapılmış uygulamaları çalıştırmanıza olanak tanır. Aşağıdaki komutlar .NET için en uyumlu çalışma zamanı olan ASP.NET Core Runtime'ı yükler. Terminalinizde aşağıdaki komutları çalıştırın:

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

ASP.NET Core Runtime'a alternatif olarak, ASP.NET Core desteği içermeyen .NET Çalışma Zamanı'nı yükleyebilirsiniz: önceki komutta şununla dotnet-runtime-8.0değiştirinaspnetcore-runtime-8.0:

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

.NET CLI'yı kullanmayı öğrenmek için bkz . .NET CLI'ya genel bakış.

Debian 10

APT ile yükleme birkaç komutla yapılabilir. .NET'i yüklemeden önce aşağıdaki komutları çalıştırarak Microsoft paket imzalama anahtarını güvenilen anahtarlar listenize ekleyin ve paket deposunu ekleyin.

Bir terminal açın ve aşağıdaki komutları çalıştırın:

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

SDK’yı yükleyin

.NET SDK,.NET ile uygulama geliştirmenizi sağlar. .NET SDK'sını yüklerseniz ilgili çalışma zamanını yüklemeniz gerekmez. .NET SDK'sını yüklemek için aşağıdaki komutları çalıştırın:

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

.NET CLI'yı kullanmayı öğrenmek için bkz . .NET CLI'ya genel bakış.

Çalışma zamanını yükleme

ASP.NET Core Runtime, çalışma zamanını sağlamayan .NET ile yapılmış uygulamaları çalıştırmanıza olanak tanır. Aşağıdaki komutlar .NET için en uyumlu çalışma zamanı olan ASP.NET Core Runtime'ı yükler. Terminalinizde aşağıdaki komutları çalıştırın:

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

ASP.NET Core Runtime'a alternatif olarak, ASP.NET Core desteği içermeyen .NET Çalışma Zamanı'nı yükleyebilirsiniz: önceki komutta şununla dotnet-runtime-7.0değiştirinaspnetcore-runtime-7.0:

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

.NET CLI'yı kullanmayı öğrenmek için bkz . .NET CLI'ya genel bakış.

Diğer sürümleri yükleme

.NET'in tüm sürümleri adresinden https://dotnet.microsoft.com/download/dotnetindirilebilir ancak el ile yükleme gerektirir. .NET'in farklı bir sürümünü yüklemek için paket yöneticisini kullanmayı deneyebilirsiniz. Ancak, istenen sürüm kullanılamayabilir.

Paket yöneticisi akışlarına eklenen paketler, ele geçirilebilir biçimde adlandırılır, örneğin: {product}-{type}-{version}.

  • ürün
    Yüklenecek .NET ürününün türü. Geçerli seçenekler şunlardır:

    • dotnet
    • aspnetcore
  • type
    SDK'yı veya çalışma zamanını seçer. Geçerli seçenekler şunlardır:

    • sdk(yalnızca dotnet ürünü için kullanılabilir)
    • runtime
  • version
    Yüklenecek SDK veya çalışma zamanının sürümü. Geçerli seçenekler, aşağıdakiler gibi herhangi bir yayın sürümüdür:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    İndirmeye çalıştığınız SDK/çalışma zamanı Linux dağıtımınızda kullanılamıyor olabilir. Desteklenen dağıtımların listesi için bkz . Linux'ta .NET yükleme.

Örnekler

  • ASP.NET Core 8.0 çalışma zamanını yükleyin: aspnetcore-runtime-8.0
  • .NET Core 2.1 çalışma zamanını yükleyin: dotnet-runtime-2.1
  • .NET 5 SDK'sını yükleyin: dotnet-sdk-5.0
  • .NET Core 3.1 SDK'sını yükleyin: dotnet-sdk-3.1

Not

Bazı paketler Linux dağıtımınızda kullanılamayabilir.

Paket eksik

Paket sürümü bileşimi çalışmazsa kullanılamaz. Örneğin, ASP.NET Core SDK'sı yoktur. ASP.NET Core için SDK bileşenleri .NET SDK'sı ile birlikte sunulur. Değer aspnetcore-sdk-8.0 yanlış ve olmalıdır dotnet-sdk-8.0. .NET tarafından desteklenen Linux dağıtımlarının listesi için bkz . .NET bağımlılıkları ve gereksinimleri.

.NET'i güncelleştirmek için APT kullanma

.NET için yeni bir yama sürümü kullanılabilir olduğunda, aşağıdaki komutlarla APT aracılığıyla yükseltmeniz yeterlidir:

sudo apt-get update
sudo apt-get upgrade

.NET'i yükledikten sonra Linux dağıtımınızı yükselttiyseniz Microsoft paket deposunu yeniden yapılandırmanız gerekebilir. .NET güncelleştirmeleri için uygun paket deposuna yükseltmek üzere geçerli dağıtım sürümünüz için yükleme yönergelerini çalıştırın.

Sorun giderme

Bu bölüm, .NET'i yüklemek için APT kullanırken karşılaşabileceğiniz yaygın hatalar hakkında bilgi sağlar.

Paket bulunamıyor

Önemli

Microsoft paket akışından .NET yüklemek için paket yöneticisi kullanmak yalnızca x64 mimarisini destekler. Arm gibi diğer mimariler Microsoft paket akışı tarafından desteklenmez.

.NET'i paket yöneticisi olmadan yükleme hakkında daha fazla bilgi için aşağıdaki makalelerden birine bakın:

\ Bazı paketler bulunamadı

{dotnet-package} paketi bulunamıyor veya Bazı paketler yüklenemedi gibi bir hata iletisi alırsanız aşağıdaki komutları çalıştırın.

Aşağıdaki komut kümesinde iki yer tutucu vardır.

  • {dotnet-package}
    Bu, yüklemekte olduğunuz .NET paketini temsil eder, örneğin aspnetcore-runtime-8.0. Bu, aşağıdaki sudo apt-get install komutta kullanılır.

İlk olarak paket listesini temizlemeyi deneyin:

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

Ardından.NET'i yüklemeyi yeniden deneyin. Bu işe yaramazsa, aşağıdaki komutlarla el ile yükleme çalıştırabilirsiniz:

Debian 12 veya sonraki bir sürümü kullanıyorsanız aşağıdaki komutları deneyin:

# 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'den önceki bir Debian sürümü kullanıyorsanız aşağıdaki komutları deneyin:

# 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}

Getirilemedi

.NET paketini yüklerken, benzeri Failed to fetch ... File has unexpected size ... Mirror sync in progress?bir hata görebilirsiniz. Bu hata, .NET için paket akışının daha yeni paket sürümleriyle yükseltildiği ve daha sonra yeniden denemeniz gerektiği anlamına gelebilir. Yükseltme sırasında paket akışı 30 dakikadan uzun süre kullanılamamalıdır. Bu hatayı 30 dakikadan uzun bir süre boyunca sürekli alıyorsanız lütfen adresine https://github.com/dotnet/core/issuesbir sorun bildirin.

Bağımlılıklar

Paket yöneticisiyle yüklediğinizde, bu kitaplıklar sizin için yüklenir. Ancak, .NET'i el ile yüklerseniz veya bağımsız bir uygulama yayımlarsanız, bu kitaplıkların yüklendiğinden emin olmanız gerekir:

10.x

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu63
  • libssl1.1
  • libstdc++6
  • zlib1g

11.x

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu67
  • libssl1.1
  • libstdc++6
  • zlib1g

12.x

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

Bağımlılıklar komutuyla apt install yüklenebilir. Aşağıdaki kod parçacığı kitaplığın yüklenmesini libc6 gösterir:

sudo apt install libc6

.NET uygulaması System.Drawing.Common derlemesini kullanıyorsa libgdiplus'ın da yüklenmesi gerekir. System.Drawing.Common artık Linux'ta desteklenmediğinden, bu yalnızca .NET 6'da çalışır ve çalışma zamanı yapılandırma anahtarının System.Drawing.EnableUnixSupport ayarlanmasını gerektirir.

Mono deposunu sisteminize ekleyerek libgdiplus'ın son sürümünü yükleyebilirsiniz.

Sonraki adımlar