Ubuntu karar kılavuzuna .NET yükleme

Bu makale, .NET Ubuntu'ya nasıl yükleneceğine karar vermenize yardımcı olur. Ubuntu 22.04 sürümünden başlayarak, .NET'nin desteklenen sürümlerinin çoğu yerleşik Ubuntu akışında kullanılabilir. Ubuntu .NET backports paket deposu, desteklenen diğer .NET sürümlerini içerir.

Canonical, Ubuntu'da .NET'i yayımlama görevini üstlendi. Ubuntu 22.04'den başlayarak, Microsoft artık Ubuntu için .NET Microsoft paket deposuna dağıtmaz.

Desteklenen dağıtımlar

Aşağıdaki tablo, şu anda desteklenen .NET sürümlerinin ve desteklendiği Ubuntu sürümlerinin listesidir. Her bağlantı, Ubuntu'nun bu sürümü için .NET yükleme yönergelerini içeren belirli Ubuntu sürümü sayfasına gider.

Ubuntu Desteklenen .NET sürümleri Şuralarda kullanılabilir
Ubuntu yerleşik beslemesi
Şu şekilde kullanılabilir:
.NET geri portları
Ubuntu beslemesi
Şu şekilde kullanılabilir:
Microsoft besleme
26.04 (LTS) 10.0, 9.0, 8.0 10.0 9.0, 8.0 Hiç kimse
25.10 10.0, 9.0, 8.0 10.0, 9.0, 8.0 Hiç kimse Hiç kimse
25.04 10.0, 9.0, 8.0 10.0, 9.0, 8.0 Hiç kimse Hiç kimse
24.04 (LTS) 10.0, 9.0, 8.0 10.0, 8.0 9.0, 7.0, 6.0 Hiç kimse
22.04 (LTS) 10.0, 9.0, 8.0 8.0, 7.0, 6.0 10,0, 9,0 8.0, 7.0, 6.0, 3.1

Ubuntu sürümü destek döneminin sonuna ulaştığında .NET artık söz konusu Ubuntu sürümüyle desteklenmez.

Canonical, Microsoft tarafından sağlanan destek ömrünün ötesinde bile bu Ubuntu sürümünün kullanım ömrü boyunca yerleşik Ubuntu akışındaki .NET sürümleri destekler ve .NET backports paket deposundaki .NET sürümleri için en iyi desteği sağlar ve Microsoft tarafından sağlanan destek ömrünün ötesine geçmez.

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

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

Ubuntu yükseltirken dikkat edilmesi gerekenler

Ubuntu 22.04 veya sonraki bir sürüme yükseltiliyor mu? Önce .NET kaldırmayı düşünün.

Microsoft paket deposundan .NET yüklemek için bir paket yöneticisi kullandıysanız Ubuntu'yu yükselttikten sonra bir paket karma sorunuyla karşınıza çıkar. Canonical artık Ubuntu 22.04 (ve sonraki sürümler) için paket akışlarında .NET yayımlayabildiğine göre, paket yöneticisi daha önce yüklenmiş .NET sürümü hakkında bilgi edinemez. Paketler en son .NET sürümüne yükseltilemiyorlar. önce bunları kaldırın, ardından Ubuntu paket deposundan yeniden yükleyin.

.NET nasıl yükleneceğine karar verme

Ubuntu sürümünüz yerleşik veya .NET geri aktarma Ubuntu akışı aracılığıyla .NET'i destekliyorsa, bu .NET yapıları için destek Canonical tarafından sağlanır ve yapılar farklı iş yükleri için optimize edilebilir. Microsoft, Microsoft paket deposu akışındaki paketler için destek sağlar.

Uyarı

Kaynak .NET paketlerine Ubuntu veya Microsoft akışları arasında seçim yapmanız önerilir. Uygulamalar belirli bir .NET sürümünü çözmeye çalıştığında sorunlara yol açtığından, birden çok paket deposundan .NET paketleri karıştırmayın.

