國(guó)產(chǎn)化之Arm64?CPU+銀河麒麟系統(tǒng)安裝.NetCore的步驟詳解
背景
某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國(guó)產(chǎn)化,其中操作系統(tǒng)指定銀河麒麟,銀河麒麟就是一個(gè)Linux發(fā)行版,數(shù)據(jù)庫(kù)使用達(dá)夢(mèng)V8,這個(gè)數(shù)據(jù)庫(kù)很多概念和Oracle相似,CPU平臺(tái)的范圍:龍芯、飛騰、鯤鵬等。
龍芯團(tuán)隊(duì)自己支持了.netcore3.1,飛騰之類(lèi)的是ARM架構(gòu),官方已經(jīng)支持。.netcore3.1僅在 x64 體系結(jié)構(gòu)上支持包管理器安裝,對(duì)于 ARM 等其他體系結(jié)構(gòu),必須通過(guò)其他一些方式安裝 .NET。
這里就以ARM架構(gòu)舉例,其它CPU平臺(tái)的安裝過(guò)程都一樣,要下載的包不同而已。
環(huán)境
- 主機(jī)操作系統(tǒng):Windows 10
- 虛擬化工具:QEMU
- 虛擬機(jī)CPU:cortex-a53(ARMv8架構(gòu),支持Arm64)
- 虛擬機(jī)操作系統(tǒng):銀河麒麟 v4
下載
.NET Core 3.1的官方下載地址是這里 :https://dotnet.microsoft.com/en-us/download/dotnet/3.1

因?yàn)檫@里選擇ARMv8架構(gòu)的CPU,所以下載Linux的Arm64版本;如果是x64架構(gòu),就選擇x64。
如果是龍芯處理器,請(qǐng)前往龍芯官網(wǎng)下載:http://www.loongnix.cn/index.php/Dotnet
怎么上傳到服務(wù)器?
如果是下載到本地的,可以通過(guò)SFTP上傳到服務(wù)器;如果想在服務(wù)器下載,可以通過(guò)wget命令直接下載。
安裝
x64、Arm處理器
進(jìn)入安裝文件目錄,我這里是下載到當(dāng)前用戶(hù)的根目錄了,所以:
cd ~
執(zhí)行以下命令,將安裝包解壓到當(dāng)前用戶(hù)根目錄的dotnet文件夾下(可以更換路徑):
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-3.1.416-linux-arm64.tar.gz -C $HOME/dotnet
注意:不同平臺(tái)的安裝包名字不一樣,要修改成你下載的,比如x64平臺(tái)下的包是 dotnet-sdk-3.1.416-linux-x64.tar.gz 。
然后還需要將dotnet導(dǎo)出到環(huán)境變量PATH中,編輯文件 /etc/profile ,在最后添加以下兩句:
export PATH=$PATH:$HOME/dotnet export DOTNET_ROOT=$HOME/dotnet
然后執(zhí)行命令:source /etc/profile,讓配置生效。
看看dotnet是否安裝成功了,執(zhí)行命令:dotnet –info ,正常應(yīng)該顯示如下:

MIPS、龍芯處理器
因?yàn)闆](méi)有龍芯處理器,這塊只能干說(shuō)了,因?yàn)殂y河麒麟是Debian系的,所以下載那個(gè)deb包,直接命令安裝就行了。
sudo apt install ./dotnet-sdk-3.1.11-rc1_loongarch64.deb
安裝完成之后,也通過(guò) dotnet –info 看一下結(jié)果。
其它依賴(lài)
如果依賴(lài)System.Drawing.Common 程序集,還需要 libgdiplus 6.0.1或更高版本,這個(gè)是mono提供的,如果你的CPU平臺(tái)是arm64或者x64,可以在下面的鏈接下載這個(gè)包,上傳到服務(wù)器上進(jìn)行安裝:
鏈接: https://pan.baidu.com/s/123diseEAwfpX-012YqhssA?pwd=n4yb
提取碼: n4yb
x64平臺(tái)這樣安裝:
sudo apt install ./libgif7_5.1.4-0.3~16.04.1_amd64.deb sudo apt install ./libgdiplus_6.0.5-0xamarin1+ubuntu1604b1_amd64.deb
arm64平臺(tái):
sudo apt install ./libgif7_5.1.4-0.3~16.04.1_arm64.deb sudo apt install ./libgdiplus_6.0.5-0xamarin1+ubuntu1604b1_arm64.deb
如果你是其它CPU平臺(tái)的,可以參考mono項(xiàng)目的這篇文章:
https://www.mono-project.com/download/stable/
針對(duì)這個(gè)問(wèn)題,官方在.NET6中已經(jīng)放棄了System.Drawing.Common的跨平臺(tái)屬性,也許更好的辦法是使用其它圖形庫(kù)代替它,比如:SkiaSharp、Microsoft.Maui.Graphics、ImageSharp 。
測(cè)試
依次執(zhí)行以下命令:創(chuàng)建一個(gè)目錄 dotnetsample,然后創(chuàng)建一個(gè)web項(xiàng)目,最后運(yùn)行這個(gè)項(xiàng)目。
cd ~ mkdir dotnetsample cd ./dotnetsample dotnet new web dotnet run --urls=http://*:5000
在瀏覽器中訪問(wèn),顯示如下結(jié)果:

