NewLife/Stardust

更新安装脚本
智能大石头 authored at 2025-12-10 15:48:42
af86483
Tree
1 Parent(s) 729306b
Summary: 4 changed files with 147 additions and 11 deletions.
Modified +6 -6
Added +136 -0
Modified +4 -4
Modified +1 -1
Modified +6 -6
diff --git a/Tools/Scripts/net.sh b/Tools/Scripts/net.sh
index c987a3f..65c2070 100644
--- a/Tools/Scripts/net.sh
+++ b/Tools/Scripts/net.sh
@@ -2,7 +2,7 @@
 
 # 获取处理器架构
 arch=$(uname -m)
-ver="9.0.9"
+ver="10.0.1"
 prefix="aspnetcore-runtime-$ver-linux"
 source="http://x.newlifex.com"
 
@@ -85,7 +85,7 @@ if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
       ln -s $libsrc $libstd
     fi
 
-	  yum install -y libicu
+    yum install -y libicu || yum install -y libicu-dev
   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
@@ -100,9 +100,9 @@ if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
       ln -s $libsrc $libstd
     fi
 
-	  apt install -y libicu
+    apt install -y libicu || apt install -y libicu70 || apt install -y libicu-dev
   else
-	  apt install -y libicu
+    apt install -y libicu || apt install -y libicu70 || apt install -y libicu-dev
   fi
 fi
 if [ $arch == "aarch64" ] && [ -f /etc/os-release ]; then
@@ -124,9 +124,9 @@ if [ $arch == "aarch64" ] && [ -f /etc/os-release ]; then
       ln -s $libsrc $libstd
     fi
 
-	  yum install -y libicu
+    yum install -y libicu || yum install -y libicu-dev
   else
-	  apt install -y libicu
+    apt install -y libicu || apt install -y libicu70 || apt install -y libicu-dev
   fi
 fi
 
