OpenCloudOS使用snap安裝.NET 6

張善友 發表於 2022-06-23
.Net

開源作業系統社群 OpenCloudOS 由騰訊與合作伙伴共同倡議發起,是完全中立、全面開放、安全穩定、高效能的作業系統及生態。OpenCloudOS 沉澱了多家廠商在軟體和開源生態的優勢,繼承了騰訊在作業系統和核心層面超過10年的技術積累,在雲原生、穩定性、效能、硬體支援等方面均有堅實支撐,可以平等全面地支援所有硬體平臺。

OpenCloudOS 8.5是 OpenCloudOS 社群釋出首個正式版本,其基礎庫和使用者態元件完全與 CentOS 8相容,並通過核心層面的優化和增強,能夠提供給使用者相比於 CentOS 8更優的解決方案。

通過.NET 的文件 在 Linux 發行版上安裝 .NET, 安裝方法有好幾種,我們首先來嘗試一下CentOS/RedHat 上的rpm 和 dnf 兩種方式安裝,均告失敗:

[[email protected] ~]# dnf install dotnet-sdk-6.0
Last metadata expiration check: 1:09:49 ago on Thu 23 Jun 2022 06:49:52 AM CST.
No match for argument: dotnet-sdk-6.0
Error: Unable to find a match: dotnet-sdk-6.0
[[email protected] ~]# yum install dotnet-sdk-6.0
Last metadata expiration check: 1:12:09 ago on Thu 23 Jun 2022 06:49:52 AM CST.
No match for argument: dotnet-sdk-6.0
Error: Unable to find a match: dotnet-sdk-6.0

Snap 是應用及其依賴項的捆綁包,無需修改即可在多個不同的 Linux 發行版中正常執行。 Snap 適用於 CentOS 7.6+ 和 Red Hat Enterprise Linux 7.6+, 可以從 Extra Packages for Enterprise Linux(EPEL)儲存庫安裝,參考文件:https://snapcraft.io/install/snapd/centos

可以使用以下命令將EPEL儲存庫新增到CentOS 8系統:

sudo dnf install epel-release
sudo dnf upgrade

將EPEL儲存庫新增到您的CentOS安裝中後,只需安裝捕捉的軟體包:

sudo yum install snapd
安裝後,需要啟用用於管理主快照通訊套接字的systemd單元:

sudo systemctl enable --now snapd.socket
要啟用經典快照支援,請輸入以下內容以在/var/lib/snapd/snap和之間建立符號連結/snap:

sudo ln -s /var/lib/snapd/snap /snap
登出並再次登入,
或者重新啟動系統以確保正確更新快照的路徑。

然後按照文件:通過 Snap 安裝 .NET SDK 或 .NET Runtime 進行.NET 6的安裝:

snap install dotnet-sdk –classic

我們來驗證一下:

[[email protected] ~]# dotnet --info
.NET SDK (reflecting any global.json):
  Version:   6.0.301
  Commit:    43f9b18481

Runtime Environment:
  OS Name:     opencloudos
  OS Version:  8.5
  OS Platform: Linux
  RID:         linux-x64
  Base Path:   /var/lib/snapd/snap/dotnet-sdk/172/sdk/6.0.301/

Host (useful for support):
   Version: 6.0.6
   Commit:  7cca709db2

.NET SDKs installed:
   6.0.301 [/var/lib/snapd/snap/dotnet-sdk/172/sdk]

.NET runtimes installed:
   Microsoft.AspNetCore.App 6.0.6 [/var/lib/snapd/snap/dotnet-sdk/172/shared/Microsoft.AspNetCore.App]
   Microsoft.NETCore.App 6.0.6 [/var/lib/snapd/snap/dotnet-sdk/172/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
   https://aka.ms/dotnet-download