如果走到這一步,那么恭喜你,安裝成功了!
到此這篇關(guān)于國(guó)產(chǎn)化之Arm64 CPU+銀河麒麟系統(tǒng)安裝.NetCore的文章就介紹到這了,更多相關(guān)銀河麒麟系統(tǒng)安裝.NetCore內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 國(guó)產(chǎn)化之銀河麒麟安裝.netcore3.1的詳細(xì)步驟(手動(dòng)安裝)
- 國(guó)產(chǎn)化之銀河麒麟安裝.NetCore包管理器方式(步驟詳解)
- 銀河麒麟V10安裝MySQL8.0.28并實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)
- 銀河麒麟V10sp1服務(wù)器系統(tǒng)安裝redis不能使用的快速解決辦法
- zabbix-agent在麒麟V10上的安裝過(guò)程
- 在麒麟V10服務(wù)器上編譯安裝Storm的詳細(xì)過(guò)程
- 開(kāi)源數(shù)據(jù)庫(kù)postgreSQL13在麒麟v10sp1源碼安裝過(guò)程詳解
- VMware Workstation安裝(Linux內(nèi)核)銀河麒麟圖文教程
- .net6?在中標(biāo)麒麟下的安裝和部署過(guò)程
相關(guān)文章
asp.net 定時(shí)間點(diǎn)執(zhí)行任務(wù)的簡(jiǎn)易解決辦法
這里的定時(shí)間點(diǎn)執(zhí)行任務(wù),指的是每天的某個(gè)時(shí)間執(zhí)行一項(xiàng)任務(wù)。2009-12-12
Asp.net mvc在view中用C#代碼動(dòng)態(tài)創(chuàng)建元素
這篇文章主要給大家介紹了關(guān)于Asp.net mvc如何在view中用C#代碼動(dòng)態(tài)創(chuàng)建元素的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
.net后臺(tái)代碼調(diào)用前臺(tái)JS的兩種方式
這篇文章主要介紹了.net后臺(tái)代碼調(diào)用前臺(tái)JS的兩種方式,需要的朋友可以參考下2014-03-03
ASP.NET 緩存分析和實(shí)踐淺析提高運(yùn)行效率
說(shuō)到ASP.NET緩存,那就是:盡早緩存;經(jīng)常緩存您應(yīng)該在應(yīng)用程序的每一層都實(shí)現(xiàn)緩存。2010-02-02
asp.net使用AJAX實(shí)現(xiàn)無(wú)刷新分頁(yè)
AJAX(Asynchronous JavaScript and XML)是一種進(jìn)行頁(yè)面局部異步刷新的技術(shù)。用AJAX向服務(wù)器發(fā)送請(qǐng)求和獲得服務(wù)器返回的數(shù)據(jù)并且更新到界面中,不是整個(gè)頁(yè)面刷新,而是在頁(yè)面中使用Js創(chuàng)建XMLHTTPRequest對(duì)象來(lái)向服務(wù)器發(fā)出請(qǐng)求以及獲得返回的數(shù)據(jù)。2014-11-11
ASP.NET連接數(shù)據(jù)庫(kù)并獲取數(shù)據(jù)方法總結(jié)
這篇文章主要介紹了ASP.NET連接數(shù)據(jù)庫(kù)并獲取數(shù)據(jù)方法,結(jié)合實(shí)例分析總結(jié)了ASP.NET連接數(shù)據(jù)庫(kù)及獲取數(shù)據(jù)的相關(guān)實(shí)現(xiàn)技巧,并附帶了web.config配置文件的使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-11-11
win7系統(tǒng)下 vs2010 調(diào)式就關(guān)閉要重啟處理方法
最近經(jīng)常出現(xiàn)只要一使用vs2010進(jìn)行調(diào)試,就提示關(guān)閉并要重啟,好煩,度娘了半天,總結(jié)下來(lái)解決方法,親測(cè)可用哦。2014-08-08
ASP.NET JSON字符串與實(shí)體類(lèi)的互轉(zhuǎn)換示例代碼
本篇文章主要是對(duì)ASP.NET JSON字符串與實(shí)體類(lèi)的互轉(zhuǎn)換的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01

