Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
4 changes: 2 additions & 2 deletions docs/core/docker/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ The [Microsoft Container Registry (MCR)](/azure/container-registry) is the offic

A **Dockerfile** is a file that defines a set of instructions that creates an image. Each instruction in the **Dockerfile** creates a layer in the image. For the most part, when you rebuild the image, only the layers that have changed are rebuilt. The **Dockerfile** can be distributed to others and allows them to recreate a new image in the same manner you created it. While this allows you to distribute the *instructions* on how to create the image, the main way to distribute your image is to publish it to a registry.

## .NET Core images
## .NET images

Official .NET Core Docker images are published to the Microsoft Container Registry (MCR) and are discoverable at the [Microsoft .NET Core Docker Hub repository](https://hub.docker.com/_/microsoft-dotnet/). Each repository contains images for different combinations of the .NET (SDK or Runtime) and OS that you can use.
Official .NET Docker images are published to the Microsoft Container Registry (MCR) and are discoverable at the [Microsoft .NET Docker Hub repository](https://hub.docker.com/_/microsoft-dotnet/). Each repository contains images for different combinations of the .NET (SDK or Runtime) and OS that you can use.

Microsoft provides images that are tailored for specific scenarios. For example, the [ASP.NET Core repository](https://hub.docker.com/_/microsoft-dotnet-aspnet/) provides images that are built for running ASP.NET Core apps in production.

Expand Down
8 changes: 8 additions & 0 deletions docs/core/install/includes/linux-libgdiplus-general.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
author: adegeo
ms.author: adegeo
ms.date: 12/27/2022
ms.topic: include
---

If the .NET app uses the *System.Drawing.Common* assembly, libgdiplus will also need to be installed. Because [*System.Drawing.Common* is no longer supported on Linux](../../compatibility/core-libraries/6.0/system-drawing-common-windows-only.md), this only works on .NET 6 and requires setting the `System.Drawing.EnableUnixSupport` runtime configuration switch.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

When you install with a package manager, these libraries are installed for you. But, if you manually install .NET Core or you publish a self-contained app, you'll need to make sure these libraries are installed:
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:

- krb5-libs
- libicu
Expand All @@ -10,9 +10,6 @@ If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need

For more information about the dependencies, see [Self-contained Linux apps](https://github.com/dotnet/core/blob/main/Documentation/self-contained-linux-apps.md).

For .NET Core apps that use the *System.Drawing.Common* assembly, you'll also need the following dependency:
[!INCLUDE [linux-libgdiplus-general](linux-libgdiplus-general.md)]

- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)

> [!WARNING]
> You can install a recent version of *libgdiplus* by adding the Mono repository to your system. For more information, see <https://www.mono-project.com/download/stable/>.
You can install a recent version of *libgdiplus* by [adding the Mono repository to your system](https://www.mono-project.com/download/stable/#download-lin).
13 changes: 8 additions & 5 deletions docs/core/install/linux-alpine.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ ms.date: 11/22/2022

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

If you're using Docker, consider using [official .NET Docker images](../docker/introduction.md#net-images) instead of installing .NET yourself.

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

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:
Expand Down Expand Up @@ -62,15 +64,14 @@ The following table is a list of currently supported .NET releases and the versi

## Dependencies

.NET on Alpine Linux requires the following dependencies installed:
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:

- icu-libs
- krb5-libs
- libgcc
- libgdiplus (if the .NET app requires the *System.Drawing.Common* assembly)
- libintl
- libssl1.1 (Alpine v3.9 or greater)
- libssl1.0 (Alpine v3.8 or lower)
- libssl1.1
- libstdc++
- zlib

Expand All @@ -80,10 +81,12 @@ To install the needed requirements, run the following command:
apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib
```

To install **libgdiplus**, you may need to specify a repository:
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]

To install libgdiplus on Alpine 3.16 or newer (older versions don't include the package), run:

```bash
apk add libgdiplus --repository https://dl-3.alpinelinux.org/alpine/edge/testing/
apk add libgdiplus
```

## Next steps
Expand Down
14 changes: 4 additions & 10 deletions docs/core/install/linux-debian.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,26 +102,20 @@ sudo apt-get update && \

## Dependencies

When you install with a package manager, these libraries are installed for you. But, if you manually install .NET Core or you publish a self-contained app, you'll need to make sure these libraries are installed:
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:

- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu52 (for 8.x)
- libicu57 (for 9.x)
- libicu63 (for 10.x)
- libicu67 (for 11.x)
- libssl1.0.0 (for 8.x)
- libssl1.1 (for 9.x-11.x)
- libssl1.1
- libstdc++6
- zlib1g

For .NET Core apps that use the *System.Drawing.Common* assembly, you also need the following dependency:
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]

- libgdiplus (version 6.0.1 or later)

> [!WARNING]
> You can install a recent version of *libgdiplus* by adding the Mono repository to your system. For more information, see <https://www.mono-project.com/download/stable/>.
You can install a recent version of *libgdiplus* by [adding the Mono repository to your system](https://www.mono-project.com/download/stable/#download-lin-debian).

## Next steps

Expand Down
7 changes: 1 addition & 6 deletions docs/core/install/linux-opensuse.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,7 @@ If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need

For more information about the dependencies, see [Self-contained Linux apps](https://github.com/dotnet/core/blob/main/Documentation/self-contained-linux-apps.md).

For .NET apps that use the *System.Drawing.Common* assembly, you'll also need the following dependency:

- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)

> [!WARNING]
> You can install a recent version of *libgdiplus* by adding the Mono repository to your system. For more information, see <https://www.mono-project.com/download/stable/>.
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]

## Next steps

Expand Down
7 changes: 2 additions & 5 deletions docs/core/install/linux-scripted-manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,9 @@ If your distribution wasn't previously listed, and is debian-based, you may need

### Common dependencies

For .NET apps that use the *System.Drawing.Common* assembly, you'll also need the following dependency:
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]

- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)

> [!WARNING]
> You can install a recent version of *libgdiplus* by adding the Mono repository to your system. For more information, see <https://www.mono-project.com/download/stable/>.
You can usually install a recent version of *libgdiplus* by [adding the Mono repository to your system](https://www.mono-project.com/download/stable/#download-lin).

## Scripted install

Expand Down
7 changes: 1 addition & 6 deletions docs/core/install/linux-sles.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,7 @@ If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need

For more information about the dependencies, see [Self-contained Linux apps](https://github.com/dotnet/core/blob/main/Documentation/self-contained-linux-apps.md).

For .NET apps that use the *System.Drawing.Common* assembly, you'll also need the following dependency:

- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)

> [!WARNING]
> You can install a recent version of *libgdiplus* by adding the Mono repository to your system. For more information, see <https://www.mono-project.com/download/stable/>.
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]

## Next steps

Expand Down
10 changes: 3 additions & 7 deletions docs/core/install/linux-ubuntu.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,26 +235,22 @@ When you install with a package manager, these libraries are installed for you.
- 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.0.0 (for 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:
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]

- libgdiplus (version 6.0.1 or later)

> [!WARNING]
> You can install a recent version of *libgdiplus* by adding the Mono repository to your system. For more information, see <https://www.mono-project.com/download/stable/>.
You can install a recent version of *libgdiplus* by [adding the Mono repository to your system](https://www.mono-project.com/download/stable/#download-lin-ubuntu).

## Next steps

Expand Down
2 changes: 1 addition & 1 deletion docs/core/install/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ms.date: 11/08/2022
> - [Install on macOS](macos.md)
> - [Install on Linux](linux.md)

This article details how to install .NET on various Linux distributions either manually, via a package manager, or via a [container](../docker/introduction.md#net-core-images).
This article details how to install .NET on various Linux distributions either manually, via a package manager, or via a [container](../docker/introduction.md#net-images).

## Manual installation

Expand Down