Instal .NET SDK atau .NET Runtime di SLES

.NET didukung pada SLES. Artikel ini menjelaskan cara menginstal .NET di SLES.

Instal SDK (yang mencakup runtime) jika Anda ingin mengembangkan aplikasi .NET. Atau, jika Anda hanya perlu menjalankan aplikasi, instal Runtime. Jika Anda menginstal Runtime, sebaiknya instal ASP.NET Core Runtime karena menyertakan runtime .NET dan ASP.NET Core.

dotnet --list-sdks Gunakan perintah dan dotnet --list-runtimes untuk melihat versi mana yang diinstal. Untuk informasi lebih lanjut, lihat Cara memeriksa apakah .NET sudah diinstal.

Distribusi yang didukung

Tabel berikut adalah daftar rilis .NET yang saat ini didukung pada SLES 12 SP2 dan SLES 15. Versi ini tetap didukung sampai versi .NET mencapai akhir dukungan atau versi SLES tidak lagi didukung.

SLES .NET
15 8, 7, 6
12 SP5 8, 7, 6

Versi .NET ❌ berikut tidak lagi didukung:

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

Menginstal versi pratinjau

Versi kandidat pratinjau dan rilis .NET tidak tersedia di repositori paket. Anda dapat menginstal pratinjau dan merilis kandidat .NET dengan salah satu cara berikut:

Menghapus versi pratinjau

Saat menggunakan manajer paket untuk mengelola penginstalan .NET, Anda mungkin mengalami konflik jika sebelumnya sudah menginstal rilis pratinjau. Manajer paket dapat menginterpretasikan rilis non-pratinjau sebagai versi .NET sebelumnya. Untuk menginstal rilis non-pratinjau, hapus instalan versi pratinjau terlebih dahulu. Untuk informasi lebih lanjut tentang menghapus instalan .NET, lihat Cara menghapus .NET Runtime dan SDK.

SLES 15

Sebelum Anda menginstal .NET, jalankan perintah berikut untuk menambahkan kunci penandatanganan paket Microsoft ke daftar kunci tepercaya Anda dan tambahkan repositori paket Microsoft. Buka terminal dan jalankan perintah berikut:

sudo rpm -Uvh https://packages.microsoft.com/config/sles/15/packages-microsoft-prod.rpm

Saat ini, paket penyiapan repositori Microsoft SLES 15 menginstal file microsoft-prod.repo ke direktori yang salah, mencegah zypper menemukan paket .NET. Untuk memperbaiki masalah ini, buat symlink di direktori yang benar.

sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod.repo

Pasang SDK

.NET SDK memungkinkan Anda mengembangkan aplikasi dengan .NET. Jika Anda menginstal .NET SDK, Anda tidak perlu menginstal runtime yang sesuai. Untuk menginstal .NET SDK, jalankan perintah berikut:

sudo zypper install dotnet-sdk-8.0

Menginstal runtime

ASP.NET Core Runtime memungkinkan Anda menjalankan aplikasi yang dibuat dengan .NET yang tidak menyediakan runtime. Perintah berikut menginstal ASP.NET Core Runtime, yang merupakan runtime yang paling kompatibel untuk .NET. Di terminal Anda, jalankan perintah berikut:

sudo zypper install aspnetcore-runtime-8.0

Sebagai alternatif untuk ASP.NET Core Runtime, Anda dapat menginstal .NET Runtime, yang tidak menyertakan dukungan ASP.NET Core: ganti aspnetcore-runtime-8.0 di perintah sebelumnya dengan dotnet-runtime-8.0:

sudo zypper install dotnet-runtime-8.0

SLES 12

.NET memerlukan SP2 minimal untuk keluarga SLES 12.

Sebelum Anda menginstal .NET, jalankan perintah berikut untuk menambahkan kunci penandatanganan paket Microsoft ke daftar kunci tepercaya Anda dan tambahkan repositori paket Microsoft. Buka terminal dan jalankan perintah berikut:

sudo rpm -Uvh https://packages.microsoft.com/config/sles/12/packages-microsoft-prod.rpm

Pasang SDK

.NET SDK memungkinkan Anda mengembangkan aplikasi dengan .NET. Jika Anda menginstal .NET SDK, Anda tidak perlu menginstal runtime yang sesuai. Untuk menginstal .NET SDK, jalankan perintah berikut:

sudo zypper install dotnet-sdk-8.0

Menginstal runtime

ASP.NET Core Runtime memungkinkan Anda menjalankan aplikasi yang dibuat dengan .NET yang tidak menyediakan runtime. Perintah berikut menginstal ASP.NET Core Runtime, yang merupakan runtime yang paling kompatibel untuk .NET. Di terminal Anda, jalankan perintah berikut:

sudo zypper install aspnetcore-runtime-8.0

Sebagai alternatif untuk ASP.NET Core Runtime, Anda dapat menginstal .NET Runtime, yang tidak menyertakan dukungan ASP.NET Core: ganti aspnetcore-runtime-8.0 di perintah sebelumnya dengan dotnet-runtime-8.0:

sudo zypper install dotnet-runtime-8.0

Cara menginstal versi lain

Semua versi .NET tersedia untuk diunduh di https://dotnet.microsoft.com/download/dotnet, tetapi memerlukan penginstalan manual. Anda dapat mencoba dan menggunakan manajer paket untuk menginstal versi .NET yang berbeda. Namun, versi yang diminta mungkin tidak tersedia.

Paket yang ditambahkan ke umpan manajer paket diberi nama dalam format yang dapat diretas, misalnya: {product}-{type}-{version}.

  • product
    Jenis produk .NET yang akan diinstal. Opsi yang valid adalah:

    • dotnet
    • aspnetcore
  • jenis
    Memilih SDK atau runtime. Opsi yang valid adalah:

    • sdk (hanya tersedia untuk produk dotnet )
    • runtime
  • versi
    Versi SDK atau runtime yang akan diinstal. Artikel ini akan selalu memberikan petunjuk untuk versi terbaru yang didukung. Opsi yang valid adalah versi yang dirilis, seperti:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Ada kemungkinan SDK/runtime yang Anda coba unduh tidak tersedia untuk distribusi Linux Anda. Untuk daftar distribusi yang didukung, lihat Menginstal .NET di Linux.

Contoh

  • Instal runtime ASP.NET Core 8.0: aspnetcore-runtime-8.0
  • Instal runtime .NET Core 2.1: dotnet-runtime-2.1
  • Instal .NET 5 SDK: dotnet-sdk-5.0
  • Instal .NET Core 3.1 SDK: dotnet-sdk-3.1

Paket hilang

Jika kombinasi versi paket tidak berfungsi, kombinasi tersebut tidak tersedia. Misalnya, tidak ada ASP.NET Core SDK, komponen SDK disertakan dengan .NET SDK. Nilai aspnetcore-sdk-8.0 salah dan harus dotnet-sdk-8.0. Untuk daftar distribusi Linux yang didukung oleh .NET, lihat dependensi dan persyaratan .NET.

Memecahkan masalah manajer paket

Bagian ini menyediakan informasi tentang kesalahan umum yang mungkin Anda dapatkan saat menggunakan manajer paket untuk menginstal .NET.

Gagal mengambil

Saat menginstal paket .NET, Anda mungkin melihat kesalahan yang mirip dengan signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. Secara umum, kesalahan ini berarti bahwa umpan paket untuk .NET sedang ditingkatkan dengan versi paket yang lebih baru, dan Anda harus mencoba lagi nanti. Selama peningkatan, umpan paket tidak boleh tersedia selama lebih dari 2 jam. Jika Anda terus menerima kesalahan ini selama lebih dari 2 jam, silakan ajukan masalah di https://github.com/dotnet/core/issues.

Dependensi

Saat Anda menginstal dengan manajer paket, pustaka ini diinstal untuk Anda. Namun, jika Anda menginstal .NET secara manual atau menerbitkan aplikasi mandiri, Anda harus memastikan pustaka ini diinstal:

  • krb5
  • libicu
  • libopenssl1_1

Jika versi OpenSSL lingkungan runtime target adalah 1.1 atau yang lebih baru, Anda harus menginstal compat-openssl10.

Dependensi dapat diinstal dengan zypper install perintah . Cuplikan berikut menunjukkan penginstalan krb5 pustaka:

sudo zypper install krb5

Untuk informasi selengkapnya tentang dependensi, lihat Aplikasi Linux mandiri.

Jika aplikasi .NET menggunakan rakitan System.Drawing.Common , libgdiplus juga perlu diinstal. Karena System.Drawing.Common tidak lagi didukung di Linux, ini hanya berfungsi pada .NET 6 dan memerlukan pengaturan System.Drawing.EnableUnixSupport sakelar konfigurasi runtime.

Langkah berikutnya