Yöntem Avantajlar Dezavantajlar
Paket yöneticisi
(yerleşik
Ubuntu beslemesi)
  • Genellikle en son sürüm kullanılabilir.
  • Düzeltme ekleri hemen kullanılabilir.
  • Bağımlılıklar dahil edilir.
  • Kolay kaldırma.
  • Kullanılabilir .NET sürümleri, belirli Ubuntu sürümünün destek süresi boyunca desteklenir.
  • .NET 8 ve daha yeni sürümler için IBM System Z ve Power platformları desteği.
  • Ubuntu 16.04, 18.04, 20.04 için kullanılamaz.
  • .NET sürümler Ubuntu sürümüne göre değişiklik gösterir.
  • Önizleme sürümleri mevcut değildir.
Paket yöneticisi
(arka .NET
Ubuntu beslemesi)
  • Yerleşik Ubuntu akışında bulunmayan herhangi bir desteklenen sürümü içerir.
  • Düzeltme ekleri hemen kullanılabilir.
  • Bağımlılıklar dahil edilir.
  • Kolay kaldırma.
  • Yerleşik Ubuntu beslemesiyle uyumludur.
  • Ubuntu 16.04, 18.04, 20.04 için kullanılamaz.
  • Ubuntu .NET backports paket deposunu kaydetmeyi gerektirir.
  • Önizleme sürümleri mevcut değildir.
Paket yöneticisi
(Microsoft akışı)
  • Desteklenen sürümler her zaman kullanılabilir.
  • Düzeltme ekleri hemen kullanılabilir.
  • Bağımlılıklar dahil edilir.
  • Kolay kaldırma.
  • Ubuntu 24.04+ için kullanılamaz.
  • Microsoft paket deposunu kaydetmeyi gerektirir.
  • Önizleme sürümleri mevcut değildir.
  • Sadece x64 Ubuntu desteklenir.
Betik \ El ile ayıklama
  • .NET yüklendiği yeri kontrol edin.
  • Önizleme sürümleri kullanılabilir.
  • Güncelleştirmeleri el ile yükleyin.
  • Bağımlılıkları el ile yükleyin.
  • El ile kaldırma.

.NET nasıl yüklemeniz gerektiğini belirlemek için aşağıdaki bölümleri kullanın:

Ubuntu 22.04 veya daha yeni bir sürümünü kullanıyorum ve sadece .NET'e ihtiyacım var.

powershell, mdatp veya mssql gibi diğer Microsoft paketlerine ihtiyacınız yoksa Ubuntu akışı aracılığıyla .NET yükleyin. Daha fazla bilgi için aşağıdaki sayfalara bakın:

Önemli

.NET 8 SDK ve Ubuntu 22.04 kullanıyorsanız, Canonical tarafından sunulan SDK sürümlerinin her zaman .1xx özellik bandında olduğunu anlayın. Daha yeni bir özellik bandı sürümü kullanmak istiyorsanız SDK'yı yüklemek için Microsoft akışını kullanın. Linux üzerinde .NET Paket Karışıklıkları makalesindeki bilgileri gözden geçirerek depo kaynakları arasında geçiş yapmanın etkilerini anlayın.

Microsoft deposunu, powershell, mdatp veya mssql gibi diğer Microsoft paketlerini kullanmak için yükleyecekseniz, Microsoft deposu tarafından sağlanan .NET paketlerine öncelik vermemeniz gerekir. Paketlerin önceliklerini kaldırma yönergeleri için bkz. Y Linux dağıtımı .NET paketleri sağlar ve bunları kullanmak istiyorum.

22.04'e kadar Ubuntu sürümünü kullanıyorum

Ubuntu üzerinde .NET SDK'sını veya .NET Çalışma Zamanı'nı yükleme'nin sürüme özgü bölümündeki yönergeleri kullanın.

Ubuntu sürümünüz için hangi .NET sürümlerinin desteklendiği hakkında daha fazla bilgi için Supported distributions bölümünü gözden geçirin. Eğer desteklenmeyen bir sürümü yüklüyorsanız, Microsoft paket deposunu kaydetme bölümüne bakın.

Başka Microsoft paketlerini, örneğin powershell, mdatp veya mssql kullanıyorum.

