國產化之路-麒麟V10作業系統安裝.net core 3.1 sdk

千島偏舟發表於2020-09-17

緣起

隨著晶片國產化,作業系統國產化,軟體國產化的聲浪越來越高,公司也已經把開發國產化專案提上了日程,最近搞來了臺國產品牌主機用來做開發試驗,機子從裡到外都是國產的,安裝的作業系統是麒麟V10,國產化折騰之路也就此開始了。

開始折騰

一直用的是微軟的全家桶,首先得安裝一下環境,搜了一下微軟官方的安裝說明,版本實在是太多,搞不清楚麒麟V10的作業系統是基於Linux哪個版本的,隨便找了個CentOS的版本安裝不成功,看樣子瞎折騰肯定不行,還是得按部就班的來,先搞清楚當前作業系統的版本再說,百度了一下Linux檢視版本的命令:

cat /proc/version

根據顯示的資訊麒麟作業系統V10版本原來是基於ubuntul16.04的,這個就好辦了,找ubuntul的官方安裝文件,https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu,然後找到16.04版本安裝說明,根據指引將 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

果不其然,應該找個可替代的映象源就可以解決這個問題,頭疼的就是該用什麼源來替換,直接聯絡麒麟公司客服,一問說是系統升級維護中,要等兩週時間,直接暈菜。

不能光等著,換其他的源試試看吧,阿里雲、清華、金山試了個遍,有部分資源下載不了,執行不了:”sudo apt-get install -y apt-transport-https“安裝命令,沒辦法,看到官方安裝文件還有手動安裝,試試看吧!

手動安裝

根據安裝說明下載.net core 3.1 SDK,文件中有下載地址連結,裡邊有好多版本,這裡注意要選擇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

應該成功了,建立一個專案目錄,然後新建一個MVC的專案試試,看看是否能跑得起來:

dotnet new mvc

建立成功,然後執行看看

dotnet run

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

至此在麒麟作業系統V10版本安裝.net core算是成功了。繼續看微軟的安裝文件,下面有一段提示,應該比較重要:

提示

前面的 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 --info",結果仍然可用,切換成其他賬號看看

出現”dotnet:未找到命令“的提示,估計就這個問題吧!根據提示,編輯”~/.bashrc“

vim ~/.bashrc

在末尾加上:

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

儲存退出,執行如下命令重新載入環境變數

source ~/.bashrc

再一次”dotnet“ 仍然是”未找到命令“,想想已經是折騰了一天了,先暫時作罷吧!至少root賬戶可以使用了,後面再慢慢研究。

後記

彎彎繞繞地折騰了不少時間,竟然還遇上了麒麟資源站升級這個事情,運氣真是爆棚,一天下來,雖然環境是裝起來了,但還是存在幾個未解決的問題:
(1)使用APT安裝因為麒麟資源站升級無法更新,半路中止了,等他們資源站能用了再試試;
(2)手動安裝雖然成功了,但也還是留下了一個小問題,切換成其他賬號找不到"dotnet"命令,安照安裝提示配置環境變數還是無法解決,是配置錯誤還是其他原因,不得而知,對Linux環境變數配置比較瞭解的朋友也可以在下面留言,歡迎提供思路,謝謝!
當前也只是開個頭,國產之路長的很,希望大家一起來鋪路,掃掃地也行,哈哈~下一步計劃安裝寶塔,聽說使用寶塔可以通過Web端輕鬆管理伺服器,我們也體驗一番,還有Nginx還是得裝的,Web服務還是得有一個的;接下來就是安裝國產資料庫了,資料庫是少不了的,計劃使用達夢D8資料庫,後面就是做一些案例和一些技術點的應用,敬請期待。

相關文章