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

Updates for linux install instructions #32596

Merged
merged 13 commits into from
Nov 28, 2022
Merged

Updates for linux install instructions #32596

merged 13 commits into from
Nov 28, 2022

Conversation

adegeo
Copy link
Contributor

@adegeo adegeo commented Nov 16, 2022

Summary

Update all the Linux distro install articles for the projected information. This PR relies on the fact that the feeds are updated. For example, .NET 7 is still not available in the Ubuntu jammy and Kinetic feeds.

I also simplified a lot of the tables and removed outdated information.

Fixes #32521
Fixes #30457
Fixes #32541
Fixes #32663
Fixes #32498

@adegeo
Copy link
Contributor Author

adegeo commented Nov 16, 2022

@omajid Can you verify RHEL and the related distros? Thanks!

@omajid
Copy link
Member

omajid commented Nov 16, 2022

Here's the status of .NET packages for Fedora/RHEL-based distros that I know of:

  • CentOS
    • Only non-EOL version is CentOS 7, where Microsoft is the only one producing .NET packages for
  • CentOS Stream 8
    • .NET Core 3.1, .NET 6 seem to be available. I expected .NET 7 to be available too, but it's not. I need to look into this.
  • CentOS Stream 9
    • .NET 6 and .NET 7 are available
  • Fedora
    • Fedora 35: .NET Core 3.1 and .NET 6 are currently available
    • Fedora 36: .NET Core 3.1 and .NET 6 are currently available
    • Fedora 37 (about to be released in a few days): Only.NET 6 is currently available
    • .NET 7 packages are being reviewed for inclusion in Fedora 36 and later. Fedora 35 is being left out because it goes EOL in about a month or so.
  • RHEL 7
    • .NET Core 3.1 and .NET 6 are available. .NET 7 is not available, and there are no plans to add it.
  • RHEL 8 (as of 8.7)
    • .NET Core 3.1, .NET 6 and .NET 7 are all available
  • RHEL 9 (as of 9.1, which was released today)
    • .NET 6 and .NET 7 are available

@omajid
Copy link
Member

omajid commented Nov 16, 2022

I didn't look into the .NET 5.0 packages, let me know if you want me to look into those as well.

@omajid
Copy link
Member

omajid commented Nov 16, 2022

Would it be worth it to include the architectures somewhere? The Microsoft feed only provides .NET packages for x64. Some distros provide packages for arm64 as well. Alpine is the only one that provides packages for arm (or is it arm32?). Only RHEL 8 and 9 provide ppc64le packages.

Copy link
Contributor

@tdykstra tdykstra left a comment

Choose a reason for hiding this comment

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

Looks good, I just noted a few typos.

docs/core/install/includes/linux-install-70-dnf.md Outdated Show resolved Hide resolved
docs/core/install/linux-centos.md Outdated Show resolved Hide resolved
docs/core/install/linux-centos.md Outdated Show resolved Hide resolved
docs/core/install/linux-debian.md Outdated Show resolved Hide resolved
docs/core/install/linux-ubuntu.md Outdated Show resolved Hide resolved
docs/core/install/linux-ubuntu.md Show resolved Hide resolved
docs/core/install/linux-ubuntu.md Outdated Show resolved Hide resolved
@adegeo
Copy link
Contributor Author

adegeo commented Nov 16, 2022

@omajid Thank you for the information. I've updated the articles. For Fedora I removed .NET 7 for the time being but still cleaned things up. Let me know when it's .NET 7 is ready and I'll update the article.

Regarding architecture, it's not something we've really added to any of the install docs yet. We've also not really received much feedback as to confusion about it except when people are trying to install via the MS package manager feed on Ubuntu ARM. Besides that (which the article has a note after that feedback) I've not seen anything else, though I've not been paying much attention to it lately.

@omajid
Copy link
Member

omajid commented Nov 16, 2022

cc @mirespace to comment on Ubuntu

My understanding is .NET 7 packages in Ubuntu (22.04 and later) aren't quite ready yet.

@mirespace
Copy link

mirespace commented Nov 17, 2022

Hi!

.NET 7 is expected to be released next December on 22.10 (not on 22.04), for amd64 and arm64.
.NET 6 will be released for arm64, hopefully by the end of this week/beginning of next week in 22.10 and 22.04, along with the amd64 architecture which is already being shipped.

@adegeo adegeo mentioned this pull request Nov 18, 2022
@ayakael
Copy link
Contributor

ayakael commented Nov 18, 2022

Would it be worth it to include the architectures somewhere? The Microsoft feed only provides .NET packages for x64. Some distros provide packages for arm64 as well. Alpine is the only one that provides packages for arm (or is it arm32?). Only RHEL 8 and 9 provide ppc64le packages.

For now Alpine only provides packages for aarch64, armv7, x86_64 and s390x. I can send a diff for up-to-date Alpine page, but I'll have to wait a few days as I'm too busy today.

@adegeo
Copy link
Contributor Author

