前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Linux] 脚本安装.NET8

[Linux] 脚本安装.NET8

作者头像
科控物联
发布2024-05-02 19:04:05
1090
发布2024-05-02 19:04:05
举报
文章被收录于专栏:科控自动化科控自动化

Ubuntu/Linux 通过脚本安装 .Net8并建立快捷方式

代码语言:javascript
复制

#!/bin/bash

# 获取处理器架构
arch=$(uname -m)
ver="aspnetcore-runtime-8.0.4-linux"
source="http://x.newlifex.com"

# 识别Alpine
if [ -f "/proc/version" ]; then
  cat /proc/version | grep -q -E 'musl|Alpine'
  if [ $? -eq 0 ]; then
    ver="$ver-musl"
    apk add libgcc libstdc++
  fi
fi

# 根据处理器架构选择下载的文件
if [ $arch == "x86_64" ]; then
  gzfile="$ver-x64.tar.gz"
elif [ $arch == "aarch64" ]; then
  gzfile="$ver-arm64.tar.gz"
elif [ $arch == "armv7l" ]; then
  gzfile="$ver-arm.tar.gz"
elif [ $arch == "loongarch64" ]; then
  gzfile="dotnet-sdk-8.0.100-linux-x64.tar.gz"
else
  gzfile="$ver-$arch.tar.gz"
fi

if [ ! -f "$gzfile" ]; then
  wget $source"/dotnet/"$gzfile
fi
if [ ! -d "/usr/share/dotnet/" ]; then
  mkdir /usr/share/dotnet
fi
tar -xzf $gzfile -C /usr/share/dotnet
if [ -L "/usr/bin/dotnet" ]; then
    rm /usr/bin/dotnet
fi
ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
# centos需要替换libstdc++运行时库
if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
  os_id=$(grep '^ID=' /etc/os-release | awk -F= '{print $2}' | tr -d '"')

  if [ "$os_id" == "centos" ]; then
    libstd=/usr/lib64/libstdc++.so.6
    libsrc=/usr/lib64/libstdc++.so.6.0.26
    if [ -f $libstd ] && [ ! -f $libsrc ]; then
      if [ ! -f libstdcpp.6.0.26.so ]; then
        wget $source"/dotnet/libstdcpp.6.0.26.so"
      fi

      cp libstdcpp.6.0.26.so $libsrc
      chmod +x $libsrc
      rm $libstd
      ln -s $libsrc $libstd
    fi

    yum install -y libicu
  elif [ "$os_id" == "Linx" ]; then
    libstd=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
    libsrc=/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.26
    if [ -f $libstd ] && [ ! -f $libsrc ]; then
      if [ ! -f libstdcpp.6.0.26.so ]; then
        wget $source"/dotnet/libstdcpp.6.0.26.so"
      fi

      cp libstdcpp.6.0.26.so $libsrc
      chmod +x $libsrc
      rm $libstd
      ln -s $libsrc $libstd
    fi

    apt install -y libicu
  else
    apt install -y libicu
  fi
fi

dotnet --info

rm $gzfile -f
# rm net.sh

运行效果

代码语言:javascript
复制
chmod +x ./net.sh
./net.sh
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-01,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com