• .NET CORE .NET 5 6在华为arm 鲲鹏服务器运行


    最近打算升级服务器 就想试试鲲鹏服务器到底靠不靠谱

    废话不多说

    先安装arm专用的mysql,根据以往的经验 实测mysql8.0拉胯,还是用5.7最快

    https://mirrors.huaweicloud.com/home

    安装arm版本 mysql

    到华为专用的arm下载

    http://arm.cloud-onlinelab.cn/

    下载地址为:https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql-5.7.30.tar.gz

    1.下载压缩包 wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql-5.7.30.tar.gz

    2.安装依赖包 yum install -y perl openssl openssl-devel libaio perl-JSON autoconf

    3.解压并安装 tar -xvf mysql-5.7.30.tar.gz cd aarch64 yum remove -y mariadb-libs yum install *.rpm

    4.启动MySQL,查看状态 systemctl start mysqld systemctl status mysqld

    5.登录数据库 密码生成在/var/log/mysqld.log中,通过/password查找 mysql -uroot -p进入 6.修改密码 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; mysql> use mysql; mysql> update user set host = '%' where user = 'root'; mysql> FLUSH PRIVILEGES;

    其他开启远程登录的操作就和之前的一样

    安装dotnet

    https://bbs.huaweicloud.com/forum/thread-46787-1-1.html

    【鲲鹏翱翔】鲲鹏服务器dotnet移植指南

    1.   简介

    .NET Core开放源代码通用开发平台,由 Microsoft 和 .NET 社区在GitHub上共同维护。它跨平台(支持 Windows、macOS 和 Linux),并且可用于生成设备、云和 IoT 应用程序。

    2.   部署环境

    Packet Name

    Version

    Detail

    Ubuntu

    Ubuntu   18.04 64bit with ARM

    arm通用计算增强型   2vCPUs | 4GB | kc1.large.2

    CentOS

    CentOS   7.5

    arm通用计算增强型   2vCPUs | 4GB | kc1.large.2

    Dotnet   SDK

    2.1  

    Dotnet SDK 2.1.607   for arm64

    Dotnet   SDK

    2.2  

    Dotnet SDK 2.2.207   for arm64

    Dotnet   SDK

    3.0

    Dotnet SDK 3.0.101   for arm64

     3.   安装部署

    3.1替换/usr/lib64目录下的libstdc++.so.6

    wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/systemreliable/libstdc%2B%2B.so.6.0.27

    mv libstdc++.so.6 libstdc++.so.6.bak

    mv   libstdc++.so.6.0.27 /usr/lib64/

    ln   libstdc++.so.6.0.27 libstdc++.so.6

    3.2 安装配置ICU

    下载并解压

    wget   http://download.icu-project.org/files/icu4c/59.1/icu4c-59_1-src.tgz

    tar -xzvf   icu4c-59_1-src.tgz

    cd icu/source

    这里因为他的icu59.1链接已经失效,需要到github自己手动下载解压
    https://github.com/unicode-org/icu/releases/tag/release-59-1

    编译并配置环境变量

    ./configure --prefix=/usr/local/icu

    make -j4

    make install

    #配置环境变量

    vim /etc/profile

    修改/etc/profile文件

    export   PATH=$PATH:/usr/local/icu/bin

    #wq退出保存

    使环境变量生效

    source /etc/profile

    配置链接库

    ln -s   /usr/local/icu/lib/libicutu.so.59 /lib64/

    ln -s   /usr/local/icu/lib/libicui18n.so.59 /lib64/

    ln -s   /usr/local/icu/lib/libicuuc.so.59 /lib64/

    ln -s   /usr/local/icu/lib/libicudata.so.59 /lib64/

    icuinfo

    image.png

    3.3 配置dotnet

    进入dotnet官网下载对应安装包。

    https://dotnet.microsoft.com/download/dotnet-core

    Dotnet SDK 2.1.607 for arm64

    wget https://download.visualstudio.microsoft.com/download/pr/7522a153-84f6-447e-afe8-ffe2f5724478/a9370fb612f1501241b199a5e479200b/dotnet-sdk-2.1.607-linux-arm64.tar.gz

    Dotnet SDK 2.2.207 for arm64

    wget https://download.visualstudio.microsoft.com/download/pr/18738093-b024-4353-96c2-4e1d2285a5e4/5e86e**a79e71486aa2b18af0214ae9/dotnet-sdk-2.2.207-linux-arm64.tar.gz

    Dotnet SDK 3.0.101 for arm64

    wget https://download.visualstudio.microsoft.com/download/pr/89fb60b1-3359-414e-94cf-359f57f37c7c/256e6dac8f44f9bad01f23f9a27b01ee/dotnet-sdk-3.0.101-linux-arm64.tar.gz

    解压

    mkdir -p /usr/share/dotnet &&   tar zxf dotnet-sdk-3.0.101-linux-arm64.tar.gz -C /usr/share/dotnet

    创建软链接

    ln -s /usr/share/dotnet/dotnet   /usr/bin/dotnet

    4     示例测试

    查看版本号

    dotnet --version

    dotnet --info

    运行hello world

    dotnet new console   -o mydemo

    cd mydemo

    dotnet run

    image.png

    5     FAQ

    1.运行dotnet –version时报错。可能是ICU未安装配置好。请参考3.2节

    image.png

    其他一些问题可以参考

    https://www.cnblogs.com/kugar/p/12630181.html

    解决华为云鲲鹏服务器arm架构运行IoTDB经常自动挂掉

    原因: 华为云鲲鹏服务器arm架构运行IoTDB缺少一些lib库

    IoTDB有些底层依赖包,机器上的版本太低了,cp一个高版本的就行了

    注意: arm架构使用arm64的包,不要用amd64包

    
    #查找依赖包
    sudo find / -name "libstdc++.so.6*"
    
    #复制依赖包
    sudo cp somewhere/libstdc++.so.6.0.25 /usr/lib64/
    
    

    如果libstdc++.so.6.0.25包不存在
    ----centos7.6没有, 系统升级成centos8就有了

    解决libstdc++.so.6: version `GLIBCXX_3.4.21' not found

    解决办法参考:
    https://www.cnblogs.com/sddai/p/10318086.html

    下载对应版本:
    https://ubuntu.pkgs.org/18.04/ubuntu-main-amd64/libstdc++6_5.3.1-14ubuntu2_amd64.deb.html

    
    #下载下来之后,用如下命令开始解压
    ar -x libstdc++6_7-20170302-1_i386.deb
    
    tar xvf data.tar.xz 
    
    ls usr/lib/aarch64-linux-gnu/
    
    #将上面的最新动态库(lib/i386-linux-gnu)libstdc++.so.6.0.23复制到/usr/lib64目录下,
    cp libstdc++.so.6.0.23 /usr/lib64
    cp usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.21 /usr/lib64
    
    #切换工作目录至/usr/lib64:
    cd /usr/lib64
    
    #删除原来软连接:
    rm -rf libstdc++.so.6
    
    #将默认库的软连接指向最新动态库:
    ln -s libstdc++.so.6.0.23 libstdc++.so.6
    
    #认动态库升级完成。重新运行以下命令检查动态库:
    strings /usr/lib64/libstdc++.so.6 | grep GLIBC
    
    

    华为云鲲鹏服务器arm架构安装openjdk, 使用oracle的jdk会报错

    参考:
    https://www.huaweicloud.com/kunpeng/software/openjdk.html

    yum install java-1.8.0-openjdk

    https://www.cnblogs.com/kugar/p/12630181.html
  • 相关阅读:
    Inno Setup入门(一)——最简单的安装脚本
    inno setup基础使用教程
    Inno Setup入门(八)——有选择性的安装文件
    Inno Setup入门(三)——指定压缩方式
    Inno Setup入门(七)——提供安装语言选项
    Inno Setup 详解中文资料
    Inno Setup入门(五)——添加readme文件
    Inno Setup 替换安装程序和卸载程序的图标
    用Inno Setup来解决.NetFramework安装问题
    写个类操作窗口(句柄操作)
  • 原文地址:https://www.cnblogs.com/maybreath/p/15922165.html
Copyright © 2020-2023  润新知