adegeo commented Nov 22, 2022

@ayakael I ported your diff info, please review and let me know what you think. .NET 6 is still supported on 3.16 correct? Is it just not in the package manager? You marked it as not supportred.

@adegeo adegeo marked this pull request as ready for review November 22, 2022 19:00
@ayakael
Copy link
Contributor

ayakael commented Nov 23, 2022

@ayakael I ported your diff info, please review and let me know what you think. .NET 6 is still supported on 3.16 correct? Is it just not in the package manager? You marked it as not supportred.

.NET6 is indeed still supported on 3.16. The confusion might stem from the architecture section, where s390x support of .NET6 only starts with 3.17. Also, I see that you mark versions on and before 3.15 as supported. This is not the case from Alpine's perspective, as the package was only initially included in 3.16. Should the instructions more explicitely allign with what is supported by Alpine or should they allign more with what is supported by Microsoft?

Also, for what it's worth, I kind of liked the old tables, but I understand the desire to simplify them haha

@adegeo
Copy link
Contributor Author

adegeo commented Nov 28, 2022

@ayakael

.NET6 is indeed still supported on 3.16. The confusion might stem from the architecture section, where s390x support of .NET6 only starts with 3.17. Also, I see that you mark versions on and before 3.15 as supported. This is not the case from Alpine's perspective, as the package was only initially included in 3.16. Should the instructions more explicitely allign with what is supported by Alpine or should they allign more with what is supported by Microsoft?

Correct, we want to state what is supported from Microsofts standpoint via manual installation, but also point out that there are packages available in the feeds. Does that make sense? Do you think something should be adjusted?

Also, for what it's worth, I kind of liked the old tables, but I understand the desire to simplify them haha

I also liked the old tables....

@adegeo adegeo mentioned this pull request Nov 28, 2022
12 tasks
@ayakael
Copy link
Contributor

ayakael commented Nov 28, 2022

@ayakael

.NET6 is indeed still supported on 3.16. The confusion might stem from the architecture section, where s390x support of .NET6 only starts with 3.17. Also, I see that you mark versions on and before 3.15 as supported. This is not the case from Alpine's perspective, as the package was only initially included in 3.16. Should the instructions more explicitely allign with what is supported by Alpine or should they allign more with what is supported by Microsoft?

Correct, we want to state what is supported from Microsofts standpoint via manual installation, but also point out that there are packages available in the feeds. Does that make sense? Do you think something should be adjusted?

Also, for what it's worth, I kind of liked the old tables, but I understand the desire to simplify them haha

I also liked the old tables....

Could we bring back the old tables? Alpine would look like this:

- ✔️ indicates that the version of Alpine or .NET is still supported.
- A ❌ indicates that the version of Alpine or .NET isn't supported on that Alpine release.
- When both a version of Alpine and a version of .NET have ✔️, that OS and .NET combination is supported.

| Alpine  | .NET 6 | .NET 7 |
|---------|--------|--------|
| ✔️ 3.17  | ✔️ 6.0  | ✔️ 7.0  |
| ✔️ 3.16  | ✔️ 6.0  | ✔️ 7.0  |
| ✔️ 3.15  | ✔️ 6.0  | ✔️ 7.0  |
| ✔️ 3.14  | ✔️ 6.0  | ❌ 7.0  |

[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]

## Supported architectures on Alpine package
- ✔️ indicates that the architecture of Alpine or .NET is still supported.
- A ❌ indicates that the architecture of Alpine or .NET isn't supported
- The version number is when the the package was first released for that platform
- Note that only `x86_64`, `armv7`, `aarch64` is officially supported by Microsoft. Other architectures are supported by the distribution maintainers.

| Architecture | .NET 6 | .NET 7 |
|--------------|--------|--------|
| x86_64       | ✔️ 3.16 | ✔️ 3.17 |
| x86          |||
| aarch64      | ✔️ 3.16 | ✔️ 3.17 |
| armv7        | ✔️ 3.16 | ✔️ 3.17 |
| armhf        |||
| s390x        | ✔️ 3.17 ||
| ppc64le      |||
| riscv64      |||

With 3.1 being EOL in a few weeks, I'd propose we remove 3.1 off the tables.

@adegeo
Copy link
Contributor Author

adegeo commented Nov 28, 2022

Right now the design is to simplify the tables, in line with the rest of the articles. I want to merge this now and then we can follow up with another PR for 3.1 😁 This PR has taken too long due to the lag of everything 😢

@adegeo adegeo merged commit 987c044 into main Nov 28, 2022
@adegeo adegeo deleted the adegeo-linux branch November 28, 2022 21:37
@ghost ghost added the okr-curation OKR: Curate content to remove outdated recommendations label Nov 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏁 Release: .NET 7 Work items for the .NET 7 release dotnet/svc dotnet-fundamentals/svc install-deployment/subsvc okr-curation OKR: Curate content to remove outdated recommendations
Projects
None yet
8 participants