Ubuntu sürümünüz bir Ubuntu akışları aracılığıyla .NET destekliyorsa, hangi akışın .NET yükleyeceğine karar vermeniz gerekir. Supported distributions bölümü, paket akışlarında hangi .NET sürümlerinin kullanılabilir olduğunu listeleyen bir tablo sağlar.

.NET paketlerini bir Ubuntu akışından kaynaklamak istiyorsanız, Microsoft deposu tarafından sağlanan .NET paketlerinin önceliklerini kaldırmanız gerekir. Paketlerin önceliklerini kaldırma yönergeleri için bkz. Y Linux dağıtımı .NET paketleri sağlar ve bunları kullanmak istiyorum.

.NET uygulaması oluşturmak istiyorum

SDK için çalışma zamanı için kullandığınız paket kaynaklarını kullanın. .NET'i bir Ubuntu deposu üzerinden yüklemeniz önerilir. Ancak başka bir kaynaktan .NET yüklemek istiyorsanız (örneğin, Microsoft paket deposu daha yüksek SDK özellik bantlarına erişmek için), .NET kaldırmanız, paket yöneticinizi Ubuntu akışındaki .NET paketleri yoksayacak şekilde yapılandırmanız ve diğer kaynaktan yeniden yüklemeniz gerekir.

.NET yüklemesine nasıl karar verileceği bölümündeki diğer önerileri gözden geçirin.

Kapsayıcı, bulut veya sürekli tümleştirme senaryosunda bir .NET uygulaması çalıştırmak istiyorum

Ubuntu sürümünüz ihtiyacınız olan .NET sürümünü sağlıyorsa bunu bir Ubuntu akışından yükleyin. Aksi takdirde, Microsoft paket deposunu kaydedin ve bu depodan .NET yükleyin. Desteklenen dağıtımlar bölümündeki bilgileri gözden geçirin.

İstediğiniz .NET sürümü kullanılamıyorsa dotnet-install betiğini kullanmayı deneyin.

Ubuntu dağıtımım istediğim .NET sürümünü içermiyor veya destek dışı .NET sürümüne ihtiyacım var

APT ve Microsoft paket deposunu kullanmanızı öneririz. Daha fazla bilgi için Microsoft paket deposuyla kaydetme ve yükleme bölümüne bakın.

Önizleme sürümü yüklemek istiyorum

.NET yüklemek için aşağıdaki yollardan birini kullanın:

APT kullanmak istemiyorum

Otomatik yükleme istiyorsanız Linux yükleme betiğini kullanın.

.NET yükleme deneyimi üzerinde tam denetim istiyorsanız, bir tarball indirin ve .NET el ile yükleyin. Daha fazla bilgi için bkz . El ile yükleme.

Arm tabanlı CPU kullanıyorum

Ubuntu sürümünüz ihtiyacınız olan .NET sürümünü sağlıyorsa, yerleşik akıştan yükleyin. Desteklenen dağıtımlar bölümündeki bilgileri gözden geçirin.

İstediğiniz .NET sürümü kullanılamıyorsa, .NET yüklemek için aşağıdaki yollardan birini kullanmayı deneyin:

IBM System Z veya Power platformunu kullanıyorum

Canonical, Ubuntu 22.04'te .NET 8'den başlayarak IBM System Z ve Power platformları için .NET destekler. Bu destek, bundan sonra her .NET sürümü için devam edecektir.

yerleşik Ubuntu akışı aracılığıyla .NET yükleyin. Daha fazla bilgi için aşağıdaki sayfaya bakın:

Paket deposunu kaydetme

Ubuntu sürümünüze bağlı olarak Ubuntu backports veya Microsoft paket deposunu kaydetmeniz gerekebilir.

Ubuntu .NET geri taşıma paket deposu

Ubuntu .NET backports paket deposu, yerleşik Ubuntu akışında bulunmayan .NET sürümlerini sağlar. Canonical, bu paket deposunda bulunan paketleri korur ve Microsoft tarafından sağlanan destek ömrünü veya belirli Ubuntu sürümünün destek süresini kapsamayan en iyi çaba desteğini sağlar.