Added +136 -0
diff --git a/Tools/Scripts/net10.sh b/Tools/Scripts/net10.sh
new file mode 100644
index 0000000..af57def
--- /dev/null
+++ b/Tools/Scripts/net10.sh
@@ -0,0 +1,136 @@
+#!/bin/bash
+
+# 获取处理器架构
+arch=$(uname -m)
+ver="10.0.1"
+prefix="aspnetcore-runtime-$ver-linux"
+source="http://x.newlifex.com"
+
+echo arch: $arch
+
+# 识别Alpine和musl环境
+if [ -f "/proc/version" ] && cat /proc/version | grep -q -E 'musl|Alpine'; then
+  # Alpine系统
+  prefix="$prefix-musl"
+  apk add libgcc libstdc++
+elif ldd --version 2>&1 | grep -q 'musl'; then
+  # 常见musl环境
+  prefix="$prefix-musl"
+elif ls /lib/ld-musl-* >/dev/null 2>&1; then
+  # 其他musl环境
+  prefix="$prefix-musl"
+fi
+
+# 根据处理器架构选择下载的文件
+if [ $arch == "x86_64" ]; then
+  gzfile="$prefix-x64.tar.gz"
+elif [ $arch == "amd64" ]; then
+  gzfile="$prefix-x64.tar.gz"
+elif [ $arch == "aarch64" ]; then
+  gzfile="$prefix-arm64.tar.gz"
+elif [ $arch == "armv7l" ]; then
+  gzfile="$prefix-arm.tar.gz"
+elif [ $arch == "riscv64" ]; then
+  gzfile="dotnet-sdk-8.0.101-linux-riscv64-gcc.tar.gz"
+  wget $source/dotnet/$gzfile
+elif [ $arch == "loongarch64" ]; then
+  gzfile="aspnetcore-runtime-8.0.5-linux-loongarch64.tar.gz"
+  wget $source/dotnet/$gzfile
+else
+  gzfile="$prefix-$arch.tar.gz"
+fi
+
+echo gzfile: $gzfile
+
+if [ ! -f "$gzfile" ]; then
+	wget $source/dotnet/$ver/$gzfile
+fi
+
+# Ubuntu默认安装在/usr/lib目录
+target="/usr/lib/dotnet"
+if [ ! -d $target ]; then
+	target="/usr/share/dotnet"
+fi
+
+echo target: $target
+
+if [ ! -d $target ]; then
+	mkdir $target
+fi
+tar -xzf $gzfile -C $target
+if [ ! -f "/usr/bin/dotnet" ]; then
+	ln $target/dotnet /usr/bin/dotnet -s
+fi
+
+# centos/neokylin/alinux需要替换libstdc++运行时库
+if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
+  os_id=$(grep '^ID=' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
+  id_like=$(grep '^ID_LIKE=' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
+
+  echo os_id: $os_id
+  echo id_like: $id_like
+
+  # 检查是否为 centos/neokylin/alinux 或者 ID_LIKE 包含 centos
+  if [ "$os_id" == "centos" ] || [ "$os_id" == "neokylin" ] || [ "$os_id" == "alinux" ] || [[ "$id_like" == *"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 || yum install -y libicu-dev
+  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 || apt install -y libicu70 || apt install -y libicu-dev
+  else
+    apt install -y libicu || apt install -y libicu70 || apt install -y libicu-dev
+  fi
+fi
+if [ $arch == "aarch64" ] && [ -f /etc/os-release ]; then
+  os_id=$(grep '^ID=' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
+
+  echo os_id: $os_id
+
+  if [ "$os_id" == "KylinSecOS" ]; then
+    libstd=/lib64/libstdc++.so.6
+    libsrc=/lib64/libstdc++.so.6.0.28
+    if [ -f $libstd ] && [ ! -f $libsrc ]; then
+      if [ ! -f libstdcpp-arm64.6.0.28.so ]; then
+        wget $source"/dotnet/libstdcpp-arm64.6.0.28.so"
+      fi
+
+      cp libstdcpp-arm64.6.0.28.so $libsrc
+      chmod +x $libsrc
+      rm $libstd
+      ln -s $libsrc $libstd
+    fi
+
+    yum install -y libicu || yum install -y libicu-dev
+  else
+    apt install -y libicu || apt install -y libicu70 || apt install -y libicu-dev
+  fi
+fi
+
+dotnet --info
+
+# rm $gzfile -f
+# rm net10.sh
Modified +4 -4
diff --git a/Tools/Scripts/net8.sh b/Tools/Scripts/net8.sh
index 91082ee..f2267df 100644
--- a/Tools/Scripts/net8.sh
+++ b/Tools/Scripts/net8.sh
@@ -2,7 +2,7 @@
 
 # 获取处理器架构
 arch=$(uname -m)
-ver="8.0.20"
+ver="8.0.22"
 prefix="aspnetcore-runtime-$ver-linux"
 source="http://x.newlifex.com"
 
@@ -70,7 +70,7 @@ if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
       ln -s $libsrc $libstd
     fi
 
-	  yum install -y libicu
+    yum install -y libicu || yum install -y libicu-dev
   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
@@ -85,9 +85,9 @@ if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
       ln -s $libsrc $libstd
     fi
 
-	  apt install -y libicu
+    apt install -y libicu || apt install -y libicu70 || apt install -y libicu-dev
   else
-	  apt install -y libicu
+    apt install -y libicu || apt install -y libicu70 || apt install -y libicu-dev
   fi
 fi
 
Modified +1 -1
diff --git a/Tools/Scripts/net9.sh b/Tools/Scripts/net9.sh
index c987a3f..a44188d 100644
--- a/Tools/Scripts/net9.sh
+++ b/Tools/Scripts/net9.sh
@@ -2,7 +2,7 @@
 
 # 获取处理器架构
 arch=$(uname -m)
-ver="9.0.9"
+ver="9.0.11"
 prefix="aspnetcore-runtime-$ver-linux"
 source="http://x.newlifex.com"