Skip to content

Commit 83094ec

Browse files
committed
[todo] StarServer需要直接提供安装dotnet运行时和星尘代理的url,方便局域网内部的运维使用
1 parent a1bbc02 commit 83094ec

File tree

6 files changed

+498
-0
lines changed

6 files changed

+498
-0
lines changed

Tools/Scripts/net.sh

+145
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
2+
#!/bin/bash
3+
4+
# 获取处理器架构
5+
arch=$(uname -m)
6+
ver="9.0.0"
7+
prefix="aspnetcore-runtime-$ver-linux"
8+
source="http://x.newlifex.com"
9+
10+
echo arch: $arch
11+
12+
# 识别Alpine
13+
if [ -f "/proc/version" ]; then
14+
cat /proc/version | grep -q -E 'musl|Alpine'
15+
if [ $? -eq 0 ]; then
16+
prefix="$prefix-musl"
17+
apk add libgcc libstdc++
18+
fi
19+
fi
20+
21+
# 根据处理器架构选择下载的文件
22+
if [ $arch == "x86_64" ]; then
23+
gzfile="$prefix-x64.tar.gz"
24+
elif [ $arch == "amd64" ]; then
25+
gzfile="$prefix-x64.tar.gz"
26+
elif [ $arch == "aarch64" ]; then
27+
gzfile="$prefix-arm64.tar.gz"
28+
elif [ $arch == "armv7l" ]; then
29+
gzfile="$prefix-arm.tar.gz"
30+
elif [ $arch == "riscv64" ]; then
31+
gzfile="dotnet-sdk-8.0.101-linux-riscv64-gcc.tar.gz"
32+
wget $source/dotnet/$gzfile
33+
elif [ $arch == "loongarch64" ]; then
34+
gzfile="aspnetcore-runtime-8.0.5-linux-loongarch64.tar.gz"
35+
wget $source/dotnet/$gzfile
36+
else
37+
gzfile="$prefix-$arch.tar.gz"
38+
fi
39+
40+
echo gzfile: $gzfile
41+
42+
if [ ! -f "$gzfile" ]; then
43+
wget $source/dotnet/$ver/$gzfile
44+
fi
45+
46+
# Ubuntu默认安装在/usr/lib目录
47+
target="/usr/lib/dotnet"
48+
if [ ! -d $target ]; then
49+
target="/usr/share/dotnet"
50+
fi
51+
52+
echo target: $target
53+
54+
if [ ! -d $target ]; then
55+
mkdir $target
56+
fi
57+
tar -xzf $gzfile -C $target
58+
if [ ! -f "/usr/bin/dotnet" ]; then
59+
ln $target/dotnet /usr/bin/dotnet -s
60+
fi
61+
62+
# centos需要替换libstdc++运行时库
63+
if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
64+
os_id=$(grep '^ID=' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
65+
66+
echo os_id: $os_id
67+
68+
if [ "$os_id" == "centos" ]; then
69+
libstd=/usr/lib64/libstdc++.so.6
70+
libsrc=/usr/lib64/libstdc++.so.6.0.26
71+
if [ -f $libstd ] && [ ! -f $libsrc ]; then
72+
if [ ! -f libstdcpp.6.0.26.so ]; then
73+
wget $source"/dotnet/libstdcpp.6.0.26.so"
74+
fi
75+
76+
cp libstdcpp.6.0.26.so $libsrc
77+
chmod +x $libsrc
78+
rm $libstd
79+
ln -s $libsrc $libstd
80+
fi
81+
82+
yum install -y libicu
83+
elif [ "$os_id" == "neokylin" ]; then
84+
libstd=/usr/lib64/libstdc++.so.6
85+
libsrc=/usr/lib64/libstdc++.so.6.0.26
86+
if [ -f $libstd ] && [ ! -f $libsrc ]; then
87+
if [ ! -f libstdcpp.6.0.26.so ]; then
88+
wget $source"/dotnet/libstdcpp.6.0.26.so"
89+
fi
90+
91+
cp libstdcpp.6.0.26.so $libsrc
92+
chmod +x $libsrc
93+
rm $libstd
94+
ln -s $libsrc $libstd
95+
fi
96+
97+
yum install -y libicu
98+
elif [ "$os_id" == "Linx" ]; then
99+
libstd=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
100+
libsrc=/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.26
101+
if [ -f $libstd ] && [ ! -f $libsrc ]; then
102+
if [ ! -f libstdcpp.6.0.26.so ]; then
103+
wget $source"/dotnet/libstdcpp.6.0.26.so"
104+
fi
105+
106+
cp libstdcpp.6.0.26.so $libsrc
107+
chmod +x $libsrc
108+
rm $libstd
109+
ln -s $libsrc $libstd
110+
fi
111+
112+
apt install -y libicu
113+
else
114+
apt install -y libicu
115+
fi
116+
fi
117+
if [ $arch == "aarch64" ] && [ -f /etc/os-release ]; then
118+
os_id=$(grep '^ID=' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
119+
120+
echo os_id: $os_id
121+
122+
if [ "$os_id" == "KylinSecOS" ]; then
123+
libstd=/lib64/libstdc++.so.6
124+
libsrc=/lib64/libstdc++.so.6.0.28
125+
if [ -f $libstd ] && [ ! -f $libsrc ]; then
126+
if [ ! -f libstdcpp-arm64.6.0.28.so ]; then
127+
wget $source"/dotnet/libstdcpp-arm64.6.0.28.so"
128+
fi
129+
130+
cp libstdcpp-arm64.6.0.28.so $libsrc
131+
chmod +x $libsrc
132+
rm $libstd
133+
ln -s $libsrc $libstd
134+
fi
135+
136+
yum install -y libicu
137+
else
138+
apt install -y libicu
139+
fi
140+
fi
141+
142+
dotnet --info
143+
144+
# rm $gzfile -f
145+
# rm net.sh

Tools/Scripts/net6.sh

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
2+
#!/bin/bash
3+
4+
# 获取处理器架构
5+
arch=$(uname -m)
6+
ver="6.0.36"
7+
prefix="aspnetcore-runtime-$ver-linux"
8+
source="http://x.newlifex.com"
9+
10+
echo arch: $arch
11+
12+
# 识别Alpine
13+
if [ -f "/proc/version" ]; then
14+
cat /proc/version | grep -q -E 'musl|Alpine'
15+
if [ $? -eq 0 ]; then
16+
prefix="$prefix-musl"
17+
apk add libgcc libstdc++
18+
fi
19+
fi
20+
21+
# 根据处理器架构选择下载的文件
22+
if [ $arch == "x86_64" ]; then
23+
gzfile="$prefix-x64.tar.gz"
24+
elif [ $arch == "amd64" ]; then
25+
gzfile="$prefix-x64.tar.gz"
26+
elif [ $arch == "aarch64" ]; then
27+
gzfile="$prefix-arm64.tar.gz"
28+
elif [ $arch == "armv7l" ]; then
29+
gzfile="$prefix-arm.tar.gz"
30+
else
31+
gzfile="$prefix-$arch.tar.gz"
32+
fi
33+
34+
echo gzfile: $gzfile
35+
36+
if [ ! -f "$gzfile" ]; then
37+
wget $source/dotnet/$ver/$gzfile
38+
fi
39+
40+
# Ubuntu默认安装在/usr/lib目录
41+
target="/usr/lib/dotnet"
42+
if [ ! -d $target ]; then
43+
target="/usr/share/dotnet"
44+
fi
45+
46+
echo target: $target
47+
48+
if [ ! -d $target ]; then
49+
mkdir $target
50+
fi
51+
tar -xzf $gzfile -C $target
52+
if [ ! -f "/usr/bin/dotnet" ]; then
53+
ln $target/dotnet /usr/bin/dotnet -s
54+
fi
55+
56+
dotnet --info

Tools/Scripts/net8.sh

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
2+
#!/bin/bash
3+
4+
# 获取处理器架构
5+
arch=$(uname -m)
6+
ver="8.0.11"
7+
prefix="aspnetcore-runtime-$ver-linux"
8+
source="http://x.newlifex.com"
9+
10+
# 识别Alpine
11+
if [ -f "/proc/version" ]; then
12+
cat /proc/version | grep -q -E 'musl|Alpine'
13+
if [ $? -eq 0 ]; then
14+
prefix="$prefix-musl"
15+
apk add libgcc libstdc++
16+
fi
17+
fi
18+
19+
# 根据处理器架构选择下载的文件
20+
if [ $arch == "x86_64" ]; then
21+
gzfile="$prefix-x64.tar.gz"
22+
elif [ $arch == "aarch64" ]; then
23+
gzfile="$prefix-arm64.tar.gz"
24+
elif [ $arch == "armv7l" ]; then
25+
gzfile="$prefix-arm.tar.gz"
26+
elif [ $arch == "riscv64" ]; then
27+
gzfile="dotnet-sdk-8.0.101-linux-riscv64-gcc.tar.gz"
28+
wget $source/dotnet/$gzfile
29+
elif [ $arch == "loongarch64" ]; then
30+
gzfile="dotnet-sdk-8.0.100-linux-x64.tar.gz"
31+
wget $source/dotnet/$gzfile
32+
else
33+
gzfile="$prefix-$arch.tar.gz"
34+
fi
35+
36+
if [ ! -f "$gzfile" ]; then
37+
wget $source/dotnet/$ver/$gzfile
38+
fi
39+
if [ ! -d "/usr/share/dotnet/" ]; then
40+
mkdir /usr/share/dotnet
41+
fi
42+
tar -xzf $gzfile -C /usr/share/dotnet
43+
if [ ! -f "/usr/bin/dotnet" ]; then
44+
ln /usr/share/dotnet/dotnet /usr/bin/dotnet -s
45+
fi
46+
47+
# centos需要替换libstdc++运行时库
48+
if [ $arch == "x86_64" ] && [ -f /etc/os-release ]; then
49+
os_id=$(grep '^ID=' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
50+
51+
if [ "$os_id" == "centos" ]; then
52+
libstd=/usr/lib64/libstdc++.so.6
53+
libsrc=/usr/lib64/libstdc++.so.6.0.26
54+
if [ -f $libstd ] && [ ! -f $libsrc ]; then
55+
if [ ! -f libstdcpp.6.0.26.so ]; then
56+
wget $source"/dotnet/libstdcpp.6.0.26.so"
57+
fi
58+
59+
cp libstdcpp.6.0.26.so $libsrc
60+
chmod +x $libsrc
61+
rm $libstd
62+
ln -s $libsrc $libstd
63+
fi
64+
65+
yum install -y libicu
66+
elif [ "$os_id" == "neokylin" ]; then
67+
libstd=/usr/lib64/libstdc++.so.6
68+
libsrc=/usr/lib64/libstdc++.so.6.0.26
69+
if [ -f $libstd ] && [ ! -f $libsrc ]; then
70+
if [ ! -f libstdcpp.6.0.26.so ]; then
71+
wget $source"/dotnet/libstdcpp.6.0.26.so"
72+
fi
73+
74+
cp libstdcpp.6.0.26.so $libsrc
75+
chmod +x $libsrc
76+
rm $libstd
77+
ln -s $libsrc $libstd
78+
fi
79+
80+
yum install -y libicu
81+
elif [ "$os_id" == "Linx" ]; then
82+
libstd=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
83+
libsrc=/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.26
84+
if [ -f $libstd ] && [ ! -f $libsrc ]; then
85+
if [ ! -f libstdcpp.6.0.26.so ]; then
86+
wget $source"/dotnet/libstdcpp.6.0.26.so"
87+
fi
88+
89+
cp libstdcpp.6.0.26.so $libsrc
90+
chmod +x $libsrc
91+
rm $libstd
92+
ln -s $libsrc $libstd
93+
fi
94+
95+
apt install -y libicu
96+
else
97+
apt install -y libicu
98+
fi
99+
fi
100+
101+
dotnet --info
102+
103+
rm $gzfile -f
104+
# rm net.sh

0 commit comments

Comments
 (0)