背景

某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64、龙芯、飞腾、鲲鹏等。

考虑到这些基础产品对.NETCore的支持,最终选择了3.1版本。主要原因就是龙芯搞了自研CPU架构,用户量不够大,.NET官方并没有专门针对龙芯的支持,而龙芯团队只对.netcore3.1做了适配(目前.net6适配测试中),至于其它的国产CPU则是基于Arm64和x64的,.NET官方都有支持。

因为只有x64支持通过包管理器安装,其它CPU架构下需要手工安装,所以这篇文章介绍的包管理器安装仅适用于x64平台,手工安装请看另一篇文章:国产化之银河麒麟安装.netcore3.1-手动安装

环境

  • 虚拟化平台:Hyper-V 10.0
  • 操作系统:银河麒麟 v4
  • CPU平台:x86-64

安装步骤

银河麒麟 v4是基于 Ubuntu16.04 的,所以安装步骤可以参考微软官方的文档。

https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu#1604-

1、更新软件列表

首先添加软件包源的国内镜像地址:

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

原始文件中有一行:deb file:///media/kylin/Kylin-4.0.2 juniper main

这个是光盘源的地址,如果没有就屏蔽掉它,前边加上 #

然后执行:sudo apt-get update获取软件包的最新列表。

2、添加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
rm packages-microsoft-prod.deb

3、安装.netcore 3.1 sdk

执行下边的命令,静待执行完毕。

sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0

4、检查安装结果

执行命令:dotnet --info

显示如下信息:

.NET Core SDK (reflecting any global.json):
Version: 3.1.416
Commit: 8d3765c609 Runtime Environment:
OS Name: kylin
OS Version: 4.0.2
OS Platform: Linux
RID: linux-x64
Base Path: /usr/share/dotnet/sdk/3.1.416/

测试

依次执行以下命令:创建一个目录 dotnetsample,然后创建一个web项目,最后运行这个项目。

cd ~
mkdir dotnetsample
cd ./dotnetsample
dotnet new web
dotnet run --urls=http://*:5000

在浏览器中访问,显示如下结果:

如果走到这一步,那么恭喜你,安装成功了!

收获更多架构知识,请关注微信公众号 萤火架构。原创内容,转载请注明出处。

国产化之银河麒麟安装.NetCore-包管理器方式的更多相关文章

  1. [视频教程] 包管理器方式安装使用openresty新手上路

    OpenResty是一个通过Lua扩展Nginx实现的可伸缩的Web平台,内部集成了大量精良的Lua库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态Web应用.Web ...

  2. XCode 7.1 安装 Alcatraz包管理器失败的处理

    按照官方的文档(https://github.com/supermarin/Alcatraz),先卸载再重新安装即可.步骤如下: 1. 退出Xcode 2. rm -rf ~/Library/Appl ...

  3. XCode 安装 Alcatraz包管理器失败的处理

    按照官方的文档(https://github.com/supermarin/Alcatraz),先卸载再重新安装即可.步骤如下: 1. 退出Xcode 2. rm -rf ~/Library/Appl ...

  4. 国产化之银河麒麟安装达梦数据库DM8

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用DM8. 虽然在之前的文章中已经成功模拟国产飞腾处理器,但是运行效率不高,所以这里的银河麒麟操作系统还是运行在x64平台上 ...

  5. 在windows下安装python包管理器pip及使用

      从来没有在Windows下用过pip,今天试了下,原来pip也可以在Windows下安装,使用也和Linux下一样简单. 先从下面的地址下载pip源码: http://pypi.python.or ...

  6. 【sublime】插件安装:包管理器——Package Control

    首先,按CTRL+`,打开控制台   粘贴下面的代码,之后回车 如果是sublime3 import urllib.request,os,hashlib; h = '7183a2d3e96f11eea ...

  7. 插件安装:包管理器——Package Control

    首先,按CTRL+`,打开控制台   粘贴下面的代码,之后回车 如果是sublime3 ? 1 import urllib.request,os,hashlib; h = '7183a2d3e96f1 ...

  8. centos7 安装dnf包管理器和常用命令

    Installing DNF Currently the DNF package comes from the EPEL repository, so if your Linux system is ...

  9. Node.js包管理器Yarn的入门介绍与安装

    FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...

随机推荐

  1. C++ 子函数参数传递过程

    编译环境:Visual Studio 2015 参数传递与汇编语言有很大关系.子函数传递参数主要方式有三种(这三种参数传递方式都可用用于x86汇编语言甚至其它汇编语言): 寄存器方式传递参数 存储器方 ...

  2. 洛谷P7814 「小窝 R3」心の記憶

    题意 第一行给定两个数字\(n\) \(m\) \((m \ge n)\)分别代表给定字符串长度以及需要构造出的字符串长度 第二行给定一个长度为\(n\)的字符串 (假设原来的字符串是\(a\) 需要 ...

  3. Firewalld工作区

    firewalld的字符界面管理工具是 firewall-cmd  firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewal ...

  4. JVM学习八-(复习)年轻代、老年代、永久代

    Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象,如下图所示: 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old).新生代 ...

  5. UITabBarController管理原则

  6. iOS App程序内多语言国际化实现 By HL

    iOS 多语言设置有很多方式可以实现,之前在做手机思埠1.0时,就对app进行了多语言设置,当时看到很多方法,比如用plist等方式保存键值对的,不过还是用Localisator来国际化最方便 1.添 ...

  7. JWT+ASP.NET Core集成方案

    JWT JSON Web Token 经过数字签名后,无法伪造,一个能够在各方之间安全的传输JSON对象的开放标准(RFC 7519) 参考前文 [翻译]Introduction to JSON We ...

  8. tarjan——有向图、无向图

    强连通块只存在于有向无环图DAG中 实际上low[i]的理解是:一个强连通块在dfs搜索树中子树的根节点 //把一个点当成根提溜出来,抖搂抖搂成一棵树 void dfs(int u) { //记录df ...

  9. 《PHP程序员面试笔试宝典》——如何回答快速估算类问题?

    如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> 有些大企业的面试官,总喜欢出一些快速估算类问题,对他们而言,这些问题只是手段,不是目的,能够得到一个满意的结果固然是他们 ...

  10. Solution -「多校联训」最小点覆盖

    \(\mathcal{Description}\)   Link.   求含有 \(n\) 个结点的所有有标号简单无向图中,最小点覆盖为 \(m\) 的图的数量的奇偶性.\(T\) 组数据.   \( ...