Yükleme betiği kullanarak veya ikili dosyaları ayıklayarak Linux'a .NET yükleme

Bu makalede, yükleme betiğini kullanarak veya ikili dosyaları ayıklayarak Linux'ta .NET SDK veya .NET Çalışma Zamanı'nın nasıl yükleneceği gösterilmektedir. Yerleşik paket yöneticisini destekleyen dağıtımların listesi için bkz . Linux'a .NET yükleme.

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

.NET sürümleri

İki tür desteklenen sürüm vardır: Uzun Süreli Destek (LTS) sürümleri veya Standart Terim Desteği (STS). Tüm sürümlerin kalitesi aynıdır. Tek fark desteğin uzunluğudur. LTS sürümleri 3 yıl boyunca ücretsiz destek ve yamalar alır. STS sürümleri 18 ay boyunca ücretsiz destek ve yamalar alır. Daha fazla bilgi için bkz . .NET Destek İlkesi.

Aşağıdaki tabloda her .NET sürümünün (ve .NET Core) destek durumu listelenir:

✔️ Desteklenen ❌ Desteklenme -yen
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.2
2.1
2.0
1.1
1.0

Bağımlılıklar

.NET yüklediğinizde, el ile yükleme gibi belirli bağımlılıklar yüklenmeyebilir. Aşağıdaki listede, Microsoft tarafından desteklenen ve yüklemeniz gerekebilecek bağımlılıkları olan Linux dağıtımları açıklanmaktadır. Daha fazla bilgi için dağıtım sayfasına bakın:

Bağımlılıklar hakkında genel bilgi için bkz . Bağımsız Linux uygulamaları.

RPM bağımlılıkları

Dağıtımınız daha önce listelenmemişse ve RPM tabanlıysa aşağıdaki bağımlılıklara ihtiyacınız olabilir:

  • krb5-libs
  • libicu
  • openssl-libs

Hedef çalışma zamanı ortamının OpenSSL sürümü 1.1 veya daha yeniyse yükleyin compat-openssl10.

DEB bağımlılıkları

Dağıtımınız daha önce listelenmemişse ve debian tabanlıysa aşağıdaki bağımlılıklara ihtiyacınız olabilir:

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

Ortak bağımlılıklar

.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 genellikle libgdiplus'ın son sürümünü yükleyebilirsiniz.

Betikli yükleme

dotnet-install betikleri, SDKve Çalışma Zamanı'nın otomasyon ve yönetici olmayan yüklemeleri için kullanılır. Betiği adresinden https://dot.net/v1/dotnet-install.shindirebilirsiniz. .NET bu şekilde yüklendiğinde, Linux dağıtımınız için gereken bağımlılıkları yüklemeniz gerekir. Linux dağıtımınız için Linux'a .NET yükleme makalesindeki bağlantıları kullanın.

Önemli

Betiği çalıştırmak için Bash gereklidir.

Betiği ile wgetindirebilirsiniz:

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh

Bu betiği çalıştırmadan önce, bu betiğin yürütülebilir dosya olarak çalışması için izin verdiğinden emin olun:

chmod +x ./dotnet-install.sh

Betik varsayılan olarak .NET 8 olan en son uzun vadeli destek (LTS) SDK sürümünü yükler. (LTS) sürümü olmayan en son sürümü yüklemek için parametresini --version latest kullanın.

./dotnet-install.sh --version latest

SDK yerine .NET Çalışma Zamanı yüklemek için parametresini --runtime kullanın.

./dotnet-install.sh --version latest --runtime aspnetcore

Belirli bir ana sürümü, belirli bir sürümü belirtmek için parametresiyle --channel yükleyebilirsiniz. Aşağıdaki komut .NET 8.0 SDK'sını yükler.

./dotnet-install.sh --channel 8.0

Daha fazla bilgi için bkz . dotnet-install betik başvurusu.

Komut satırında .NET'i etkinleştirmek için bkz . Sistem genelinde ortam değişkenlerini ayarlama.

El ile yükleme

Paket yöneticilerine alternatif olarak SDK'yı ve çalışma zamanını indirip el ile yükleyebilirsiniz. El ile yükleme yaygın olarak sürekli tümleştirme testinin bir parçası olarak veya desteklenmeyen bir Linux dağıtımında kullanılır. Bir geliştirici veya kullanıcı için paket yöneticisi kullanmak daha iyidir.

Aşağıdaki sitelerden birinden SDK veya çalışma zamanı için ikili sürümü indirin. .NET SDK'sı ilgili çalışma zamanını içerir:

İndirilen dosyayı ayıklayın ve komutunu kullanarak export ayıklanan klasörün konumuna ayarlayın DOTNET_ROOT ve ardından .NET'in PATH içinde olduğundan emin olun. Dışarı aktarma, DOTNET_ROOT .NET CLI komutlarının terminalde kullanılabilir olmasını sağlar. .NET ortam değişkenleri hakkında daha fazla bilgi için bkz . .NET SDK ve CLI ortam değişkenleri.

