yuanqq

专题目录

国产化之路-统信UOS操作系统安装
国产化之路-国产操作系统安装.net core 3.1 sdk
国产化之路-安装WEB服务器
国产化之路-安装达梦DM8数据库
国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

主机配置

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的问题彻底解决。

小结

两个操作系统对.net core sdk环境安装还算比较顺利,对于手动安装方式稍微有些小缺憾,需要对环境变量进行配置,根据官方提示配置只解决了一部分问题,仅对安装用户可用,其他用户无法使用,后经调查研究配置全局变量后彻底解决,主要还是对Linux操作系统不是很熟悉。为了方便站点的发布与管理,下一步计划搭建WEB管理服务器。

参考资料

官方ubantu安装说明文档:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu
官方debian安装说明文档:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-debian
环境变量说明参考文档:https://www.cnblogs.com/realjimmy/p/13379700.html

分类:

技术点:

相关文章: