1
0
mirror of synced 2025-12-19 18:06:02 -05:00

Cleanup support wording (#9364)

* Cleanup wording

* Update wording

* Provide a better explanation on portable builds

* Update linux-support.md

Co-authored-by: Maira Wenzel <mairaw@microsoft.com>

* Merge all content into a single document

* Add additional container registries

* Update support.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

---------

Co-authored-by: Maira Wenzel <mairaw@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
This commit is contained in:
Rich Lander
2024-06-25 20:07:14 -07:00
committed by GitHub
parent 763e6208a6
commit e1e716de1c
4 changed files with 81 additions and 83 deletions

View File

@@ -1,59 +1,3 @@
# .NET Support and Compatibility for Linux Distributions
.NET is supported by various [commercial and community organizations](support.md) on [multiple Linux distributions](linux.md).
.NET can be run on any Linux distribution, via:
- Portable builds, which are built to be broadly compatible with most Linux distributions.
- Distribution-specific builds, which are built specifically for a given distribution version (like Red Hat Enterprise Linux 9 or Ubuntu 22.04).
Microsoft builds are portable builds.
## General dependencies
Portable builds have multiple dependencies that must be installed:
- [.NET 6 dependencies](./release-notes/6.0/linux-packages.md)
- [.NET 7 dependencies](./release-notes/7.0/linux-packages.md)
- [.NET 8 dependencies](./release-notes/8.0/linux-packages.md)
## libc compatibility
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.
- [.NET 6 minimum libc](release-notes/6.0/supported-os.md#libc-compatibility)
- [.NET 7 minimum libc](release-notes/7.0/supported-os.md#libc-compatibility)
- [.NET 8 minimum libc](release-notes/8.0/supported-os.md#libc-compatibility)
You can use the following pattern to determine the libc version provided for your distribution.
On Alpine:
```bash
# ldd --version
musl libc (aarch64)
Version 1.2.3
```
On Ubuntu:
```bash
# ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35
```
## OpenSSL compatibility
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.
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).
## Red Hat Enterprise Linux support
New .NET versions will typically only be supported on Red Hat Enterprise Linux (RHEL) versions in active support.
- RHEL 7 is considered in maintenance.
- RHEL 8 is considered in active support.
- RHEL 9 is considered in active support.
RHEL compatible distributions are supported, including: AlmaLinux, CentOS, Oracle Linux, and Rocky Linux.
This content has been moved to [linux.md](linux.md).

View File

@@ -1,10 +1,22 @@
# .NET for Linux Distributions
# .NET Support and Compatibility for Linux Distributions
.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.
.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.
.NET is supported on Linux per [.NET Support and Compatibility for Linux Distributions](linux-support.md).
The community provides best effort support for .NET across all Linux distributions. [Commercial support](support.md) is provided for some popular distributions.
## Package archives
## Containers
.NET containers are published to multiple registries.
- [Chainguard Images](https://images.chainguard.dev/directory/image/dotnet-sdk/versions)
- [Microsoft Artifact Repository](https://mcr.microsoft.com/catalog?search=dotnet/)
- [OpenShift](https://developers.redhat.com/blog/2018/07/05/deploy-dotnet-core-apps-openshift)
- [SUSE Linux Enterprise Server Container Images](https://registry.suse.com/repositories?languages%5B%5D=dotnet)
- [Ubuntu Rocks](https://hub.docker.com/r/ubuntu/dotnet-aspnet)
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.
## Packages
.NET is included in the package archives of the following distributions:
@@ -28,15 +40,54 @@ Microsoft offers alternate package feeds at [packages.microsoft.com](http://pack
Microsoft is [no longer publishing packages for Ubuntu starting with Ubuntu 24.04](https://github.com/dotnet/core/discussions/9258).
## Containers
[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`.
.NET containers are published to multiple registries.
## Dependencies
- [Microsoft Artifact Repository](https://mcr.microsoft.com/catalog?search=dotnet/)
- [OpenShift](https://developers.redhat.com/blog/2018/07/05/deploy-dotnet-core-apps-openshift)
- [Ubuntu Rocks](https://hub.docker.com/r/ubuntu/dotnet-aspnet)
.NET has multiple dependencies that must be installed. If you install .NET via packages, these packages will typically already be installed.
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.
- [.NET 6 dependencies](./release-notes/6.0/linux-packages.md)
- [.NET 8 dependencies](./release-notes/8.0/linux-packages.md)
- [.NET 9 dependencies](./release-notes/9.0/linux-packages.md)
## Portable build compatibility
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).
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.
The following examples demonstrate how to find the libc version provided for your distribution.
On Alpine 3.13:
```bash
# ldd --version
musl libc (aarch64)
Version 1.2.2
```
On Ubuntu 16.04:
```bash
# ldd --version
ldd (Ubuntu GLIBC 2.23-0ubuntu11.3) 2.23
```
## OpenSSL compatibility
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.
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).
## Red Hat Enterprise Linux support
RHEL-compatible distributions are supported, including: AlmaLinux, CentOS Stream, Oracle Linux, and Rocky Linux.
New .NET versions will typically only be supported on Red Hat Enterprise Linux (RHEL) versions in active support.
- RHEL 7 is considered in maintenance.
- RHEL 8 is considered in active support.
- RHEL 9 is considered in active support.
## Building .NET from source

View File

@@ -7,7 +7,6 @@
The following documents describe supported operating systems:
* [.NET 8 supported OS versions](release-notes/8.0/supported-os.md)
* [.NET 7 supported OS versions](release-notes/7.0/supported-os.md)
* [.NET 6 supported OS versions](release-notes/6.0/supported-os.md)
## Preview .NET versions
@@ -18,8 +17,9 @@ The following documents describe supported operating systems:
The following documents describe (historical) supported operating systems:
* [.NET Core 3.1 supported OS versions](release-notes/3.1/3.1-supported-os.md)
* [.NET 7 supported OS versions](release-notes/7.0/supported-os.md)
* [.NET 5 supported OS versions](release-notes/5.0/5.0-supported-os.md)
* [.NET Core 3.1 supported OS versions](release-notes/3.1/3.1-supported-os.md)
* [.NET Core 3.0 supported OS versions](release-notes/3.0/3.0-supported-os.md)
* [.NET Core 2.2 supported OS versions](release-notes/2.2/2.2-supported-os.md)
* [.NET Core 2.1 supported OS versions](release-notes/2.1/2.1-supported-os.md)

View File

@@ -1,35 +1,38 @@
# .NET Support and Distributions
# .NET Support
.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.
.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.
Patches are provided for functional or security issues, typically monthly on [Patch Tuesday](https://en.wikipedia.org/wiki/Patch_Tuesday).
## Policies
.NET is supported per the following policies:
* [.NET releases](releases.md)
* [.NET release policies](release-policies.md)
* [.NET supported operating system lifecycle](os-lifecycle-policy.md).
* [.NET supported operating system lifecycle](os-lifecycle-policy.md)
## Community support
Community support is available on GitHub, such as at [dotnet/core](https://github.com/dotnet/core).
Community builds are available for [Linux](linux.md) and [macOS](https://formulae.brew.sh/cask/dotnet-sdk).
Community builds are available for [FreeBSD](https://wiki.freebsd.org/.NET), [Linux](linux.md), and [macOS](https://formulae.brew.sh/cask/dotnet-sdk)
Official builds and commercial support is available from the following companies:
## Commercial support
## Canonical
Commercial support is provided by the following companies.
### Canonical
Canonical supports .NET on Ubuntu, per the following.
- .NET 6 is supported in Ubuntu 22.04.
- .NET 7 is supported in Ubuntu 22.04.
- .NET 8 is supported in Ubuntu 23.10+.
* .NET 6 is supported in Ubuntu 22.04+
* .NET 8 is supported in Ubuntu 22.04+.
## Microsoft
### Microsoft
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).
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).
A more restrictive policy is used for [.NET container images](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md).
.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).
## Red Hat
### Red Hat
Red Hat supports .NET on Red Hat Enterprise Linux, per [.NET life cycle policy](https://access.redhat.com/support/policy/updates/net-core).