Bu paket deposu Ubuntu 26.04 LTS (Resolute Raccoon), Ubuntu 24.04 LTS (Noble Numbat) ve Ubuntu 22.04 LTS (Jammy Jellyfish) üzerinde desteklenir. Supported distributions section, paket akışında hangi .NET sürümlerinin kullanılabilir olduğunu listeleyen bir tablo sağlar. Daha fazla bilgi için bkz. Ubuntu .NET backports paket deposu.

Bu paket deposunu eklemek için aşağıdaki komutları çalıştırın:

sudo add-apt-repository ppa:dotnet/backports
sudo apt update

Ubuntu .NET backports paket deposunu kaydetme

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

sudo add-apt-repository ppa:dotnet/backports

Uyarı

Ubuntu .NET backports paket deposu, yerleşik Ubuntu akışıyla uyumludur. Bu nedenle, yerleşik Ubuntu deposundaki .NET paketlerini yoksaymak için paket yöneticinizi yapılandırmanız gerekmez.

Ubuntu .NET backports paket deposunun kaydını kaldırın

Ubuntu .NET backports paket deposundaki paketleri artık kullanmak istemiyorsanız kaydı kaldırabilirsiniz. Bir terminal açın ve aşağıdaki komutu çalıştırın:

sudo add-apt-repository --remove ppa:dotnet/backports

Önemli

Ubuntu .NET backports paket deposu kaydının kaldırılması hiçbir paketi kaldırmaz.

add-apt-repository komutu bulunamadı

Yardımcı add-apt-repository(1) program çoğu Ubuntu yüklemesinde önceden yüklenmiştir.

Komutun add-apt-repository bulunamadığını belirten bir hata iletisi alırsanız, bu komutu sağlayan paketi yüklemeniz software-properties-common gerekir. Bir terminal açın ve aşağıdaki komutları çalıştırın:

sudo apt update
sudo apt install software-properties-common

Microsoft paket deposunu kaydetme

Önemli

Bu yalnızca 24.04 öncesi Ubuntu sürümleri için geçerlidir. Microsoft, Ubuntu 24.04'den başlayarak artık microsoft paket deposunda paket yayımlamaz. .NET yüklemenin en iyi yolunu belirlemek için supported distributions tablosunu kullanın.

Microsoft paket deposu, Ubuntu sürümünüzle daha önce veya şu anda desteklenen tüm .NET sürümlerini içerir. Ubuntu sürümünüz .NET paketleri sağlıyorsa Ubuntu paketlerinin önceliklerini kaldırmanız ve Microsoft deposunu kullanmanız gerekir. Paketlerin önceliklerini kaldırma yönergeleri için bkz. Linux dağıtımım tarafından sağlanmayan bir .NET sürümüne ihtiyacım var.

Önemli

Microsoft paket deposu yalnızca x64 mimarisini hedefleyen .NET paketlerini destekler. .NET yüklemek için, Arm gibi diğer mimarilerin, installer betiği veya manuel yükleme gibi başka yollarla yükleme yapması gerekir.

Önizleme sürümleri Microsoft paket deposunda kullanılamaz . Daha fazla bilgi için bkz . Önizleme sürümlerini yükleme.

Dikkat

Tüm .NET yüklemelerinizi yönetmek için yalnızca bir depo kullanmanızı öneririz. Daha önce Ubuntu deposuna .NET yüklediyseniz, .NET paketlerinin sistemini temizlemeniz ve APT'yi Ubuntu akışlarını yoksayacak şekilde yapılandırmanız gerekir. Bunun nasıl yapacağı hakkında daha fazla bilgi için bkz. Linux dağıtımım tarafından sağlanmayan bir .NET sürümüne ihtiyacım var.

APT ile yükleme birkaç komutla yapılabilir. .NET 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:

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

# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb

# Clean up
rm packages-microsoft-prod.deb

# Update packages
sudo apt update

Tavsiye

Önceki betik Ubuntu için yazılmıştır ve Linux Mint gibi türetilmiş bir dağıtım kullanıyorsanız çalışmayabilir. Muhtemelen $ID ve $VERSION_ID değişkenlerine doğru değerler atanmayacak ve bu da wget komutu için URI'yi geçersiz kılmaktadır. $ID dağıtımına (örneğin, ) ubuntu karşılık gelirken, $VERSION_IDpaketleri almak istediğiniz Ubuntu'nun 22.04 veya 23.10 gibi belirli bir sürümüyle eşler.

