diff --git a/docs/core/install/includes/linux-install-60-apk.md b/docs/core/install/includes/linux-install-60-apk.md new file mode 100644 index 0000000000000..f2fecaddc90fb --- /dev/null +++ b/docs/core/install/includes/linux-install-60-apk.md @@ -0,0 +1,28 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/22/2022 +ms.topic: include +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo apk add dotnet6-sdk +``` + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command install the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo apk add aspnetcore6-runtime +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore6-runtime` in the previous command with `dotnet6-runtime`: + +```bash +sudo apk add dotnet6-runtime +``` diff --git a/docs/core/install/includes/linux-install-60-apt.md b/docs/core/install/includes/linux-install-60-apt.md index 6b63e032f8898..804041992e1c8 100644 --- a/docs/core/install/includes/linux-install-60-apt.md +++ b/docs/core/install/includes/linux-install-60-apt.md @@ -15,7 +15,7 @@ sudo apt-get update && \ ``` > [!IMPORTANT] -> If you receive an error message similar to **Unable to locate package dotnet-sdk-6.0**, see the [APT troubleshooting](#apt-troubleshooting) section. +> If you receive an error message similar to **Unable to locate package dotnet-sdk-6.0**, see the [troubleshooting](#troubleshooting) section. ### Install the runtime @@ -27,7 +27,7 @@ sudo apt-get update && \ ``` > [!IMPORTANT] -> If you receive an error message similar to **Unable to locate package aspnetcore-runtime-6.0**, see the [APT troubleshooting](#apt-troubleshooting) section. +> If you receive an error message similar to **Unable to locate package aspnetcore-runtime-6.0**, see the [troubleshooting](#troubleshooting) section. As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-6.0` in the previous command with `dotnet-runtime-6.0`: diff --git a/docs/core/install/includes/linux-install-70-apk.md b/docs/core/install/includes/linux-install-70-apk.md new file mode 100644 index 0000000000000..784f201c22221 --- /dev/null +++ b/docs/core/install/includes/linux-install-70-apk.md @@ -0,0 +1,28 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/22/2022 +ms.topic: include +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo apk add dotnet7-sdk +``` + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo apk add aspnetcore7-runtime +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore7-runtime` in the previous command with `dotnet7-runtime`: + +```bash +sudo apk add dotnet7-runtime +``` diff --git a/docs/core/install/includes/linux-install-70-apt.md b/docs/core/install/includes/linux-install-70-apt.md new file mode 100644 index 0000000000000..afeefe745b7b2 --- /dev/null +++ b/docs/core/install/includes/linux-install-70-apt.md @@ -0,0 +1,36 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/15/2022 +ms.topic: include +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following commands: + +```bash +sudo apt-get update && \ + sudo apt-get install -y dotnet-sdk-7.0 +``` + +> [!IMPORTANT] +> If you receive an error message similar to **Unable to locate package dotnet-sdk-7.0**, see the [troubleshooting](#troubleshooting) section. + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following commands install the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following commands: + +```bash +sudo apt-get update && \ + sudo apt-get install -y aspnetcore-runtime-7.0 +``` + +> [!IMPORTANT] +> If you receive an error message similar to **Unable to locate package aspnetcore-runtime-7.0**, see the [troubleshooting](#troubleshooting) section. + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-7.0` in the previous command with `dotnet-runtime-7.0`: + +```bash +sudo apt-get install -y dotnet-runtime-7.0 +``` diff --git a/docs/core/install/includes/linux-install-70-dnf.md b/docs/core/install/includes/linux-install-70-dnf.md new file mode 100644 index 0000000000000..f02588b2ad75f --- /dev/null +++ b/docs/core/install/includes/linux-install-70-dnf.md @@ -0,0 +1,28 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/15/2022 +ms.topic: include +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo dnf install dotnet-sdk-7.0 +``` + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo dnf install aspnetcore-runtime-7.0 +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-7.0` in the previous command with `dotnet-runtime-7.0`: + +```bash +sudo dnf install dotnet-runtime-7.0 +``` diff --git a/docs/core/install/includes/linux-install-70-yum.md b/docs/core/install/includes/linux-install-70-yum.md new file mode 100644 index 0000000000000..225713114fed1 --- /dev/null +++ b/docs/core/install/includes/linux-install-70-yum.md @@ -0,0 +1,28 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/15/2022 +ms.topic: include +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo yum install dotnet-sdk-7.0 +``` + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo yum install aspnetcore-runtime-7.0 +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-7.0` in the previous command with `dotnet-runtime-7.0`: + +```bash +sudo yum install dotnet-runtime-7.0 +``` diff --git a/docs/core/install/includes/linux-install-70-zyp.md b/docs/core/install/includes/linux-install-70-zyp.md new file mode 100644 index 0000000000000..c69a90be30075 --- /dev/null +++ b/docs/core/install/includes/linux-install-70-zyp.md @@ -0,0 +1,28 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/15/2022 +ms.topic: include +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo zypper install dotnet-sdk-7.0 +``` + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo zypper install aspnetcore-runtime-7.0 +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-7.0` in the previous command with `dotnet-runtime-7.0`: + +```bash +sudo zypper install dotnet-runtime-7.0 +``` diff --git a/docs/core/install/linux-alpine.md b/docs/core/install/linux-alpine.md index f4ab5abc8bfe5..7549eaed86341 100644 --- a/docs/core/install/linux-alpine.md +++ b/docs/core/install/linux-alpine.md @@ -3,43 +3,63 @@ title: Install .NET on Alpine description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Alpine. author: adegeo ms.author: adegeo -ms.date: 10/26/2021 +ms.date: 11/22/2022 --- # Install the .NET SDK or the .NET Runtime on Alpine -This article describes how to install .NET on Alpine. When an Alpine version falls out of support, .NET is no longer supported with that version. However, these instructions may help you to get .NET running on those versions, even though it isn't supported. +.NET is supported on Alpine and this article describes how to install .NET on Alpine. When an Alpine version falls out of support, .NET is no longer supported with that version. [!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)] -## Install +The Alpine package manager supports installing some versions of .NET. If the .NET package is unavailable, you'll need to install .NET in one of the following alternative ways: -Installers aren't available for Alpine Linux. You must install .NET in one of the following ways: +- [Install with Snap.](linux-snap.md) +- [Use the .NET install script.](linux-scripted-manual.md#scripted-install) +- [Download and install .NET manually.](linux-scripted-manual.md#manual-install) -- [Scripted install with _install-dotnet.sh_](linux-scripted-manual.md#scripted-install) -- [Manual binary extraction](linux-scripted-manual.md#manual-install) +## Install .NET 7 + +[!INCLUDE [linux-apk-install-70](includes/linux-install-70-apk.md)] + +## Install .NET 6 + +[!INCLUDE [linux-apk-install-60](includes/linux-install-60-apk.md)] ## Supported distributions The following table is a list of currently supported .NET releases and the versions of Alpine they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Alpine reaches end-of-life](https://alpinelinux.org/releases/). -- A ✔️ indicates that the version of Alpine or .NET is still supported. -- A ❌ indicates that the version of Alpine or .NET isn't supported on that Alpine release. -- When both a version of Alpine and a version of .NET have ✔️, that OS and .NET combination is supported. - -| Alpine | .NET Core 3.1 | .NET 6 | -|---------|---------------|-----------| -| ✔️ 3.15 | ✔️ 3.1 | ✔️ 6.0 | -| ✔️ 3.14 | ✔️ 3.1 | ✔️ 6.0 | -| ✔️ 3.13 | ✔️ 3.1 | ✔️ 6.0 | -| ✔️ 3.12 | ✔️ 3.1 | ✔️ 6.0 | -| ❌ 3.11 | ✔️ 3.1 | ❌ 6.0 | -| ❌ 3.10 | ✔️ 3.1 | ❌ 6.0 | -| ❌ 3.9 | ✔️ 3.1 | ❌ 6.0 | -| ❌ 3.8 | ✔️ 3.1 | ❌ 6.0 | +| Alpine | .NET | +|--------|-----------| +| 3.17 | 7, 6 | +| 3.16 | 7, 6, 3.1 | +| 3.15 | 7, 6, 3.1 | +| 3.14 | 6, 3.1 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] +## Supported architectures + +| Architecture | .NET 6 | .NET 7 | +|------------------|---------|---------| +| x86_64 | ✔️ 3.16 | ✔️ 3.17 | +| x86 | ❌ | ❌ | +| aarch64 | ✔️ 3.16 | ✔️ 3.17 | +| armv7 | ✔️ 3.16 | ✔️ 3.17 | +| armhf | ❌ | ❌ | +| s390x | ✔️ 3.17 | ❌ | +| ppc64le | ❌ | ❌ | +| riscv64 | ❌ | ❌ | + +## Install preview versions + +[!INCLUDE [preview installs don't support package managers](./includes/linux-install-previews.md)] + +## Remove preview versions + +[!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] + ## Dependencies .NET on Alpine Linux requires the following dependencies installed: diff --git a/docs/core/install/linux-centos.md b/docs/core/install/linux-centos.md index f341d244119a0..a6f8222e72204 100644 --- a/docs/core/install/linux-centos.md +++ b/docs/core/install/linux-centos.md @@ -3,7 +3,7 @@ title: Install .NET on CentOS description: Demonstrates the various ways to install .NET SDK and .NET Runtime on CentOS. author: adegeo ms.author: adegeo -ms.date: 03/21/2022 +ms.date: 11/15/2022 --- # Install the .NET SDK or the .NET Runtime on CentOS @@ -18,17 +18,12 @@ ms.date: 03/21/2022 The following table is a list of currently supported .NET releases on both CentOS 7 and CentOS 8. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of CentOS is no longer supported. -- A ✔️ indicates that the version of CentOS or .NET is still supported. -- A ❌ indicates that the version of CentOS or .NET isn't supported on that CentOS release. -- When both a version of CentOS and a version of .NET have ✔️, that OS and .NET combination is supported. - -| CentOS | .NET Core 3.1 | .NET 6 | -|--------------------------|---------------|----------------| -| ✔️ [7](#centos-7-) | ✔️ 3.1 | ✔️ 6.0 | -| ❌ [8](#centos-8-)\* | ✔️ 3.1 | ❌ 6.0 | +| CentOS | .NET | +|---------|-----------| +| 7 | 7, 6, 3.1 | > [!WARNING] -> \*CentOS 8 reached an early End Of Life (EOL) on December 31st, 2021. For more information, see the official [CentOS Linux EOL page](https://www.centos.org/centos-linux-eol/). Because of this, .NET 6 won't be supported on CentOS Linux 8. +> \*CentOS 8 reached an early End Of Life (EOL) on December 31st, 2021. For more information, see the official [CentOS Linux EOL page](https://www.centos.org/centos-linux-eol/). Because of this, .NET 6 and later versions won't be supported on CentOS Linux 8. [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -42,7 +37,7 @@ The following table is a list of currently supported .NET releases on both CentO [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] -## CentOS 7 ✔️ +## CentOS 7 [!INCLUDE [linux-prep-intro-generic](includes/linux-prep-intro-generic.md)] @@ -50,16 +45,7 @@ The following table is a list of currently supported .NET releases on both CentO sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm ``` -[!INCLUDE [linux-yum-install-60](includes/linux-install-60-yum.md)] - -## CentOS 8 ✔️ - -> [!WARNING] -> \*CentOS 8 will reach an early End Of Life (EOL) on December 31st, 2021. For more information, see the official [CentOS Linux EOL page](https://www.centos.org/centos-linux-eol/). Because of this, .NET 6 won't be supported on CentOS Linux 8. - -.NET 5 is available in the default package repositories for CentOS 8. - -[!INCLUDE [linux-dnf-install-50](includes/linux-install-50-dnf.md)] +[!INCLUDE [linux-yum-install-70](includes/linux-install-70-yum.md)] ## How to install other versions diff --git a/docs/core/install/linux-debian.md b/docs/core/install/linux-debian.md index 238936b76c857..378306543e14a 100644 --- a/docs/core/install/linux-debian.md +++ b/docs/core/install/linux-debian.md @@ -3,7 +3,7 @@ title: Install .NET on Debian description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Debian. author: adegeo ms.author: adegeo -ms.date: 03/25/2022 +ms.date: 11/15/2022 --- # Install the .NET SDK or the .NET Runtime on Debian @@ -18,16 +18,10 @@ This article describes how to install .NET on Debian. When a Debian version fall The following table is a list of currently supported .NET releases and the versions of Debian they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Debian reaches end-of-life](https://wiki.debian.org/DebianReleases). -- A ✔️ indicates that the version of Debian or .NET is still supported. -- A ❌ indicates that the version of Debian or .NET isn't supported on that Debian release. -- When both a version of Debian and a version of .NET have ✔️, that OS and .NET combination is supported. - -| Debian | .NET Core 3.1 | .NET 6 | -|--------------------------|---------------|----------| -| ✔️ [11](#debian-11-) | ✔️ 3.1 | ✔️ 6.0 | -| ✔️ [10](#debian-10-) | ✔️ 3.1 | ✔️ 6.0 | -| ✔️ [9](#debian-9-) | ✔️ 3.1 | ✔️ 6.0 | -| ❌ [8](#debian-8-) | ❌ 3.1 | ❌ 6.0 | +| Debian | .NET | +|---------|-----------| +| 11 | 7, 6, 3.1 | +| 10 | 7, 6, 3.1 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -39,7 +33,7 @@ The following table is a list of currently supported .NET releases and the versi [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] -## Debian 11 ✔️ +## Debian 11 [!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] @@ -49,9 +43,9 @@ sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb ``` -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] +[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)] -## Debian 10 ✔️ +## Debian 10 [!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] @@ -61,39 +55,7 @@ sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb ``` -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] - -## Debian 9 ✔️ - -[!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] - -```bash -wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg -sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ -wget https://packages.microsoft.com/config/debian/9/prod.list -sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list -sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg -sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list -``` - -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] - -## Debian 8 ❌ - -[!INCLUDE [linux-not-supported](includes/linux-not-supported-debian.md)] - -[!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] - -```bash -wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg -sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ -wget https://packages.microsoft.com/config/debian/8/prod.list -sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list -sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg -sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list -``` - -[!INCLUDE [linux-apt-install-21](includes/linux-install-21-apt.md)] +[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)] ## How to install other versions @@ -110,7 +72,7 @@ sudo apt-get upgrade If you've upgraded your Linux distribution since installing .NET, you may need to reconfigure the Microsoft package repository. Run the installation instructions for your current distribution version to upgrade to the appropriate package repository for .NET updates. -## APT troubleshooting +## Troubleshooting This section provides information on common errors you may get while using APT to install .NET. diff --git a/docs/core/install/linux-fedora.md b/docs/core/install/linux-fedora.md index 7dda34cf960de..8fa34b0afb2af 100644 --- a/docs/core/install/linux-fedora.md +++ b/docs/core/install/linux-fedora.md @@ -3,7 +3,7 @@ title: Install .NET on Fedora description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Fedora. author: adegeo ms.author: adegeo -ms.date: 08/07/2022 +ms.date: 11/15/2022 --- # Install the .NET SDK or the .NET Runtime on Fedora @@ -18,28 +18,28 @@ For more information on installing .NET without a package manager, see one of th - [Install the .NET SDK or the .NET Runtime with a script.](linux-scripted-manual.md#scripted-install) - [Install the .NET SDK or the .NET Runtime manually.](linux-scripted-manual.md#manual-install) -## Install .NET 6 +## Supported distributions -[!INCLUDE [linux-dnf-install-60](includes/linux-install-60-dnf.md)] +The following table is a list of currently supported .NET releases and the versions of Fedora they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Fedora reaches end-of-life](https://fedoraproject.org/wiki/End_of_life). -## Install .NET Core 3.1 +| Fedora | .NET | +|--------|-----------| +| 37 | 6 | +| 36 | 6, 3.1 | +| 35 | 6, 3.1 | -[!INCLUDE [linux-dnf-install-31](includes/linux-install-31-dnf.md)] +> [!IMPORTANT] +> .NET 7 isn't yet ready for Fedora. This article will be updated when it's available. -## Supported distributions +[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] -The following table is a list of currently supported .NET releases and the versions of Fedora they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Fedora reaches end-of-life](https://fedoraproject.org/wiki/End_of_life). +## Install .NET 6 -- A ✔️ indicates that the version of Fedora or .NET is still supported. -- A ❌ indicates that the version of Fedora or .NET isn't supported on that Fedora release. -- When both a version of Fedora and a version of .NET have ✔️, that OS and .NET combination is supported. +[!INCLUDE [linux-dnf-install-60](includes/linux-install-60-dnf.md)] -| .NET Version | Fedora 36 ✔️ | 35 ✔️ | 34 ❌ | 33 ❌ | 32 ❌ | 31 ❌ | 30 ❌ | 29 ❌ | -| ------------ | ---------: | --: | --: | --: | --: | --: | --: | --: | -| .NET 6 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |❌ |❌ | -| .NET Core 3.1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |✔️ |✔️ | +## Install .NET Core 3.1 -[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] +[!INCLUDE [linux-dnf-install-31](includes/linux-install-31-dnf.md)] ## Install preview versions diff --git a/docs/core/install/linux-opensuse.md b/docs/core/install/linux-opensuse.md index 470868af2b5fd..0346663c36a84 100644 --- a/docs/core/install/linux-opensuse.md +++ b/docs/core/install/linux-opensuse.md @@ -3,7 +3,7 @@ title: Install .NET on openSUSE description: Demonstrates the various ways to install .NET SDK and .NET Runtime on openSUSE. author: adegeo ms.author: adegeo -ms.date: 08/07/2022 +ms.date: 11/15/2022 --- # Install the .NET SDK or the .NET Runtime on openSUSE @@ -18,13 +18,9 @@ ms.date: 08/07/2022 The following table is a list of currently supported .NET releases on openSUSE 15. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of openSUSE is no longer supported. -- A ✔️ indicates that the version of openSUSE or .NET is still supported. -- A ❌ indicates that the version of openSUSE or .NET isn't supported on that openSUSE release. -- When both a version of openSUSE and a version of .NET have ✔️, that OS and .NET combination is supported. - -| openSUSE | .NET Core 3.1 | .NET 6 | -|----------------------------|---------------|----------------| -| ✔️ [15](#opensuse-15-) | ✔️ 3.1 | ✔️ 6.0 | +| openSUSE | .NET | +|------------|-----------| +| 15 | 7, 6, 3.1 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -36,7 +32,7 @@ The following table is a list of currently supported .NET releases on openSUSE 1 [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] -## openSUSE 15 ✔️ +## openSUSE 15 [!INCLUDE [linux-prep-intro-generic](includes/linux-prep-intro-generic.md)] @@ -48,7 +44,7 @@ sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo ``` -[!INCLUDE [linux-zyp-install-60](includes/linux-install-60-zyp.md)] +[!INCLUDE [linux-zyp-install-70](includes/linux-install-70-zyp.md)] ## How to install other versions diff --git a/docs/core/install/linux-package-mixup.md b/docs/core/install/linux-package-mixup.md index 70344e2682d25..97bb35ccf0861 100644 --- a/docs/core/install/linux-package-mixup.md +++ b/docs/core/install/linux-package-mixup.md @@ -1,14 +1,14 @@ --- -title: Troubleshoot .NET Package Mix ups on Linux -description: Learn about how to troubleshoot strange .NET package errors on Linux. +title: Troubleshoot .NET package mix ups on Linux +description: Learn about how to troubleshoot strange .NET package errors on Linux. These errors may occur when you run the dotnet command. author: omajid ms.date: 10/31/2022 no-loc: ['usr','lib64','share','dotnet','libhostfxr.so', 'fxr', 'FrameworkList.xml', 'System.IO.FileNotFoundException'] --- -# Troubleshoot _fxr_, _libhostfxr.so_, and _FrameworkList.xml_ errors +# Troubleshoot .NET errors related to missing files on Linux -When you try to use .NET 5+ (and .NET Core), commands such as `dotnet new` and `dotnet run` may fail with a message related to something not being found. Some of the error messages may be similar to the following: +When you try to use .NET on Linux, commands such as `dotnet new` and `dotnet run` may fail with a message related to a file not being found, such as _fxr_, _libhostfxr.so_, or _FrameworkList.xml_. Some of the error messages may be similar to the following: - **System.IO.FileNotFoundException** @@ -20,11 +20,11 @@ When you try to use .NET 5+ (and .NET Core), commands such as `dotnet new` and ` or - > A fatal error occurred. The folder [/usr/share/dotnet/host/fxr] does not exist. + > A fatal error occurred. The folder \[/usr/share/dotnet/host/fxr] does not exist. or - > A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders. + > A fatal error occurred, the folder \[/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders. - **Generic messages about dotnet not found** @@ -94,18 +94,14 @@ If your distribution provides .NET packages, it's recommended that you use that For Ubuntu (or any other distribution that uses apt): - 01. Remove the .NET packages if you previously installed them. + 01. Remove the .NET packages if you previously installed them. For more information, see scenario #1. 01. Create `/etc/apt/preferences` if it doesn't already exist. 01. Add the following config to the preferences file, which prevents packages that start with `dotnet` or `aspnetcore` from being sourced by the Microsoft feed: ```bash - Package: dotnet* + Package: dotnet* aspnet* netstandard* Pin: origin "packages.microsoft.com" - Pin-Priority: -1 - - Package: aspnetcore* - Pin: origin "packages.microsoft.com" - Pin-Priority: -1 + Pin-Priority: -10 ``` 01. Install .NET. @@ -128,10 +124,21 @@ If your distribution provides .NET packages, it's recommended that you use that For Ubuntu (or any other distribution that uses apt) make sure you've installed the Microsoft repository feeds and then install the package. - ```bash - sudo apt remove dotnet* aspnetcore* - sudo apt install dotnet-sdk-7.0 - ``` + 01. Remove the .NET packages if you previously installed them. For more information, see scenario #1. + 01. Create `/etc/apt/preferences` if it doesn't already exist. + 01. Add the following config to the preferences file, adding the specific package you want to pin as a high priority, which will be sourced by the Microsoft Feed. For example, use the following example to pin .NET SDK 7.0: + + ```bash + Package: dotnet-sdk-7.0 + Pin: origin "packages.microsoft.com" + Pin-Priority: 999 + ``` + + 01. Install .NET. + + ```bash + sudo apt-get update && sudo apt-get install -y dotnet-sdk-7.0 + ``` 04. **I've encountered a bug in the Linux distribution version of .NET, I need the latest Microsoft version.** diff --git a/docs/core/install/linux-rhel.md b/docs/core/install/linux-rhel.md index 1bedc0c6ac5ee..208a5fd93f761 100644 --- a/docs/core/install/linux-rhel.md +++ b/docs/core/install/linux-rhel.md @@ -23,16 +23,13 @@ To install .NET from Red Hat on RHEL, you first need to register using the Red H The following table is a list of currently supported .NET releases on both RHEL and CentOS Stream. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the Linux distribution is no longer supported. -- A ✔️ indicates that the version of RHEL or .NET is still supported. -- A ❌ indicates that the version of RHEL or .NET isn't supported on that RHEL release. -- When both a version of Linux distribution and a version of .NET have ✔️, that OS and .NET combination is supported. - -| Distribution | .NET Core 3.1 | .NET 6 | -| ------------------------ | ------------------------------ | -------------------------- | -| ✔️ RHEL 8 | ✔️ [3.1](#rhel-8-) | ✔️ [6.0](#rhel-8-) | -| ✔️ RHEL 7 | ✔️ [3.1](#rhel-7--net-core-31) | ✔️ [6.0](#rhel-7--net-60) | -| ✔️ CentOS Stream 9 | ❌ 3.1 | ✔️ [6.0](#centos-stream-9-) | -| ✔️ CentOS Stream 8 | ✔️ [3.1](#centos-stream-8-) | ✔️ [6.0](#centos-stream-8-) | +| Distribution | .NET | +| ---------------------- | --------- | +| RHEL 9 (9.1) | 7, 6 | +| RHEL 8 (8.7) | 7, 6, 3.1 | +| RHEL 7 | 6, 3.1 | +| CentOS Stream 9 | 7, 6 | +| CentOS Stream 8 | 7, 6, 3.1 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -44,13 +41,19 @@ The following table is a list of currently supported .NET releases on both RHEL [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] -## RHEL 8 ✔️ +## RHEL 9 + +.NET is included in the AppStream repositories for RHEL 9. + +[!INCLUDE [linux-dnf-install-70](includes/linux-install-70-dnf.md)] + +## RHEL 8 .NET is included in the AppStream repositories for RHEL 8. -[!INCLUDE [linux-dnf-install-60](includes/linux-install-60-dnf.md)] +[!INCLUDE [linux-dnf-install-70](includes/linux-install-70-dnf.md)] -## RHEL 7 ✔️ .NET 6.0 +## RHEL 7 ✔️ .NET 6 The following command installs the `scl-utils` package: @@ -92,48 +95,6 @@ source scl_source enable rh-dotnet60 As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime that doesn't include ASP.NET Core support: replace `rh-dotnet60-aspnetcore-runtime-6.0` in the preceding command with `rh-dotnet60-dotnet-runtime-6.0`. -## RHEL 7 ✔️ .NET 5.0 - -The following command installs the `scl-utils` package: - -```bash -sudo yum install scl-utils -``` - -### Install the SDK - -The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install .NET SDK, run the following commands: - -```bash -subscription-manager repos --enable=rhel-7-server-dotnet-rpms -yum install rh-dotnet50 -y -scl enable rh-dotnet50 bash -``` - -Red Hat does not recommend permanently enabling `rh-dotnet50` because it may affect other programs. If you want to enable `rh-dotnet` permanently, add the following line to your _~/.bashrc_ file. - -```bash -source scl_source enable rh-dotnet50 -``` - -### Install the runtime - -The .NET Runtime allows you to run apps that were made with .NET that didn't include the runtime. The commands below install the ASP.NET Core Runtime, which is the most compatible runtime for .NET Core. In your terminal, run the following commands. - -```bash -subscription-manager repos --enable=rhel-7-server-dotnet-rpms -yum install rh-dotnet50-aspnetcore-runtime-5.0 -y -scl enable rh-dotnet50 bash -``` - -Red Hat does not recommend permanently enabling `rh-dotnet50` because it may affect other programs. If you want to enable `rh-dotnet50` permanently, add the following line to your _~/.bashrc_ file. - -```bash -source scl_source enable rh-dotnet50 -``` - -As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime that doesn't include ASP.NET Core support: replace `rh-dotnet50-aspnetcore-runtime-5.0` in the commands above with `rh-dotnet50-dotnet-runtime-5.0`. - ## RHEL 7 ✔️ .NET Core 3.1 [!INCLUDE [linux-prep-intro-generic](includes/linux-prep-intro-generic.md)] @@ -176,19 +137,19 @@ Red Hat does not recommend permanently enabling `rh-dotnet31` because it may aff source scl_source enable rh-dotnet31 ``` -As an alternative to the ASP.NET Core Runtime, you can install the .NET Core Runtime that doesn't include ASP.NET Core support: replace `rh-dotnet31-aspnetcore-runtime-3.1` in the commands above with `rh-dotnet31-dotnet-runtime-3.1`. +As an alternative to the ASP.NET Core Runtime, you can install the .NET Core Runtime which doesn't include ASP.NET Core support. To install .NET Core Runtime, replace `rh-dotnet31-aspnetcore-runtime-3.1` in the commands above with `rh-dotnet31-dotnet-runtime-3.1`. ## CentOS Stream 9 ✔️ -.NET is included in the AppStream repositories for CentOS Stream 9. However, .NET Core 3.1 and .NET 5 have been removed from CentOS Stream 9 and you should use .NET 6. For more information, see the blog post [Using .NET with OpenSSL in CentOS Stream 9 | Omair Majid](https://omairmajid.com/posts/2021-08-25-using-.net-in-centos-stream-9/). +.NET is included in the AppStream repositories for CentOS Stream 9. -[!INCLUDE [linux-dnf-install-60](includes/linux-install-60-dnf.md)] +[!INCLUDE [linux-dnf-install-70](includes/linux-install-70-dnf.md)] ## CentOS Stream 8 ✔️ .NET is included in the AppStream repositories for CentOS Stream 8. -[!INCLUDE [linux-dnf-install-60](includes/linux-install-60-dnf.md)] +[!INCLUDE [linux-dnf-install-70](includes/linux-install-70-dnf.md)] ## Dependencies diff --git a/docs/core/install/linux-sles.md b/docs/core/install/linux-sles.md index 2087dbf702338..c6eb40275e15c 100644 --- a/docs/core/install/linux-sles.md +++ b/docs/core/install/linux-sles.md @@ -16,14 +16,10 @@ ms.date: 08/07/2022 The following table is a list of currently supported .NET releases on both SLES 12 SP2 and SLES 15. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of SLES is no longer supported. -- A ✔️ indicates that the version of SLES or .NET is still supported. -- A ❌ indicates that the version of SLES or .NET isn't supported on that SLES release. -- When both a version of SLES and a version of .NET have ✔️, that OS and .NET combination is supported. - -| SLES | .NET Core 3.1 | .NET 6 | -|------------------------|---------------|----------| -| ✔️ [15](#sles-15-) | ✔️ 3.1 | ✔️ 6.0 | -| ✔️ [12 SP2](#sles-12-) | ✔️ 3.1 | ✔️ 6.0 | +| SLES | .NET | +|--------|------| +| 15 | 7, 6, 3.1 | +| 12 SP2 | 7, 6, 3.1 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -35,7 +31,7 @@ The following table is a list of currently supported .NET releases on both SLES [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] -## SLES 15 ✔️ +## SLES 15 [!INCLUDE [linux-prep-intro-generic](includes/linux-prep-intro-generic.md)] @@ -51,7 +47,7 @@ sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod [!INCLUDE [linux-zyp-install-60](includes/linux-install-60-zyp.md)] -## SLES 12 ✔️ +## SLES 12 .NET requires SP2 as a minimum for the SLES 12 family. diff --git a/docs/core/install/linux-ubuntu.md b/docs/core/install/linux-ubuntu.md index 7c47630a01680..aa153d6f62c6b 100644 --- a/docs/core/install/linux-ubuntu.md +++ b/docs/core/install/linux-ubuntu.md @@ -20,10 +20,11 @@ The following table is a list of currently supported .NET releases and the versi | Ubuntu | .NET | |------------------------|------------| -| [22.04 (LTS)](#2204) | 6+ | -| [20.04 (LTS)](#2004) | 3.1, 6 | -| [18.04 (LTS)](#1804) | 3.1, 6 | -| [16.04 (LTS)](#1604) | 3.1, 6 | +| [22.10](#2210) | 7, 6 | +| [22.04 (LTS)](#2204) | 7, 6 | +| [20.04 (LTS)](#2004) | 7, 6, 3.1 | +| [18.04 (LTS)](#1804) | 7, 6, 3.1 | +| [16.04 (LTS)](#1604) | 6, 3.1 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -35,20 +36,76 @@ The following table is a list of currently supported .NET releases and the versi [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] + + +## 22.10 + +> [!IMPORTANT] +> .NET 7 isn't yet ready in the Ubuntu feed, and is only available via the Microsoft feeds. However, .NET 6 is available in the 22.10 Ubuntu feed. + +[!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] + +```bash +wget https://packages.microsoft.com/config/ubuntu/22.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb +sudo dpkg -i packages-microsoft-prod.deb +rm packages-microsoft-prod.deb +``` + +[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)] + +> [!NOTE] +> [Ubuntu 22.10 includes OpenSSL 3](https://discourse.ubuntu.com/t/openssl-3-0-transition-plans/24453) as the baseline version. Versions of .NET prior to .NET 6 don't support OpenSSL 3. Microsoft doesn't test or support using OpenSSL 1.x on Ubuntu 22.10. For more information, see [.NET 6 Security Improvements](https://devblogs.microsoft.com/dotnet/announcing-net-6/#security). + ## 22.04 > [!WARNING] -> If you've previously installed .NET 6 from `packages.microsoft.com`, see the [Advisory on installing .NET 6 on Ubuntu 22.04](https://github.com/dotnet/core/issues/7699). +> If you've previously installed .NET from `packages.microsoft.com`, you may run into issues swapping to the built in Ubuntu package manager feeds for .NET. For more information, see the [Advisory on installing .NET on Ubuntu](https://github.com/dotnet/core/issues/7699). .NET 6 is included in the Ubuntu 22.04 package manager feeds. +> [!IMPORTANT] +> .NET 7 **isn't** included in the Ubuntu feeds and you must use the [22.04 Microsoft package feed](#2204-microsoft-package-feed). + ### Install the SDK The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following commands: ```bash sudo apt-get update && \ - sudo apt-get install -y dotnet6 + sudo apt-get install -y dotnet7 ``` ### Install the runtime @@ -57,19 +114,19 @@ The ASP.NET Core Runtime allows you to run apps that were made with .NET that di ```bash sudo apt-get update && \ - sudo apt-get install -y aspnetcore-runtime-6.0 + sudo apt-get install -y aspnetcore-runtime-7.0 ``` -As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-6.0` in the previous command with `dotnet-runtime-6.0`: +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-7.0` in the previous command with `dotnet-runtime-7.0`: ```bash -sudo apt-get install -y dotnet-runtime-6.0 +sudo apt-get install -y dotnet-runtime-7.0 ``` ## 22.04 (Microsoft package feed) > [!NOTE] -> Warning: .NET 6 is included in Ubuntu 22.04. See the [Advisory on installing .NET 6 on Ubuntu 22.04](https://github.com/dotnet/core/issues/7699) if you want to use .NET packages from `packages.microsoft.com`. +> Warning: .NET 7 and .NET 6 are included in Ubuntu 22.04. See the [Advisory on installing .NET 6 on Ubuntu 22.04](https://github.com/dotnet/core/issues/7699) if you want to use .NET packages from `packages.microsoft.com`. [!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] @@ -79,10 +136,10 @@ sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb ``` -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] +[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)] > [!NOTE] -> [Ubuntu 22.04 includes OpenSSL 3](https://discourse.ubuntu.com/t/openssl-3-0-transition-plans/24453) as the baseline version. .NET 6 supports OpenSSL 3 while earlier .NET versions don't. Microsoft doesn't test or support using OpenSSL 1.x on Ubuntu 22.04. For more information, see [.NET 6 Security Improvements](https://devblogs.microsoft.com/dotnet/announcing-net-6/#security). +> [Ubuntu 22.04 includes OpenSSL 3](https://discourse.ubuntu.com/t/openssl-3-0-transition-plans/24453) as the baseline version. Versions of .NET prior to .NET 6 don't support OpenSSL 3. Microsoft doesn't test or support using OpenSSL 1.x on Ubuntu 22.10. For more information, see [.NET 6 Security Improvements](https://devblogs.microsoft.com/dotnet/announcing-net-6/#security). ## 20.04 @@ -135,15 +192,19 @@ sudo apt-get upgrade If you've upgraded your Linux distribution since installing .NET, you may need to reconfigure the Microsoft package repository. Run the installation instructions for your current distribution version to upgrade to the appropriate package repository for .NET updates. -## APT troubleshooting +## Troubleshooting + +Starting with Ubuntu 22.04 you may run into a situation where it seems only a piece of .NET is available. For example, when you've installed the runtime and the SDK, but when running `dotnet --info` the SDK isn't listed. This can be related to using two different package sources. The official Ubuntu 22.04 and Ubuntu 22.10 package feeds include .NET, but you may have also installed .NET from the Microsoft feeds. For more information about how to fix this problem, see [Troubleshoot _fxr_, _libhostfxr.so_, and _FrameworkList.xml_ errors](linux-package-mixup.md) + +### APT problems This section provides information on common errors you may get while using APT to install .NET. -### Unable to find package +#### Unable to find package [!INCLUDE [linux-install-package-manager-x64-vs-arm](includes/linux-install-package-manager-x64-vs-arm.md)] -### Unable to locate \\ Some packages could not be installed +#### Unable to locate \\ Some packages could not be installed > [!NOTE] > This information only applies when .NET is installed from the Microsoft package feed. @@ -162,7 +223,7 @@ sudo apt-get update && \ sudo apt-get install -y {dotnet-package} ``` -### Failed to fetch +#### Failed to fetch [!INCLUDE [package-manager-failed-to-fetch-deb](includes/package-manager-failed-to-fetch-deb.md)] @@ -172,14 +233,20 @@ When you install with a package manager, these libraries are installed for you. - libc6 - libgcc1 +- libgcc-s1 (for 22.x) - libgssapi-krb5-2 - libicu52 (for 14.x) - libicu55 (for 16.x) - libicu60 (for 18.x) - libicu66 (for 20.x) +- libicu70 (for 22.04) +- libicu71 (for 22.10) +- liblttng-ust1 (for 22.x) - libssl1.0.0 (for 14.x, 16.x) - libssl1.1 (for 18.x, 20.x) +- libssl3 (for 22.x) - libstdc++6 +- libunwind8 (for 22.x) - zlib1g For .NET apps that use the *System.Drawing.Common* assembly, you also need the following dependency: