Gambaran umum .NET di Ubuntu
Artikel ini menjelaskan cara menginstal .NET di Ubuntu. Dimulai dengan Ubuntu 22.04, sebagian besar versi .NET yang didukung tersedia di umpan Ubuntu bawaan. Repositori paket backport Ubuntu .NET berisi versi .NET yang didukung yang tersisa, yang tidak tersedia di umpan paket Ubuntu bawaan untuk versi Ubuntu ini. Untuk informasi selengkapnya tentang versi yang tersedia, lihat bagian Distribusi yang didukung. Selain itu, untuk Ubuntu 23.10 dan versi sebelumnya, repositori paket Microsoft berisi setiap versi .NET yang saat ini, atau sebelumnya didukung.
Peringatan
Disarankan agar Anda memilih antara umpan Ubuntu atau Microsoft ke paket .NET sumber. Jangan mencampur paket .NET dari beberapa repositori paket, karena ini menyebabkan masalah ketika aplikasi mencoba mengatasi versi .NET tertentu.
Metode | Pro | Kontra |
---|---|---|
Manajer paket (bawaan Umpan Ubuntu) |
|
|
Manajer paket (Backport.NET Umpan Ubuntu) |
|
|
Manajer paket (Umpan Microsoft) |
|
|
Skrip \ Ekstraksi manual |
|
|
Memutuskan cara menginstal .NET
Saat versi Ubuntu Anda mendukung .NET melalui umpan Ubuntu backport bawaan atau .NET, dukungan untuk build .NET tersebut disediakan oleh Canonical dan build mungkin dioptimalkan untuk beban kerja yang berbeda. Microsoft menyediakan dukungan untuk paket di umpan repositori paket Microsoft.
Gunakan bagian berikut untuk menentukan bagaimana Anda harus menginstal .NET:
- Saya menggunakan Ubuntu 22.04 atau yang lebih baru, dan saya hanya perlu .NET
- Saya menggunakan versi Ubuntu sebelum 22.04
- Saya menggunakan paket Microsoft lainnya, seperti
powershell
, ,mdatp
ataumssql
- Saya ingin membuat aplikasi .NET
- Saya ingin menjalankan aplikasi .NET dalam skenario kontainer, cloud, atau integrasi berkelanjutan
- Distribusi Ubuntu saya tidak menyertakan versi .NET yang saya inginkan, atau saya memerlukan versi .NET yang tidak didukung
- Saya ingin menginstal versi pratinjau
- Saya tidak ingin menggunakan APT
- Saya menggunakan CPU berbasis Arm
- Saya menggunakan platform IBM System Z
Saya menggunakan Ubuntu 22.04 atau yang lebih baru, dan saya hanya perlu .NET
Pasang .NET melalui umpan Ubuntu. Untuk informasi selengkapnya, lihat halaman berikut:
- Instal .NET di Ubuntu 24.04.
- Instal .NET di Ubuntu 23.10.
- Instal .NET di Ubuntu 23.04.
- Instal .NET di Ubuntu 22.04.
Penting
Versi .NET SDK yang ditawarkan oleh Canonical selalu ada di band fitur .1xx. Jika Anda ingin menggunakan rilis pita fitur yang lebih baru, gunakan umpan Microsoft untuk menginstal SDK. Pastikan Anda meninjau informasi dalam artikel campuran paket .NET di Linux untuk memahami implikasi peralihan antara umpan repositori.
Jika Anda akan menginstal repositori Microsoft untuk menggunakan paket Microsoft lainnya, seperti powershell
, , mdatp
atau mssql
, Anda perlu memisahkan paket .NET yang disediakan oleh repositori Microsoft. Untuk instruksi tentang cara mendeprioritaskan paket, lihat Distribusi Linux saya menyediakan paket .NET, dan saya ingin menggunakannya.
Saya menggunakan versi Ubuntu sebelum 22.04
Gunakan instruksi pada halaman Ubuntu khusus versi.
Tinjau bagian Distribusi yang didukung untuk informasi selengkapnya tentang versi .NET apa yang didukung untuk versi Ubuntu Anda. Jika Anda menginstal versi yang tidak didukung, lihat Mendaftarkan repositori paket Microsoft.
Saya menggunakan paket Microsoft lainnya, seperti powershell
, , mdatp
atau mssql
Jika versi Ubuntu Anda mendukung .NET melalui umpan Ubuntu, Anda harus memutuskan umpan mana yang harus menginstal .NET. Bagian Distribusi yang didukung menyediakan tabel yang mencantumkan versi .NET mana yang tersedia dalam umpan paket.
Jika Anda ingin sumber paket .NET dari umpan Ubuntu, Anda perlu memisahkan paket .NET yang disediakan oleh repositori Microsoft. Untuk instruksi tentang cara mendeprioritaskan paket, lihat Distribusi Linux saya menyediakan paket .NET, dan saya ingin menggunakannya.
Saya ingin membuat aplikasi .NET
Gunakan sumber paket yang sama untuk SDK seperti yang Anda gunakan untuk runtime. Disarankan agar Anda menginstal .NET melalui umpan Ubuntu. Namun, jika Anda ingin menginstal .NET dari sumber lain (misalnya repositori paket Microsoft untuk mengakses pita fitur SDK yang lebih tinggi), Anda harus menghapus instalasi .NET, mengonfigurasi manajer paket Anda untuk mengabaikan paket .NET dari umpan Ubuntu dan menginstalnya kembali dari sumber lain.
Tinjau saran lain di bagian Putuskan cara menginstal .NET .
Saya ingin menjalankan aplikasi .NET dalam skenario kontainer, cloud, atau integrasi berkelanjutan
Jika versi Ubuntu Anda menyediakan versi .NET yang Anda butuhkan, instal dari umpan Ubuntu. Jika tidak, daftarkan repositori paket Microsoft dan instal .NET dari repositori tersebut. Tinjau informasi di bagian Distribusi yang didukung.
Jika versi .NET yang Anda inginkan tidak tersedia, coba gunakan skrip dotnet-install.
Distribusi Ubuntu saya tidak menyertakan versi .NET yang saya inginkan, atau saya memerlukan versi .NET yang tidak didukung
Kami sarankan Anda menggunakan APT dan repositori paket Microsoft. Untuk informasi selengkapnya, lihat bagian Mendaftar dan menginstal dengan repositori paket Microsoft.
Saya ingin menginstal versi pratinjau
Gunakan salah satu cara berikut untuk menginstal .NET:
Saya tidak ingin menggunakan APT
Jika Anda menginginkan penginstalan otomatis, gunakan skrip penginstalan Linux.
Jika Anda ingin kontrol penuh atas pengalaman penginstalan .NET, unduh tarball dan instal .NET secara manual. Untuk informasi selengkapnya, lihat Penginstalan manual.
Saya menggunakan CPU berbasis Arm
Jika versi Ubuntu Anda menyediakan versi .NET yang Anda butuhkan, instal dari umpan bawaan. Tinjau informasi di bagian Distribusi yang didukung.
Jika versi .NET yang Anda inginkan tidak tersedia, coba gunakan salah satu cara berikut untuk menginstal .NET:
Saya menggunakan platform IBM System Z
Dimulai dengan .NET 8 pada Ubuntu 24.04, Canonical mendukung .NET untuk platform IBM System Z. Canonical bekerja untuk memperluas dukungan ke versi .NET dan Ubuntu lainnya.
Instal .NET melalui umpan Ubuntu bawaan. Untuk informasi selengkapnya, lihat halaman berikut ini:
Distribusi yang didukung
Tabel berikut adalah daftar rilis .NET yang saat ini didukung dan versi Ubuntu yang didukungnya. Setiap tautan masuk ke halaman versi Ubuntu tertentu dengan instruksi khusus tentang cara menginstal .NET untuk versi Ubuntu tersebut.
Ubuntu | Versi .NET yang didukung | Tersedia dalam umpan Ubuntu bawaan |
Tersedia di Backport .NET Umpan Ubuntu |
Tersedia di Umpan Microsoft |
---|---|---|---|---|
24.04 (LTS) | 8.0, 7.0, 6.0 | 8.0 | 7.0, 6.0 | Tidak |
23.10 | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | Tidak | 8.0, 7.0, 6.0 |
22.04 (LTS) | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | Tidak | 8.0, 7.0, 6.0, 3.1 |
20.04 (LTS) | 8.0, 7.0, 6.0 | Tidak | Tidak | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 |
18.04 (LTS) | 7.0, 6.0 | Tidak | Tidak | 7.0. 6.0, 5.0, 3.1, 2.2, 2.1 |
16.04 (LTS) | 6.0 | Tidak | Tidak | 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 |
Ketika versi Ubuntu mencapai akhir periode dukungannya, .NET tidak lagi didukung dengan versi Ubuntu tertentu.
Canonical mendukung versi .NET di umpan Ubuntu bawaan selama masa pakai versi Ubuntu tersebut, bahkan di luar masa pakai dukungan yang disediakan Microsoft dan memberikan dukungan upaya terbaik untuk versi .NET di repositori paket backport .NET, yang tidak meluas melampaui masa pakai dukungan yang disediakan Microsoft.
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
Repositori paket backport Ubuntu .NET
Repositori paket backport Ubuntu .NET menyediakan versi .NET, yang tidak tersedia di umpan Ubuntu bawaan. Bagian Distribusi yang didukung menyediakan tabel yang mencantumkan versi .NET mana yang tersedia di umpan paket. Canonical mempertahankan paket yang terkandung dalam repositori paket ini dan memberikan dukungan upaya terbaik, yang tidak melampaui masa pakai dukungan yang disediakan Microsoft atau periode dukungan dari versi Ubuntu tertentu.
Lihat tampilan web repositori paket backport Ubuntu .NET untuk detail selengkapnya.
Mendaftarkan repositori paket backport Ubuntu .NET
Buka terminal dan jalankan perintah berikut:
sudo add-apt-repository ppa:dotnet/backports
Tip
Anda tidak perlu memanggil apt update
. Perintah add-apt-repository
melakukan ini secara default.
Catatan
Repositori paket backport Ubuntu .NET kompatibel dengan umpan Ubuntu bawaan. Oleh karena itu Anda tidak perlu mengonfigurasi manajer paket Anda untuk mengabaikan paket .NET di umpan Ubuntu bawaan.
Membatalkan pendaftaran repositori paket backport Ubuntu .NET
Jika Anda tidak lagi ingin menggunakan paket dari repositori paket backport Ubuntu .NET, Anda dapat membatalkan pendaftarannya. Buka terminal dan jalankan perintah berikut:
sudo add-apt-repository --remove ppa:dotnet/backports
Penting
Membatalkan pendaftaran repositori paket backport Ubuntu .NET tidak menghapus instalan paket apa pun.
perintah add-apt-repository tidak ditemukan
add-apt-repository(1)
Utilitas telah diinstal sebelumnya pada sebagian besar penginstalan Ubuntu.
Jika Anda menerima pesan kesalahan bahwa add-apt-repository
perintah tidak ditemukan, Anda harus menginstal software-properties-common
paket, yang menyediakan perintah ini. Buka terminal dan jalankan perintah berikut:
sudo apt update
sudo apt install software-properties-common
Mendaftarkan repositori paket Microsoft
Repositori paket Microsoft berisi semua versi .NET yang sebelumnya, atau saat ini didukung dengan versi Ubuntu Anda. Jika versi Ubuntu Anda menyediakan paket .NET, Anda harus memisahkan paket Ubuntu dan menggunakan repositori Microsoft. Untuk petunjuk tentang cara mendeprioritaskan paket, lihat Saya memerlukan versi .NET yang tidak disediakan oleh distribusi Linux saya.
Penting
Repositori paket Microsoft hanya mendukung paket .NET yang menargetkan arsitektur x64 . Arsitektur lain, seperti Arm, harus menginstal .NET dengan beberapa cara lain, seperti dengan skrip alat penginstal atau dengan penginstalan manual.
Rilis pratinjau tidak tersedia di repositori paket Microsoft. Untuk informasi selengkapnya, lihat Menginstal versi pratinjau.
Perhatian
Kami menyarankan agar Anda hanya menggunakan satu repositori untuk mengelola semua penginstalan .NET Anda. Jika sebelumnya Anda telah menginstal .NET dengan repositori Ubuntu, Anda harus membersihkan sistem paket .NET dan mengonfigurasi APT untuk mengabaikan umpan Ubuntu. Untuk informasi selengkapnya tentang cara melakukan ini, lihat Saya memerlukan versi .NET yang tidak disediakan oleh distribusi Linux saya.
Menginstal dengan APT dapat dilakukan dengan beberapa perintah. Sebelum Anda menginstal .NET, jalankan perintah berikut untuk menambahkan kunci penandatanganan paket Microsoft ke daftar kunci tepercaya Anda, lalu tambahkan repositori paket.
Buka terminal dan jalankan perintah berikut:
# Get OS version info
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
Tip
Skrip sebelumnya ditulis untuk Ubuntu dan mungkin tidak berfungsi jika Anda menggunakan distribusi turunan, seperti Linux Mint. Kemungkinan variabel tidak akan diberi nilai yang $repo_version
benar, membuat URI untuk perintah tidak wget
valid. Variabel ini memetakan ke versi Ubuntu tertentu yang ingin Anda dapatkan paketnya, seperti 22.04 atau 23.10.
Anda dapat menggunakan browser web dan menavigasi untuk https://packages.microsoft.com/config/ubuntu/ melihat versi Ubuntu mana yang tersedia untuk digunakan sebagai $repo_version
nilai.
Menginstal .NET
Setelah mendaftarkan repositori paket Microsoft, atau jika Umpan Ubuntu mendukung paket .NET untuk versi Ubuntu Anda, Anda dapat menginstal .NET melalui manajer paket dengan sudo apt install <package-name>
perintah . Ganti <package-name>
dengan nama paket .NET yang ingin Anda instal. Misalnya, untuk menginstal .NET SDK 8.0, gunakan perintah sudo apt install dotnet-sdk-8.0
. Tabel berikut mencantumkan paket .NET yang saat ini didukung:
Produk | Jenis | Paket | |
---|---|---|---|
8.0 | Inti ASP.NET | Runtime | aspnetcore-runtime-8.0 |
8.0 | .NET | Runtime | dotnet-runtime-8.0 |
8.0 | .NET | SDK | dotnet-sdk-8.0 |
7.0 | Inti ASP.NET | Runtime | aspnetcore-runtime-7.0 |
7.0 | .NET | Runtime | dotnet-runtime-7.0 |
7.0 | .NET | SDK | dotnet-sdk-7.0 |
6.0 | Inti ASP.NET | Runtime | aspnetcore-runtime-6.0 |
6.0 | .NET | Runtime | dotnet-runtime-6.0 |
6.0 | .NET | SDK | dotnet-sdk-6.0 |
Jika Anda ingin menginstal versi .NET yang tidak didukung, periksa bagian Distribusi yang didukung untuk melihat apakah versi .NET tersebut tersedia. Kemudian, ganti versi .NET yang ingin Anda instal. Misalnya, untuk menginstal ASP.NET Core 8.0, gunakan nama aspnetcore-runtime-8.0
paket .
Tip
Jika Anda tidak membuat aplikasi .NET, instal runtime ASP.NET Core karena menyertakan runtime .NET dan juga mendukung aplikasi ASP.NET Core.
Beberapa variabel lingkungan memengaruhi cara .NET dijalankan setelah diinstal. Untuk informasi selengkapnya, lihat variabel lingkungan .NET SDK dan CLI.
Hapus instalan .NET
Jika Anda menginstal .NET melalui manajer paket, hapus instalan dengan cara yang sama dengan apt-get remove
perintah :
sudo apt-get remove dotnet-sdk-6.0
Untuk informasi selengkapnya, lihat Menghapus instalasi .NET.
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.
Gunakan APT untuk memperbarui .NET
Jika Anda menginstal .NET melalui manajer paket, Anda dapat meningkatkan paket dengan apt upgrade
perintah . Misalnya, perintah berikut meningkatkan dotnet-sdk-7.0
paket dengan versi terbaru:
sudo apt update
sudo apt upgrade dotnet-sdk-7.0
Tip
Jika Anda sudah meningkatkan distribusi Linux sejak menginstal .NET, Anda mungkin perlu mengonfigurasi ulang repositori paket Microsoft. Jalankan petunjuk penginstalan untuk versi distribusi Anda saat ini untuk meningkatkan ke repositori paket yang sesuai untuk pembaruan .NET.
Pemecahan Masalah
Dimulai dengan Ubuntu 22.04, Anda mungkin mengalami situasi di mana tampaknya hanya sepotong .NET yang tersedia. Misalnya, Anda telah menginstal runtime dan SDK, tetapi ketika Anda hanya menjalankan dotnet --info
runtime yang tercantum. Situasi ini dapat terkait dengan penggunaan dua sumber paket yang berbeda. Umpan paket Ubuntu 22.04 dan Ubuntu 22.10 bawaan mencakup beberapa versi .NET, tetapi tidak semua, dan Anda mungkin juga menginstal .NET dari umpan Microsoft. Untuk informasi selengkapnya tentang cara memperbaiki masalah ini, lihat Memecahkan masalah kesalahan .NET yang terkait dengan file yang hilang di Linux.
Masalah APT
Bagian ini menyediakan informasi tentang kesalahan umum yang mungkin Anda dapatkan saat menggunakan APT untuk menginstal .NET.
Tidak dapat menemukan paket
Penting
Menggunakan manajer paket untuk menginstal .NET dari umpan paket Microsoft hanya mendukung arsitektur x64 . Arsitektur lain, seperti Arm, tidak didukung oleh umpan paket Microsoft.
Untuk informasi lebih lanjut tentang menginstal .NET tanpa manajer paket, lihat salah satu artikel berikut ini:
Tidak dapat menemukan \ Beberapa paket tidak dapat diinstal
Catatan
Informasi ini hanya berlaku ketika .NET diinstal dari umpan paket Microsoft.
Jika Anda menerima pesan kesalahan yang mirip dengan Tidak dapat menemukan paket {dotnet-package} atau Beberapa paket tidak dapat diinstal, jalankan perintah berikut.
Ada dua tempat penampung dalam sekumpulan perintah berikut.
{dotnet-package}
Ini mewakili paket .NET yang Anda instal, sepertiaspnetcore-runtime-8.0
. Ini digunakan dalam perintahsudo apt-get install
berikut.
Pertama, coba hapus daftar paket:
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
Kemudian, coba instal .NET lagi. Jika tidak berhasil, Anda dapat menjalankan penginstalan manual dengan perintah berikut:
Jika Anda menggunakan Ubuntu 23.10 atau yang lebih baru, coba perintah berikut:
# 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
# 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}
Jika Anda menggunakan versi Ubuntu sebelum 23.10, coba perintah berikut:
# 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}
Gagal mengambil
Saat menginstal paket .NET, Anda mungkin melihat kesalahan yang mirip dengan Failed to fetch ... File has unexpected size ... Mirror sync in progress?
. Kesalahan ini bisa berarti bahwa umpan paket untuk .NET sedang ditingkatkan dengan versi paket yang lebih baru, dan Anda harus mencoba lagi nanti. Selama peningkatan, umpan paket seharusnya tidak tersedia selama lebih dari 30 menit. Jika Anda terus menerima kesalahan ini selama lebih dari 30 menit, silakan ajukan masalah di https://github.com/dotnet/core/issues.
Dependensi
Saat Anda menginstal dengan manajer paket, pustaka ini diinstal untuk Anda. Tetapi, jika Anda menginstal .NET secara manual atau menerbitkan aplikasi mandiri, Anda harus menginstal dependensi ini untuk menjalankan aplikasi Anda:
- ca-certificates
- libc6
- libgcc1 (untuk 16.x dan 18.x)
- libgcc-s1 (untuk 20.x atau yang lebih baru)
- libgssapi-krb5-2
- libicu55 (untuk 16.x)
- libicu60 (untuk 18.x)
- libicu66 (untuk 20.x)
- libicu70 (untuk 22.04)
- libicu72 (untuk 23.10)
- libicu74 (untuk 24.04 atau yang lebih baru)
- liblttng-ust1 (untuk 22.x atau yang lebih baru)
- libssl1.0.0 (untuk 16.x)
- libssl1.1 (untuk 18.x, 20.x)
- libssl3 (untuk 22.x atau yang lebih baru)
- libstdc++6
- libunwind8 (untuk 22.x atau yang lebih baru)
- zlib1g
Dependensi dapat diinstal dengan apt install
perintah . Cuplikan berikut menunjukkan penginstalan zlib1g
pustaka:
sudo apt install zlib1g
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.
Anda dapat menginstal versi terbaru libgdiplus dengan menambahkan repositori Mono ke sistem Anda.
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk