Skip to content

Commit 667b56f

Browse files
adegeoCopilot
andauthored
Update latest status of Linux (#49907)
* Update latest status of linux * Found packages for Deb13 * Latest opensuse state * typo * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> * Update with more state; fix snap-sdk changes from 9+ --------- Co-authored-by: Copilot <[email protected]>
1 parent 30dfb47 commit 667b56f

File tree

6 files changed

+88
-55
lines changed

6 files changed

+88
-55
lines changed

docs/core/install/linux-debian.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.custom: linux-related-content
99

1010
# Install the .NET SDK or the .NET Runtime on Debian
1111

12-
This article describes how to install .NET on Debian. When a Debian 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.
12+
This article describes how to install .NET on Debian. When a Debian version falls out of support, .NET is no longer supported with that version. However, these instructions might help you to get .NET running on those versions, even though it isn't supported.
1313

1414
[!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)]
1515

@@ -42,8 +42,6 @@ sudo dpkg -i packages-microsoft-prod.deb
4242
rm packages-microsoft-prod.deb
4343
```
4444

45-
[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
46-
4745
# [.NET 10](#tab/dotnet10)
4846

4947
[!INCLUDE [linux-install-package-manager-x64-arm64](includes/linux-install-package-manager-x64-arm64.md)]
@@ -76,8 +74,6 @@ rm packages-microsoft-prod.deb
7674

7775
# [.NET 10](#tab/dotnet10)
7876

79-
[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
80-
8177
[!INCLUDE [linux-install-package-manager-x64-arm64](includes/linux-install-package-manager-x64-arm64.md)]
8278

8379
[!INCLUDE [linux-apt-install-100](includes/linux-install-100-apt.md)]
@@ -98,18 +94,18 @@ rm packages-microsoft-prod.deb
9894

9995
## Use APT to update .NET
10096

101-
When a new patch release is available for .NET, you can simply upgrade it through APT with the following commands:
97+
When a new patch release is available for .NET, you can upgrade it through APT with the following commands:
10298

10399
```bash
104100
sudo apt-get update
105101
sudo apt-get upgrade
106102
```
107103

108-
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.
104+
If you upgraded your Linux distribution since installing .NET, you might 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.
109105

110106
## Troubleshooting
111107

112-
This section provides information on common errors you may get while using APT to install .NET.
108+
This section provides information on common errors you might get while using APT to install .NET.
113109

114110
### Unable to find package
115111

@@ -123,7 +119,7 @@ If you're using Debian 12 or later, try the following commands:
123119

124120
[!INCLUDE [package-manager-failed-to-find-deb-new](includes/package-manager-failed-to-find-deb-new.md)]
125121

126-
If you're using a Debian version prior to 12, try the following commands:
122+
If you're using a Debian version older than 12, try the following commands:
127123

128124
[!INCLUDE [package-manager-failed-to-find-deb-classic](includes/package-manager-failed-to-find-deb-classic.md)]
129125

docs/core/install/linux-opensuse.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Install .NET on openSUSE Leap
33
description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on openSUSE Leap.
44
author: adegeo
55
ms.author: adegeo
6-
ms.date: 11/07/2025
6+
ms.date: 11/14/2025
77
ms.custom: linux-related-content
88
---
99

@@ -46,20 +46,22 @@ sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
4646

4747
# [.NET 10](#tab/dotnet10)
4848

49-
[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
50-
5149
[!INCLUDE [linux-install-package-manager-x64-arm64](includes/linux-install-package-manager-x64-arm64.md)]
5250

5351
[!INCLUDE [linux-zyp-install-100](includes/linux-install-100-zyp.md)]
5452

5553
# [.NET 9](#tab/dotnet9)
5654

55+
openSUSE Leap 16 is newly supported with .NET. The packages for .NET 9 aren't published yet.
56+
5757
[!INCLUDE [linux-install-package-manager-x64-only](includes/linux-install-package-manager-x64-only.md)]
5858

5959
[!INCLUDE [linux-zyp-install-90](includes/linux-install-90-zyp.md)]
6060

6161
# [.NET 8](#tab/dotnet8)
6262

63+
openSUSE Leap 16 is newly supported with .NET. The packages for .NET 8 aren't published yet.
64+
6365
[!INCLUDE [linux-install-package-manager-x64-only](includes/linux-install-package-manager-x64-only.md)]
6466

6567
[!INCLUDE [linux-zyp-install-80](includes/linux-install-80-zyp.md)]

docs/core/install/linux-rhel.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Install .NET on RHEL and CentOS Stream
33
description: Learn about which versions of .NET are supported, and how to install .NET on Red Hat Enterprise Linux and CentOS Stream.
44
author: adegeo
55
ms.author: adegeo
6-
ms.date: 11/07/2025
6+
ms.date: 11/14/2025
77
ms.custom: linux-related-content
88
---
99

@@ -44,8 +44,6 @@ The following table is a list of currently supported .NET releases on both RHEL
4444

4545
## RHEL 10
4646

47-
[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
48-
4947
.NET is included in the [AppStream repositories](https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle) for RHEL 10.
5048

5149
[!INCLUDE [linux-dnf-install-100](includes/linux-install-100-dnf.md)]

docs/core/install/linux-sles.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Install .NET on SUSE Enterprise Linux
33
description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on SUSE Enterprise Linux (SLES).
44
author: adegeo
55
ms.author: adegeo
6-
ms.date: 11/07/2025
6+
ms.date: 11/14/2025
77
ms.custom: linux-related-content
88
---
99

@@ -43,20 +43,22 @@ sudo rpm -Uvh https://packages.microsoft.com/config/sles/16/packages-microsoft-p
4343

4444
# [.NET 10](#tab/dotnet10)
4545

46-
[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
47-
4846
[!INCLUDE [linux-install-package-manager-x64-arm64](includes/linux-install-package-manager-x64-arm64.md)]
4947

5048
[!INCLUDE [linux-zyp-install-100](includes/linux-install-100-zyp.md)]
5149

5250
# [.NET 9](#tab/dotnet9)
5351

52+
SUSE Enterprise Linux 16 is newly supported with .NET. The packages for .NET 9 aren't published yet.
53+
5454
[!INCLUDE [linux-install-package-manager-x64-only](includes/linux-install-package-manager-x64-only.md)]
5555

5656
[!INCLUDE [linux-zyp-install-90](includes/linux-install-90-zyp.md)]
5757

5858
# [.NET 8](#tab/dotnet8)
5959

60+
SUSE Enterprise Linux 16 is newly supported with .NET. The packages for .NET 8 aren't published yet.
61+
6062
[!INCLUDE [linux-install-package-manager-x64-only](includes/linux-install-package-manager-x64-only.md)]
6163

6264
[!INCLUDE [linux-zyp-install-80](includes/linux-install-80-zyp.md)]
@@ -71,7 +73,7 @@ sudo rpm -Uvh https://packages.microsoft.com/config/sles/16/packages-microsoft-p
7173
sudo rpm -Uvh https://packages.microsoft.com/config/sles/15/packages-microsoft-prod.rpm
7274
```
7375

74-
Currently, the SLES 15 Microsoft repository setup package installs the *microsoft-prod.repo* file to the wrong directory, preventing zypper from finding the .NET packages. To fix this problem, create a symlink in the correct directory.
76+
Currently, the SLES 15 Microsoft repository setup package installs the `microsoft-prod.repo` file to the wrong directory, preventing zypper from finding the .NET packages. To fix this problem, create a symlink in the correct directory.
7577

7678
```bash
7779
sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod.repo
@@ -103,7 +105,7 @@ sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod
103105

104106
## Troubleshoot the package manager
105107

106-
This section provides information on common errors you may get while using the package manager to install .NET.
108+
This section provides information on common errors you might get while using the package manager to install .NET.
107109

108110
### Unable to find package
109111

@@ -115,13 +117,13 @@ This section provides information on common errors you may get while using the p
115117

116118
## Dependencies
117119

118-
When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed:
120+
When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you must make sure these libraries are installed:
119121

120122
- krb5
121123
- libicu
122124
- libopenssl1_1
123125

124-
If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need to install `compat-openssl10`.
126+
If the target runtime environment's OpenSSL version is 1.1 or newer, install the `compat-openssl10` package.
125127

126128
Dependencies can be installed with the `zypper install` command. The following snippet demonstrates installing the `krb5` library:
127129

docs/core/install/linux-snap-runtime.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,18 @@ The following steps install the .NET 9 runtime snap package:
4242

4343
Each .NET Runtime is published as an individual snap package. The following table lists the packages:
4444

45-
| .NET version | Snap package | .NET version supported by Microsoft |
46-
|---------------------------------------------------|---------------------|-----|
47-
| [9 (STS)](https://snapcraft.io/dotnet-runtime-90) | `dotnet-runtime-90` | Yes |
48-
| [8 (LTS)](https://snapcraft.io/dotnet-runtime-80) | `dotnet-runtime-80` | Yes |
49-
| [7 (STS)](https://snapcraft.io/dotnet-runtime-70) | `dotnet-runtime-70` | No |
50-
| [6 (LTS)](https://snapcraft.io/dotnet-runtime-60) | `dotnet-runtime-60` | No |
51-
| [5](https://snapcraft.io/dotnet-runtime-50) | `dotnet-runtime-50` | No |
52-
| [3.1](https://snapcraft.io/dotnet-runtime-31) | `dotnet-runtime-31` | No |
53-
| [3.0](https://snapcraft.io/dotnet-runtime-30) | `dotnet-runtime-30` | No |
54-
| [2.2](https://snapcraft.io/dotnet-runtime-22) | `dotnet-runtime-22` | No |
55-
| [2.1](https://snapcraft.io/dotnet-runtime-21) | `dotnet-runtime-21` | No |
45+
| .NET version | Snap package | .NET version supported by Microsoft |
46+
|-----------------------------------------------------|----------------------|-------------------------------------|
47+
| [10 (LTS)](https://snapcraft.io/dotnet-runtime-100) | `dotnet-runtime-100` | Yes |
48+
| [9 (STS)](https://snapcraft.io/dotnet-runtime-90) | `dotnet-runtime-90` | Yes |
49+
| [8 (LTS)](https://snapcraft.io/dotnet-runtime-80) | `dotnet-runtime-80` | Yes |
50+
| [7 (STS)](https://snapcraft.io/dotnet-runtime-70) | `dotnet-runtime-70` | No |
51+
| [6 (LTS)](https://snapcraft.io/dotnet-runtime-60) | `dotnet-runtime-60` | No |
52+
| [5](https://snapcraft.io/dotnet-runtime-50) | `dotnet-runtime-50` | No |
53+
| [3.1](https://snapcraft.io/dotnet-runtime-31) | `dotnet-runtime-31` | No |
54+
| [3.0](https://snapcraft.io/dotnet-runtime-30) | `dotnet-runtime-30` | No |
55+
| [2.2](https://snapcraft.io/dotnet-runtime-22) | `dotnet-runtime-22` | No |
56+
| [2.1](https://snapcraft.io/dotnet-runtime-21) | `dotnet-runtime-21` | No |
5657

5758
## 2. Enable the dotnet command
5859

docs/core/install/linux-snap-sdk.md

Lines changed: 56 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ title: Install .NET SDK on Linux with Snap
33
description: Learn about how to install the .NET SDK snap package. Canonical maintains and supports .NET-related snap packages.
44
author: adegeo
55
ms.author: adegeo
6-
ms.date: 11/07/2025
6+
ms.date: 11/14/2025
77
ms.topic: install-set-up-deploy
88
ms.custom: linux-related-content, updateeachrelease
9+
ai-usage: ai-assisted
910
#customer intent: As a Linux user, I want to install .NET SDK through Snap.
1011
---
1112

@@ -37,40 +38,59 @@ Your Linux distribution might already include snap. Try running `snap` from a te
3738

3839
[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
3940

40-
Snap packages for the .NET SDK are all published under the same identifier: `dotnet-sdk`. A specific version of the SDK can be installed by specifying the channel. The SDK includes both the ASP.NET Core and .NET runtime, versioned to the SDK.
41+
Starting with .NET 9, snap packages for the .NET SDK are published under version-specific identifiers (for example, `dotnet-sdk-90` for .NET 9 and `dotnet-sdk-100` for .NET 10). Prior to .NET 9, all SDK versions were published under the same identifier `dotnet-sdk`, and you specified the version through a channel. Additionally, .NET 9 and later snap packages support both x64 and Arm64 architectures, while earlier versions only support x64. The SDK includes both the ASP.NET Core and .NET runtime, versioned to the SDK.
4142

4243
> [!TIP]
4344
> The [Snapcraft .NET SDK package page](https://snapcraft.io/dotnet-sdk) includes distribution-specific instructions on how to install Snapcraft and .NET.
4445
4546
01. Open a terminal.
46-
01. Use `snap install` to install the .NET SDK snap package. For example, the following command installs the `latest/stable` channel, which is the default.
47+
01. Use `snap install` to install the .NET SDK snap package.
4748

48-
```bash
49-
sudo snap install dotnet-sdk --classic
50-
```
49+
The `--classic` parameter is required.
50+
51+
- **For .NET 9 and later**
52+
53+
Install the version-specific package. For example, the following command installs .NET SDK 10:
54+
55+
```bash
56+
sudo snap install dotnet-sdk-100 --classic
57+
```
58+
59+
- **For .NET 8 and earlier**
5160

52-
- The `--classic` parameter is required.
53-
- Use the `--channel` parameter to specify which version to install. If this parameter is omitted, `latest/stable` is used. For example, `--channel 8.0/stable` installs .NET SDK 8.0.
61+
Install from the `dotnet-sdk` package and specify a channel. If this parameter is omitted, `latest/stable` is used. For example, the following command installs .NET SDK 8:
62+
63+
```bash
64+
sudo snap install dotnet-sdk --classic --channel 8.0/stable
65+
```
5466

5567
The `dotnet` snap alias is automatically created and mapped to the snap package's `dotnet` command.
5668
57-
The following table lists the package channels you can install:
69+
The following table lists the snap packages and channels you can install:
5870
59-
| .NET version | Snap package channel |
60-
|--------------|---------------------------------|
61-
| 10 (LTS) | *Not yet available |
62-
| 9 (STS) | *Not yet available |
63-
| 8 (LTS) | `8.0/stable`<br>`lts/stable` |
64-
| 7 | `7.0/stable` (out of support) |
65-
| 6 | `6.0/stable` (out of support) |
66-
| 5 | `5.0/stable` (out of support) |
67-
| 3.1 | `3.1/stable` (out of support) |
68-
| 2.1 | `2.1/stable` (out of support) |
71+
| .NET version | Snap package or channel |
72+
|--------------|----------------------------------------|
73+
| 10 (LTS) | `dotnet-sdk-100` (preview) |
74+
| 9 (STS) | `dotnet-sdk-90` |
75+
| 8 (LTS) | `dotnet-sdk --channel 8.0/stable` |
76+
| 7 | `dotnet-sdk --channel 7.0/stable` (out of support) |
77+
| 6 | `dotnet-sdk --channel 6.0/stable` (out of support) |
78+
| 5 | `dotnet-sdk --channel 5.0/stable` (out of support) |
79+
| 3.1 | `dotnet-sdk --channel 3.1/stable` (out of support) |
80+
| 2.1 | `dotnet-sdk --channel 2.1/stable` (out of support) |
6981
7082
## 2. Export the install location
7183
7284
The `DOTNET_ROOT` environment variable is often used by tools to determine where .NET is installed. When .NET is installed through Snap, this environment variable isn't configured. You should configure the *DOTNET_ROOT* environment variable in your profile. The path to the snap uses the following format: `/snap/{package}/current`.
7385

86+
For .NET 9 and later, use the version-specific package name:
87+
88+
```bash
89+
export DOTNET_ROOT=/snap/dotnet-sdk-100/current
90+
```
91+
92+
For .NET 8 and earlier, use the shared package name:
93+
7494
```bash
7595
export DOTNET_ROOT=/snap/dotnet-sdk/current
7696
```
@@ -85,7 +105,7 @@ You can edit your shell profile to permanently add the commands. There are many
85105
- **Korn Shell**: _~/.kshrc_ or _.profile_
86106
- **Z Shell**: _~/.zshrc* or _.zprofile_
87107

88-
Edit the appropriate source file for your shell and add `export DOTNET_ROOT=/snap/dotnet-sdk/current`.
108+
Edit the appropriate source file for your shell and add the export command for your installed .NET version. For .NET 9+, use `export DOTNET_ROOT=/snap/dotnet-sdk-100/current` (adjust the version number as needed). For .NET 8 and earlier, use `export DOTNET_ROOT=/snap/dotnet-sdk/current`.
89109

90110
## 3. Use the .NET CLI
91111

@@ -122,7 +142,15 @@ To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md).
122142
123143
### The dotnet terminal command doesn't work
124144

125-
Snap packages can map an alias to a command provided by the package. By default, the .NET SDK snap packages create an alias for the `dotnet` command. If the alias wasn't created or was previously removed, the following command shows how to map the alias:
145+
Snap packages can map an alias to a command provided by the package. By default, the .NET SDK snap packages create an alias for the `dotnet` command. If the alias wasn't created or was previously removed, use the following command to map the alias.
146+
147+
For .NET 9 and later:
148+
149+
```bash
150+
sudo snap alias dotnet-sdk-100.dotnet dotnet
151+
```
152+
153+
For .NET 8 and earlier:
126154
127155
```bash
128156
sudo snap alias dotnet-sdk.dotnet dotnet
@@ -161,7 +189,13 @@ Try the following steps to fix the issue:
161189
- `/usr/local/bin/dotnet`
162190
- `/usr/share/dotnet`
163191

164-
Use the following command to create a symbolic link to the snap package:
192+
Use the following command to create a symbolic link to the snap package. For .NET 9 and later, use the version-specific package name:
193+
194+
```bash
195+
ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnet
196+
```
197+
198+
For .NET 8 and earlier:
165199

166200
```bash
167201
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet

0 commit comments

Comments
 (0)