Skip to content

Commit a3e1476

Browse files
authored
Update Linux installation dependencies (#33116)
* Update Linux installation dependencies * Fixed links * Address review comments
1 parent 7a714fa commit a3e1476

File tree

10 files changed

+33
-48
lines changed

10 files changed

+33
-48
lines changed

docs/core/docker/introduction.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ The [Microsoft Container Registry (MCR)](/azure/container-registry) is the offic
3737

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

40-
## .NET Core images
40+
## .NET images
4141

42-
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.
42+
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.
4343

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
author: adegeo
3+
ms.author: adegeo
4+
ms.date: 12/27/2022
5+
ms.topic: include
6+
---
7+
8+
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.
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
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:
2+
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:
33

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

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

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

15-
- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)
16-
17-
> [!WARNING]
18-
> 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/>.
15+
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).

docs/core/install/linux-alpine.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ ms.date: 12/21/2022
1010

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

13+
If you're using Docker, consider using [official .NET Docker images](../docker/introduction.md#net-images) instead of installing .NET yourself.
14+
1315
[!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)]
1416

1517
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:
@@ -64,15 +66,14 @@ The following table is a list of currently supported .NET releases and the archi
6466

6567
## Dependencies
6668

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

6971
- icu-libs
7072
- krb5-libs
7173
- libgcc
7274
- libgdiplus (if the .NET app requires the *System.Drawing.Common* assembly)
7375
- libintl
74-
- libssl1.1 (Alpine v3.9 or greater)
75-
- libssl1.0 (Alpine v3.8 or lower)
76+
- libssl1.1
7677
- libstdc++
7778
- zlib
7879

@@ -82,10 +83,12 @@ To install the needed requirements, run the following command:
8283
apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib
8384
```
8485

85-
To install **libgdiplus**, you may need to specify a repository:
86+
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]
87+
88+
To install libgdiplus on Alpine 3.16 or newer (older versions don't include the package), run:
8689

8790
```bash
88-
apk add libgdiplus --repository https://dl-3.alpinelinux.org/alpine/edge/testing/
91+
apk add libgdiplus
8992
```
9093

9194
## Next steps

docs/core/install/linux-debian.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,26 +102,20 @@ sudo apt-get update && \
102102

103103
## Dependencies
104104

105-
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:
105+
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:
106106

107107
- libc6
108108
- libgcc-s1
109109
- libgssapi-krb5-2
110-
- libicu52 (for 8.x)
111-
- libicu57 (for 9.x)
112110
- libicu63 (for 10.x)
113111
- libicu67 (for 11.x)
114-
- libssl1.0.0 (for 8.x)
115-
- libssl1.1 (for 9.x-11.x)
112+
- libssl1.1
116113
- libstdc++6
117114
- zlib1g
118115

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

121-
- libgdiplus (version 6.0.1 or later)
122-
123-
> [!WARNING]
124-
> 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/>.
118+
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).
125119

126120
## Next steps
127121

docs/core/install/linux-opensuse.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,7 @@ If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need
7474

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

77-
For .NET apps that use the *System.Drawing.Common* assembly, you'll also need the following dependency:
78-
79-
- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)
80-
81-
> [!WARNING]
82-
> 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/>.
77+
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]
8378

8479
## Next steps
8580

docs/core/install/linux-scripted-manual.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,9 @@ If your distribution wasn't previously listed, and is debian-based, you may need
6969

7070
### Common dependencies
7171

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

74-
- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)
75-
76-
> [!WARNING]
77-
> 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/>.
74+
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).
7875

7976
## Scripted install
8077

docs/core/install/linux-sles.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,7 @@ If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need
8383

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

86-
For .NET apps that use the *System.Drawing.Common* assembly, you'll also need the following dependency:
87-
88-
- [libgdiplus (version 6.0.1 or later)](https://www.mono-project.com/docs/gui/libgdiplus/)
89-
90-
> [!WARNING]
91-
> 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/>.
86+
[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]
9287

9388
## Next steps
9489

docs/core/install/linux-ubuntu.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -235,26 +235,22 @@ When you install with a package manager, these libraries are installed for you.
235235
- libgcc1
236236
- libgcc-s1 (for 22.x)
237237
- libgssapi-krb5-2
238-
- libicu52 (for 14.x)
239238
- libicu55 (for 16.x)
240239
- libicu60 (for 18.x)
241240
- libicu66 (for 20.x)
242241
- libicu70 (for 22.04)
243242
- libicu71 (for 22.10)
244243
- liblttng-ust1 (for 22.x)
245-
- libssl1.0.0 (for 14.x, 16.x)
244+
- libssl1.0.0 (for 16.x)
246245
- libssl1.1 (for 18.x, 20.x)
247246
- libssl3 (for 22.x)
248247
- libstdc++6
249248
- libunwind8 (for 22.x)
250249
- zlib1g
251250

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

254-
- libgdiplus (version 6.0.1 or later)
255-
256-
> [!WARNING]
257-
> 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/>.
253+
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).
258254

259255
## Next steps
260256

docs/core/install/linux.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.date: 11/08/2022
1414
> - [Install on macOS](macos.md)
1515
> - [Install on Linux](linux.md)
1616
17-
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).
17+
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).
1818

1919
## Manual installation
2020

0 commit comments

Comments
 (0)