國產化之路-國產操作系統安裝.net core 3.1 sdk


參考  https://www.cnblogs.com/yuanqq/p/13686446.html

 

參考 https://dotnet.microsoft.com/download/dotnet-core

 

主機配置

CPU:飛騰FT-2000/4
內存:8G
硬盤:200GB
操作系統:麒麟V10(ARM64)、統信UOS(桌面專業版ARM64)
備注:這里列出的是兩個操作系統並非是雙系統,而是作為實驗對象分別對這兩款操作系統進行了環境安裝配置。

 

麒麟V10安裝.net core 3.1

安裝之前需要先了解操作系統的版本號,確定基於哪個版本再安裝,運行如下命令進行查看:

cat /proc/version 

根據顯示信息我們可以得到麒麟操作系統V10版本是基於ubuntul16.04的,對應微軟官方安裝說明地址:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu, 先使用APT方式安裝。

 

APT方式安裝

在微軟官方文檔中找到16.4版本的安裝說明,然后根據指引將 Microsoft 包簽名密鑰添加到受信任密鑰列表,並添加包存儲庫

wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb 

成功后繼續執行:

sudo dpkg -i packages-microsoft-prod.deb 

完成上面兩步后就可以開始安裝SDK了,根據提示先執行更新操作:

sudo apt-get update 

提示無法解析域名”archive.kylinos.cn“,應該是鏡像源有問題,查看資源列表:

vim /etc/apt/sources.list 

直接聯系麒麟公司客服,解釋是系統升級維護中,要等兩周時間,APT安裝方式暫時擱置,轉為手動安裝。

手動安裝

手動安裝需要先下載.net core 3.1 SDK,在微軟官方文檔中有下載地址鏈接,下載的版本較多:

這里要注意一下要根據自己電腦的架構來選擇對應的版本,請使用下面命令來查看:

uname -a 

我這里是aarch64查了一下屬於ARM64,所以下載ARM64版本的,執行命令下載 :

wget https://download.visualstudio.microsoft.com/download/pr/186257d9-bca2-4dda-be74-006205965ec9/b2b63d45482701473d9731abc41ecc2a/dotnet-sdk-3.1.402-linux-arm64.tar.gz 

繼續跟着微軟官方安裝說明的指引使用以下命令來提取 SDK:

mkdir -p "$HOME/dotnet" && tar zxf dotnet-sdk-3.1.402-linux-arm64.tar.gz -C "$HOME/dotnet" export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet 

一切貌似還比較順利,查看安裝是否成功:

dotnet --info 

應該配置成功了。

統信UOS安裝.net core sdk

安裝之前同樣需要先看一下操作系統的版本號,確定基於哪個版本安裝:

cat /proc/version 


從截圖中看到統信UOS的操作系統是基於Debian 8.3.0版本的,找到官方安裝說明地址:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-debian ,文檔中描述Debian 8版本不支持APT方式安裝,只能使用手動方式安裝。

手動安裝

同樣下載獲取ARM64的.net core sdk,然后使用如下命令安裝

mkdir -p "$HOME/dotnet" && tar zxf dotnet-sdk-3.1.402-linux-arm64.tar.gz -C "$HOME/dotnet" export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet 

查看安裝是否成功:

dotnet --info 


沒有問題,統信UOS下安裝成功。

運行測試

為了驗證.net core環境是否正常能用,還需要分別對兩個操作系統下的.net core環境運行測試一下。創建一個項目目錄,然后新建一個MVC項目,看看是否能跑得起來:

dotnet new mvc 

創建成功,然后運行看看

dotnet run

使用桌面端打開瀏覽器輸入”http://localhost:5000“,成功顯示頁面,其默認會跳轉到”https://localhost:5001“,這個不用在意

經過測試,兩個操作系統都能正常運行網站,環境算是安裝配置成功了。

環境變量配置

在兩個版本的官方安裝文檔下方都有一塊加深背景的提示,原文如下:

提示

前面的 export 命令只會使 .NET Core CLI 命令對運行它的終端會話可用。

你可以編輯 shell 配置文件,永久地添加這些命令。 Linux 提供了許多不同的 shell,每個都有不同的配置文件。 例如:

Bash Shell:/.bash_profile、/.bashrc
Korn Shell:~/.kshrc 或 .profile
Z Shell:~/.zshrc 或 .zprofile
為 shell 編輯相應的源文件,並將 :$HOME/dotnet 添加到現有 PATH 語句的末尾。 如果不包含 PATH 語句,則使用 export PATH=$PATH:$HOME/dotnet 添加新行。

另外,將 export DOTNET_ROOT=$HOME/dotnet 添加至文件的末尾。

大意是手動安裝 export 命令只會對當前的會話終端有用,如果關閉后再次打開就會失效,為了驗證,我們關閉當前終端,然后重新登錄或切換成其他賬號后運行命令:

確實出現”dotnet:未找到命令“的提示,根據文檔提示編輯”~/.bashrc“

vim ~/.bashrc 

在末尾加上:

# .net core sdk 運行環境 export PATH=$PATH:$HOME/dotnet export DOTNET_ROOT=$HOME/dotnet 

保存退出,運行如下命令重新加載環境變量

source ~/.bashrc 

再一次”dotnet“ ,運行正常,切換成其他用戶后運行仍然是”未找到命令“,說明“~/.bashrc”只對當前安裝用戶有效,而並不是全局的,網上搜索了一下也確實如此,我們希望所有的用戶都能使用就不能在這里配置了,另外還需要對dotnet目錄挪挪位置,首先能夠讓所以用戶都能看到dotnet目錄,將dotnet sdk目錄拷貝到usr/local/目錄下:

cp -r dotnet /usr/local 

然后編輯~/.bashrc文件,刪除原來針對.net core的環境變量配置,編輯/etc/profile全局環境變量文件

vim /etc/profile 

在文件最末尾添加如下配置:

# .net core sdk 運行環境 exprot PATH=$PATH:/usr/local/dotnet exprot DOTNET_ROOT=/usr/local/dotnet 

這里注意一下配置中路徑已經有所變化,是“/usr/local/dotnet”而不是原來的“#HOME/dotnet”,保存退出,重新加載環境變量

source /etc/profile 

切換用戶,運行命令

dotnet --info 


成功運行,切換用戶后無法使用dotnet的問題徹底解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM