• 国产化之路-国产操作系统安装.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的问题彻底解决。

  • 相关阅读:
    Android核心分析之十七电话系统之rilD
    Android核心分析之十六Android电话系统-概述篇
    Android核心分析之十五Android输入系统之输入路径详解
    Android核心分析之十四Android GWES之输入系统
    Android 核心分析之十三Android GWES之Android窗口管理
    Android 核心分析之十二Android GEWS窗口管理之基本架构原理
    Android核心分析 之十一Android GWES之消息系统
    Android核心分析 之十Android GWES之基本原理篇
    Android核心分析 之九Zygote Service
    Android 核心分析 之八Android 启动过程详解
  • 原文地址:https://www.cnblogs.com/zwbsoft/p/13751081.html
Copyright © 2020-2023  润新知