.NET'in farklı sürümleri, yan yana bulunan aynı klasöre ayıklanabilir.

Örnek

Aşağıdaki komutlar, ortam değişkenini DOTNET_ROOT geçerli çalışma dizinine ve ardından .dotnetöğesine ayarlamak için Bash kullanır. Bu dizin yoksa oluşturulur. Ortam DOTNET_FILE değişkeni, yüklemek istediğiniz .NET ikili sürümünün dosya adıdır. Bu dosya dizine DOTNET_ROOT ayıklanır. DOTNET_ROOT Hem dizin hem tools de alt dizini ortam değişkenine PATH eklenir.

Önemli

Bu komutları çalıştırırsanız, değeri indirdiğiniz .NET ikili dosyasının adıyla değiştirmeyi DOTNET_FILE unutmayın.

DOTNET_FILE=dotnet-sdk-8.0.100-linux-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

Aynı klasöre birden fazla .NET sürümü yükleyebilirsiniz.

.NET'i değişkeni veya ~ yolu tarafından tanımlanan giriş dizinine HOME de yükleyebilirsiniz:

export DOTNET_ROOT=$HOME/.dotnet

İndirilen ikili dosyaları doğrulama

Yükleyiciyi indirdikten sonra dosyanın değiştirilmediğinden veya bozulmadığından emin olmak için dosyayı doğrulayın. Bilgisayarınızda sağlama toplamını doğrulayabilir ve ardından indirme web sitesinde bildirilenlerle karşılaştırabilirsiniz.

Resmi bir indirme sayfasından bir yükleyici veya ikili dosya indirdiğinizde, dosyanın sağlama toplamı görüntülenir. Sağlama toplamı değerini panonuza kopyalamak için Kopyala düğmesini seçin.

The .NET download page with checksum

sha512sum İndirdiğiniz dosyanın sağlama toplamını yazdırmak için komutunu kullanın. Örneğin, aşağıdaki komut dotnet-sdk-8.0.100-linux-x64.tar.gz dosyasının sağlama toplamını bildirir:

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

Sağlama toplamını indirme sitesi tarafından sağlanan değerle karşılaştırın.

Önemli

Bu örneklerde bir Linux dosyası gösteriliyor olsa da, bu bilgiler macOS için de aynı şekilde geçerlidir.

Doğrulamak için sağlama toplamı dosyası kullanma

.NET sürüm notları, indirilen dosyanızı doğrulamak için kullanabileceğiniz sağlama toplamı dosyasının bağlantısını içerir. Aşağıdaki adımlarda sağlama toplamı dosyasını indirme ve .NET yükleme ikili dosyasını doğrulama adımları açıklanmaktadır:

  1. GitHub'daki https://github.com/dotnet/core/tree/main/release-notes/8.0 .NET 8 sürüm notları sayfasında Releases adlı bir bölüm bulunur. Bu bölümdeki tablo, her .NET 8 sürümü için indirme ve sağlama toplamı dosyalarına bağlanır:

    The github release notes version table for .NET

  2. İndirdiğiniz .NET sürümünün bağlantısını seçin. Önceki bölümde .NET 8.0.0 sürümündeki .NET SDK 8.0.100 kullanılmıştır.

  3. Yayın sayfasında .NET Çalışma Zamanı ve .NET SDK sürümünü ve sağlama toplamı dosyasının bağlantısını görebilirsiniz:

    The download table with checksums for .NET

  4. Sağlama toplamı dosyasının bağlantısını kopyalayın.

  5. Aşağıdaki betiği kullanın, ancak uygun sağlama toplamı dosyasını indirmek için bağlantıyı değiştirin:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Hem sağlama toplamı dosyası hem de .NET yayın dosyası aynı dizine indirilirken, indirilen dosyayı doğrulamak için komutunu kullanın sha512sum -c {file} --ignore-missing .

    Doğrulama başarılı olduğunda dosyanın Tamam durumuyla yazdırıldığını görürsünüz:

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    BAŞARıSıZ olarak işaretlenmiş bir dosya görürseniz, indirdiğiniz dosya geçerli değildir ve kullanılmamalıdır.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Sistem genelinde ortam değişkenlerini ayarlama

Önceki yükleme betiğini kullandıysanız, ayarlanan değişkenler yalnızca geçerli terminal oturumunuza uygulanır. Bunları kabuk profilinize ekleyin. Linux için kullanılabilen birçok farklı kabuk vardır ve her birinin farklı bir profili vardır. Örneğin:

  • Bash Kabuğu: ~/.bash_profile veya ~/.bashrc
  • Korn Kabuğu: ~/.kshrc veya .profile
  • Z Kabuğu: ~/.zshrc veya .zprofile

Kabuk profilinizde aşağıdaki iki ortam değişkenini ayarlayın:

  • DOTNET_ROOT

    Bu değişken , .NET'in yüklendiği klasöre ayarlanır; örneğin $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Bu değişken hem klasörü DOTNET_ROOT/tools hem de DOTNET_ROOT klasörü içermelidir:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Sonraki adımlar