Örneğin, Ubuntu 22.04 üzerinde $IDubuntu ve $VERSION_ID22.04 olacaktır. URL şöyle görünür: https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb.

Bir web tarayıcısı kullanabilir ve https://packages.microsoft.com/config/ubuntu/ değerini kullanarak hangi Ubuntu sürümlerinin kullanılabildiğini görmek için $repo_version adresine gidebilirsiniz.

.NET yükleme, kaldırma veya güncelleştirme

Aşağıdaki bölümlerde paket yöneticisi aracılığıyla .NET nasıl yönetileceğini açıklanmaktadır.

.NET yükleme

sudo apt install <package-name> komutuyla paket yöneticisi aracılığıyla .NET yükleyin. <package-name> yerine yüklemek istediğiniz .NET paketinin adını yazın. Örneğin, .NET SDK 10.0 yüklemek için sudo apt install dotnet-sdk-10.0 komutunu kullanın. Aşağıdaki tabloda şu anda desteklenen .NET paketleri (Ubuntu sürümünüze göre değişiklik gösteren might) listelenmektedir:

Ürün Türü Paket
10.0 ASP.NET Core Çalışma zamanı aspnetcore-runtime-10.0
10.0 .NET Çalışma zamanı dotnet-runtime-10.0
10.0 .NET SDK dotnet-sdk-10.0
9.0 ASP.NET Core Çalışma zamanı aspnetcore-runtime-9.0
9.0 .NET Çalışma zamanı dotnet-runtime-9.0
9.0 .NET SDK dotnet-sdk-9.0
8.0 ASP.NET Core Çalışma zamanı aspnetcore-runtime-8.0
8.0 .NET Çalışma zamanı dotnet-runtime-8.0
8.0 .NET SDK dotnet-sdk-8.0

Tavsiye

.NET uygulama oluşturmuyorsanız, .NET çalışma zamanını içerdiğinden ve ASP.NET Core uygulamalarını desteklediğinden ASP.NET Core çalışma zamanını yükleyin.

Bazı ortam değişkenleri, .NET yüklendikten sonra nasıl çalıştırıldığından etkilenir. Daha fazla bilgi için bkz. .NET SDK ve CLI ortam değişkenleri.

.NET'i kaldırma

.NET bir paket yöneticisi aracılığıyla yüklediyseniz, apt-get remove komutuyla aynı şekilde kaldırın:

sudo apt-get remove dotnet-sdk-6.0

Daha fazla bilgi için bkz. Uninstall .NET.

.NET'i güncelle

.NET bir paket yöneticisi aracılığıyla yüklediyseniz, paketi apt upgrade komutuyla yükseltebilirsiniz. Örneğin, aşağıdaki komutlar dotnet-sdk-10.0 paketini en son sürümle yükseltir:

sudo apt update
sudo apt upgrade dotnet-sdk-10.0

Tavsiye

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

Önizleme sürümlerini yönetme

Aşağıdaki bölümlerde, .NET önizleme sürümlerinin nasıl yükleneceği ve kaldırıldığı açıklanmaktadır.

Önizleme sürümlerini yükleme

.NET önizleme ve sürüm adayı sürümleri paket depolarında kullanılamaz. .NET önizlemelerini ve yayın 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'nin önceki bir sürümü olarak yorumlanabilir. Önizleme olmayan sürümü yüklemek için önce önizleme sürümlerini kaldırın. .NET kaldırma hakkında daha fazla bilgi için bkz. .NET Çalışma Zamanı ve SDK kaldırma.

Sorun giderme

Ubuntu 22.04 ile birlikte, yalnızca .NET'in bir kısmı kullanılabilir gibi görünen bir durumla karşılaşabilirsiniz. Örneğin, çalışma zamanını ve SDK'yı yüklediniz, ancak dotnet --info çalıştırdığınızda yalnızca çalışma zamanı listelenir. Bu durum iki farklı paket kaynağının kullanılmasıyla ilgili olabilir. Yerleşik Ubuntu 22.04 ve Ubuntu 22.10 paket akışları, .NET bazı sürümlerini içerir ancak tümünü içermez ve Microsoft akışlarından .NET de yüklemiş olabilirsiniz. Bu sorunu giderme hakkında daha fazla bilgi için bkz. Linux üzerindeki eksik dosyalarla ilgili .NET hataları giderme.

