Skip to content

Commit e1e716d

Browse files
richlandermairawjkotas
authored
Cleanup support wording (#9364)
* Cleanup wording * Update wording * Provide a better explanation on portable builds * Update linux-support.md Co-authored-by: Maira Wenzel <[email protected]> * Merge all content into a single document * Add additional container registries * Update support.md Co-authored-by: Jan Kotas <[email protected]> --------- Co-authored-by: Maira Wenzel <[email protected]> Co-authored-by: Jan Kotas <[email protected]>
1 parent 763e620 commit e1e716d

File tree

4 files changed

+81
-83
lines changed

4 files changed

+81
-83
lines changed

linux-support.md

Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,3 @@
11
# .NET Support and Compatibility for Linux Distributions
22

3-
.NET is supported by various [commercial and community organizations](support.md) on [multiple Linux distributions](linux.md).
4-
5-
.NET can be run on any Linux distribution, via:
6-
7-
- Portable builds, which are built to be broadly compatible with most Linux distributions.
8-
- Distribution-specific builds, which are built specifically for a given distribution version (like Red Hat Enterprise Linux 9 or Ubuntu 22.04).
9-
10-
Microsoft builds are portable builds.
11-
12-
## General dependencies
13-
14-
Portable builds have multiple dependencies that must be installed:
15-
16-
- [.NET 6 dependencies](./release-notes/6.0/linux-packages.md)
17-
- [.NET 7 dependencies](./release-notes/7.0/linux-packages.md)
18-
- [.NET 8 dependencies](./release-notes/8.0/linux-packages.md)
19-
20-
## libc compatibility
21-
22-
Portable builds supports both [glibc](https://www.gnu.org/software/libc/)-based and [musl libc](https://musl.libc.org/)-based Linux distributions, per the following minimum version information.
23-
24-
- [.NET 6 minimum libc](release-notes/6.0/supported-os.md#libc-compatibility)
25-
- [.NET 7 minimum libc](release-notes/7.0/supported-os.md#libc-compatibility)
26-
- [.NET 8 minimum libc](release-notes/8.0/supported-os.md#libc-compatibility)
27-
28-
You can use the following pattern to determine the libc version provided for your distribution.
29-
30-
On Alpine:
31-
32-
```bash
33-
# ldd --version
34-
musl libc (aarch64)
35-
Version 1.2.3
36-
```
37-
38-
On Ubuntu:
39-
40-
```bash
41-
# ldd --version
42-
ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35
43-
```
44-
45-
## OpenSSL compatibility
46-
47-
Portable builds support both OpenSSL 1.x and 3.x and can be run on distributions with either version of OpenSSL. For example, Ubuntu 22.04 only includes OpenSSL 3 in its official package archive.
48-
49-
The highest OpenSSL version is loaded by default, but it can be [configured to use a specific version](https://github.com/dotnet/runtime/issues/79153#issuecomment-1335476471).
50-
51-
## Red Hat Enterprise Linux support
52-
53-
New .NET versions will typically only be supported on Red Hat Enterprise Linux (RHEL) versions in active support.
54-
55-
- RHEL 7 is considered in maintenance.
56-
- RHEL 8 is considered in active support.
57-
- RHEL 9 is considered in active support.
58-
59-
RHEL compatible distributions are supported, including: AlmaLinux, CentOS, Oracle Linux, and Rocky Linux.
3+
This content has been moved to [linux.md](linux.md).

linux.md

Lines changed: 61 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
1-
# .NET for Linux Distributions
1+
# .NET Support and Compatibility for Linux Distributions
22

3-
.NET can be installed on Linux in multiple ways, via [packages](https://learn.microsoft.com/dotnet/core/install/linux), [scripts](https://github.com/dotnet/install-scripts), or [tarballs](https://dotnet.microsoft.com/download/dotnet). It can be installed globally, locally/privately, or with an app.
3+
.NET can be [installed](https://learn.microsoft.com/dotnet/core/install/linux) and run on almost any Linux distribution. Packages that are available in a given distribution are compatible with that distribution. Packages and binaries from Microsoft are compatible with a broad set of distributions.
44

5-
.NET is supported on Linux per [.NET Support and Compatibility for Linux Distributions](linux-support.md).
5+
The community provides best effort support for .NET across all Linux distributions. [Commercial support](support.md) is provided for some popular distributions.
66

7-
## Package archives
7+
## Containers
8+
9+
.NET containers are published to multiple registries.
10+
11+
- [Chainguard Images](https://images.chainguard.dev/directory/image/dotnet-sdk/versions)
12+
- [Microsoft Artifact Repository](https://mcr.microsoft.com/catalog?search=dotnet/)
13+
- [OpenShift](https://developers.redhat.com/blog/2018/07/05/deploy-dotnet-core-apps-openshift)
14+
- [SUSE Linux Enterprise Server Container Images](https://registry.suse.com/repositories?languages%5B%5D=dotnet)
15+
- [Ubuntu Rocks](https://hub.docker.com/r/ubuntu/dotnet-aspnet)
16+
17+
Note: Microsoft publishes container images per [.NET container publishing policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md). Other distributions may have different policies.
18+
19+
## Packages
820

921
.NET is included in the package archives of the following distributions:
1022

@@ -28,15 +40,54 @@ Microsoft offers alternate package feeds at [packages.microsoft.com](http://pack
2840

2941
Microsoft is [no longer publishing packages for Ubuntu starting with Ubuntu 24.04](https://github.com/dotnet/core/discussions/9258).
3042

31-
## Containers
43+
[SDK feature bands](https://learn.microsoft.com/en-us/dotnet/core/releases-and-support#feature-bands-sdk-only) are the only significant difference between Microsoft and distro-provided builds. Distro-provided SDK builds are always within the `.1xx` feature band, while Microsoft SDK builds are always for the latest feature band, for example `.2xx`.
3244

33-
.NET containers are published to multiple registries.
45+
## Dependencies
3446

35-
- [Microsoft Artifact Repository](https://mcr.microsoft.com/catalog?search=dotnet/)
36-
- [OpenShift](https://developers.redhat.com/blog/2018/07/05/deploy-dotnet-core-apps-openshift)
37-
- [Ubuntu Rocks](https://hub.docker.com/r/ubuntu/dotnet-aspnet)
47+
.NET has multiple dependencies that must be installed. If you install .NET via packages, these packages will typically already be installed.
48+
49+
- [.NET 6 dependencies](./release-notes/6.0/linux-packages.md)
50+
- [.NET 8 dependencies](./release-notes/8.0/linux-packages.md)
51+
- [.NET 9 dependencies](./release-notes/9.0/linux-packages.md)
52+
53+
## Portable build compatibility
54+
55+
Portable builds are compiled to provide [broad compatibility](https://github.com/dotnet/runtime/issues/83428). The minimum supported libc version is documented in [.NET Supported OS Policy](./os-lifecycle-policy.md).
56+
57+
Microsoft provides [portable builds](https://dotnet.microsoft.com/download/dotnet) that support both [glibc](https://www.gnu.org/software/libc/)-based and [musl libc](https://musl.libc.org/)-based Linux distributions.
58+
59+
The following examples demonstrate how to find the libc version provided for your distribution.
60+
61+
On Alpine 3.13:
62+
63+
```bash
64+
# ldd --version
65+
musl libc (aarch64)
66+
Version 1.2.2
67+
```
68+
69+
On Ubuntu 16.04:
70+
71+
```bash
72+
# ldd --version
73+
ldd (Ubuntu GLIBC 2.23-0ubuntu11.3) 2.23
74+
```
75+
76+
## OpenSSL compatibility
77+
78+
Portable builds support both OpenSSL 1.x and 3.x and can be run on distributions with either version of OpenSSL. For example, Ubuntu 22.04 only includes OpenSSL 3 in its official package archive.
79+
80+
The highest OpenSSL version is loaded by default, but it can be [configured to use a specific version](https://github.com/dotnet/runtime/issues/79153#issuecomment-1335476471).
81+
82+
## Red Hat Enterprise Linux support
83+
84+
RHEL-compatible distributions are supported, including: AlmaLinux, CentOS Stream, Oracle Linux, and Rocky Linux.
85+
86+
New .NET versions will typically only be supported on Red Hat Enterprise Linux (RHEL) versions in active support.
3887

39-
Microsoft publishes container images per [.NET container publishing policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md). Other distributions may have different policies.
88+
- RHEL 7 is considered in maintenance.
89+
- RHEL 8 is considered in active support.
90+
- RHEL 9 is considered in active support.
4091

4192
## Building .NET from source
4293

os-lifecycle-policy.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
The following documents describe supported operating systems:
88

99
* [.NET 8 supported OS versions](release-notes/8.0/supported-os.md)
10-
* [.NET 7 supported OS versions](release-notes/7.0/supported-os.md)
1110
* [.NET 6 supported OS versions](release-notes/6.0/supported-os.md)
1211

1312
## Preview .NET versions
@@ -18,8 +17,9 @@ The following documents describe supported operating systems:
1817

1918
The following documents describe (historical) supported operating systems:
2019

21-
* [.NET Core 3.1 supported OS versions](release-notes/3.1/3.1-supported-os.md)
20+
* [.NET 7 supported OS versions](release-notes/7.0/supported-os.md)
2221
* [.NET 5 supported OS versions](release-notes/5.0/5.0-supported-os.md)
22+
* [.NET Core 3.1 supported OS versions](release-notes/3.1/3.1-supported-os.md)
2323
* [.NET Core 3.0 supported OS versions](release-notes/3.0/3.0-supported-os.md)
2424
* [.NET Core 2.2 supported OS versions](release-notes/2.2/2.2-supported-os.md)
2525
* [.NET Core 2.1 supported OS versions](release-notes/2.1/2.1-supported-os.md)

support.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,38 @@
1-
# .NET Support and Distributions
1+
# .NET Support
22

3-
.NET is available (as a binary distribution) in many package managers and official download sites. These builds of .NET are provided and supported by organizations that participate in the .NET community, [build .NET from source](https://github.com/dotnet/dotnet), and offer stable binaries to their users. These organizations work together to enable developers to be productive and safe on Linux, macOS, and Windows.
3+
.NET binaries, packages, and container images are provided and supported by organizations that participate in the .NET community, [build .NET from source](https://github.com/dotnet/dotnet), and offer regularly updated assets to their users. These organizations work together to enable developers to be productive and safe on Linux, macOS, and Windows.
44

5-
Patches are provided for functional or security issues, typically monthly on [Patch Tuesday](https://en.wikipedia.org/wiki/Patch_Tuesday).
5+
## Policies
66

77
.NET is supported per the following policies:
88

99
* [.NET releases](releases.md)
1010
* [.NET release policies](release-policies.md)
11-
* [.NET supported operating system lifecycle](os-lifecycle-policy.md).
11+
* [.NET supported operating system lifecycle](os-lifecycle-policy.md)
12+
13+
## Community support
1214

1315
Community support is available on GitHub, such as at [dotnet/core](https://github.com/dotnet/core).
1416

15-
Community builds are available for [Linux](linux.md) and [macOS](https://formulae.brew.sh/cask/dotnet-sdk).
17+
Community builds are available for [FreeBSD](https://wiki.freebsd.org/.NET), [Linux](linux.md), and [macOS](https://formulae.brew.sh/cask/dotnet-sdk)
18+
19+
## Commercial support
1620

17-
Official builds and commercial support is available from the following companies:
21+
Commercial support is provided by the following companies.
1822

19-
## Canonical
23+
### Canonical
2024

2125
Canonical supports .NET on Ubuntu, per the following.
2226

23-
- .NET 6 is supported in Ubuntu 22.04.
24-
- .NET 7 is supported in Ubuntu 22.04.
25-
- .NET 8 is supported in Ubuntu 23.10+.
27+
* .NET 6 is supported in Ubuntu 22.04+
28+
* .NET 8 is supported in Ubuntu 22.04+.
2629

27-
## Microsoft
30+
### Microsoft
2831

29-
Microsoft provides [stable builds](https://dotnet.microsoft.com/download) and [commercial support](https://support.serviceshub.microsoft.com/supportforbusiness/onboarding) for .NET on Linux, macOS, and Windows, per [.NET support policy](https://dotnet.microsoft.com/platform/support/policy).
32+
Microsoft provides [stable builds](https://dotnet.microsoft.com/download) and [commercial support](https://support.serviceshub.microsoft.com/supportforbusiness/onboarding) for .NET on [multiple operating systems](os-lifecycle-policy.md), per [.NET support policy](https://dotnet.microsoft.com/platform/support/policy).
3033

31-
A more restrictive policy is used for [.NET container images](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md).
34+
.NET container images are provided for a more limited set of [operating system versions](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md).
3235

33-
## Red Hat
36+
### Red Hat
3437

3538
Red Hat supports .NET on Red Hat Enterprise Linux, per [.NET life cycle policy](https://access.redhat.com/support/policy/updates/net-core).

0 commit comments

Comments
 (0)