Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup support wording #9364

Merged
merged 7 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 15 additions & 19 deletions linux-support.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,41 @@
# .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 almost any Linux distribution, via:

.NET can be run on any Linux distribution, via:
- Portable builds, which are built to be broadly compatible with most Linux distributions by support multiple versions of OpenSSL, ICU, and other depedencies.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Portable builds, which are built to be broadly compatible with most Linux distributions by support multiple versions of OpenSSL, ICU, and other depedencies.
- Portable builds, which are built to be broadly compatible with most Linux distributions by support multiple versions of OpenSSL, ICU, and other dependencies.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in addition to the typo, the change is a bit hard to understand.

- Distribution-specific builds, which are built specifically for a given distribution version (like Red Hat Enterprise Linux 9 or Ubuntu 24.04) and the libraries that it contains.

- 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.
The community provides best effort support for .NET across all Linux distributions. [Commercial support](support.md) is provided for some popular distributions.

## General dependencies

Portable builds have multiple dependencies that must be installed:
.NET has 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)
- [.NET 9 dependencies](./release-notes/9.0/linux-packages.md)

## libc compatibility
## Portable build 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.
Portable builds are compiled with an [intentionally old Linux version](https://github.com/dotnet/runtime/issues/83428) in order to provide broad compatibility. The primary purpose of this approach is linking to a sufficiently old libc library. The minimum supported libc version is documented in [.NET Supported OS Policy](./os-lifecycle-policy.md).

- [.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)
Microsoft provides portable builds that support both [glibc](https://www.gnu.org/software/libc/)-based and [musl libc](https://musl.libc.org/)-based Linux distributions.

You can use the following pattern to determine the libc version provided for your distribution.
The following examples demonstrate how to find the libc version provided for your distribution.

On Alpine:
On Alpine 3.13:

```bash
# ldd --version
musl libc (aarch64)
Version 1.2.3
Version 1.2.2
```

On Ubuntu:
On Ubuntu 16.04:

```bash
# ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35
ldd (Ubuntu GLIBC 2.23-0ubuntu11.3) 2.23
```

## OpenSSL compatibility
Expand All @@ -56,4 +52,4 @@ New .NET versions will typically only be supported on Red Hat Enterprise Linux (
- 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.
RHEL compatible distributions are supported, including: AlmaLinux, CentOS Stream, Oracle Linux, and Rocky Linux.
6 changes: 3 additions & 3 deletions linux.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# .NET 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 is supported on Linux per [.NET Support and Compatibility for Linux Distributions](linux-support.md).
.NET can be [installed on Linux](https://learn.microsoft.com/dotnet/core/install/linux) in multiple ways. It is supported per [.NET Support and Compatibility for Linux Distributions](linux-support.md).

## Package archives

Expand All @@ -28,6 +26,8 @@ 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).

[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`.

## Containers

.NET containers are published to multiple registries.
Expand Down
4 changes: 2 additions & 2 deletions os-lifecycle-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down
31 changes: 17 additions & 14 deletions support.md
Original file line number Diff line number Diff line change
@@ -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)

## Commercial support

Official builds and commercial support is available from the following companies:
Commercial support is provided by the following companies.

## Canonical
### 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 [operating system versions](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md).

richlander marked this conversation as resolved.
Show resolved Hide resolved
## 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).
Loading