APT sorunları

Bu bölüm, .NET yüklemek için APT kullanırken alabileceğ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 kullanma yalnızca x64 mimarisini destekler. Arm64 gibi diğer mimariler Microsoft paket akışı tarafından desteklenmez. Ubuntu akışlarını kullanın veya .NET el ile yükleyin. Birden çok akış kullanırken paket karışıklığı sorunlarına dikkat edin. Daha fazla bilgi için bkz. Linux üzerinde .NET paket karışımları.

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

  • <c0 /> betiğini kullanarak .NET'i yükleyin.</c1>
  • .NET.

Bulunamadı \ Bazı paketler yüklenemedi

Uyarı

Bu bilgiler yalnızca microsoft paket akışından .NET yüklendiğinde geçerlidir.

{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, aspnetcore-runtime-8.0 gibi yüklediğiniz .NET paketini temsil eder. 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 yüklemeyi yeniden deneyin. Bu işe yaramazsa, aşağıdaki komutlarla el ile yükleme çalıştırabilirsiniz:

Ubuntu 23.10 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}

Uyarı

Linux Mint gibi türetilmiş bir dağıtım kullanıyorsanız, $ID$VERSION_ID ve /etc/os-release değişkenleri Microsoft paketleri sunucusundaki herhangi bir dizinle eşleşmeyebilir ve bu da 404 hatasına neden olabilir. Hatayı çözmek için dağıtımınızın hangi Ubuntu veya Debian sürümünü temel aldığına bakın ve bunun yerine bu değerleri kullanın. Örneğin, Linux Mint 22, Ubuntu 24.04'ü temel alır, bu nedenle $ID için ubuntu ve $VERSION_ID için 24.04 kullanın.

23.10'den önceki bir Ubuntu 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}

Uyarı

Linux Mint gibi türetilmiş bir dağıtım kullanıyorsanız, $ID$VERSION_ID ve /etc/os-release değişkenleri Microsoft paketleri sunucusundaki herhangi bir dizinle eşleşmeyebilir ve bu da 404 hatasına neden olabilir. Hatayı çözmek için dağıtımınızın hangi Ubuntu veya Debian sürümünü temel aldığına bakın ve bunun yerine bu değerleri kullanın. Örneğin, Linux Mint 22, Ubuntu 24.04'ü temel alır, bu nedenle $ID için ubuntu ve $VERSION_ID için 24.04 kullanın.

Getirme başarısız oldu

.NET paketini yüklerken Failed to fetch ... File has unexpected size ... Mirror sync in progress? benzer 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 beslemesi 30 dakikadan uzun süre ulaşılamaz olmamalı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 el ile yüklerseniz veya bağımsız bir uygulama yayımlarsanız, uygulamanızı çalıştırmak için şu bağımlılıkları yüklemeniz gerekir:

  • CA sertifikaları
  • libc6
  • libgcc1 (16.x ve 18.x için)
  • libgcc-s1 (20.x veya üzeri için)
  • libgssapi-krb5-2
  • libicu55 (16.x için)
  • libicu60 (18.x için)
  • libicu66 (20.x için)
  • libicu70 (22.04 için)
  • libicu72 (23.10 için)
  • libicu74 (24.04 için)
  • libicu76 (25.04 ve 25.10 için)
  • libicu78 (26.04 veya üzeri için)
  • libssl1.0.0 (16.x için)
  • libssl1.1 (18.x, 20.x için)
  • libssl3 (22.x veya üzeri için)
  • libstdc++6
  • tzdata
  • zlib1g

apt install komutuyla bağımlılıklar yüklenebilir. Aşağıdaki kod parçacığı zlib1g kitaplığının kurulumunu gösterir.

sudo apt install zlib1g

Sonraki adımlar