https://blog.51cto.com/zicl/11168846
检查有没有安装其他版本的 .net 环境,进行卸载。
[root@kylin dotnet]# which dotnet
/usr/bin/dotnet
查找到 dotnet 命令后,查看是用 yum 命令默认安装路径的。
yum 安装的 dotnet 文件路径 /usr/share/dotnet/,软链接路径 /usr/bin/dotnet。
使用 yum 卸载这个dotnet版本。
[root@kylin dotnet]# yum remove dotnet-
dotnet-hostfxr-3.1.x86_64 dotnet-runtime-3.1.x86_64
dotnet-host.x86_64 dotnet-runtime-deps-3.1.x86_64
[root@kylin dotnet]# yum remove dotnet-runtime-3.1.x86_64
将会释放空间:91 M
确定吗?[y/N]: y
已移除:
aspnetcore-runtime-3.1-3.1.32-1.x86_64 dotnet-host-7.0.17-1.x86_64
dotnet-hostfxr-3.1-3.1.32-1.x86_64 dotnet-runtime-3.1-3.1.32-1.x86_64
dotnet-runtime-deps-3.1-3.1.32-1.x86_64
删除 /usr/share/dotnet/ 目录和 软链接路径 /usr/bin/dotnet。
[root@kylin 桌面]# rm -r /usr/share/dotnet/
rm:是否进入目录'/usr/share/dotnet/'? y
rm:是否删除目录 '/usr/share/dotnet/shared'?y
rm:是否删除目录 '/usr/share/dotnet/'?y
[root@kylin 桌面]# rm /usr/bin/do
docbook2html docbook2rtf docbook2texi domainname
docbook2man docbook2tex docbook2txt dos2unix
找不到 /usr/bin/dotnet 软链接已经删除。
卸载完成后,重新检查 dotnet 环境。已经卸载完成。
[root@kylin /]# which dotnet
which: no dotnet in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin)
1.1 下载 asp .net 8 运行时环境
官网地址: https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
下载 Linux x64 版本的压缩包文件。
Linux - - - 安装 .net 8 运行时环境_libstdc++
点击后,跳转打开会直接下载压缩包。
或者使用 wge 命令,下载直达链接。
wget https://download.visualstudio.microsoft.com/download/pr/ce31d92b-b514-4f9c-843b-29c466871369/b332eba5641cbc6eed1e3a98480972d2/aspnetcore-runtime-8.0.6-linux-x64.tar.gz
1.
Linux - - - 安装 .net 8 运行时环境_libstdc++_02
下载的压缩包放在自己可以记住的位置,我放在 /dotnet/ 目录下。
[root@zichen ~]# mkdir /dotnet/
[root@zichen ~]# cd /dotnet/
[root@zichen dotnet]# wget https://download.visualstudio.microsoft.com/download/pr/ce31d92b-b514-4f9c-843b-29c466871369/b332eba5641cbc6eed1e3a98480972d2/aspnetcore-runtime-8.0.6-linux-x64.tar.gz
下载后的压缩包。
Linux - - - 安装 .net 8 运行时环境_.net core_03
1.2 解压
解压压缩包文件到 /dotnet/aspnetcore/ 目录中。
[root@zichen dotnet]# mkdir /dotnet/aspnetcore/
[root@zichen dotnet]# tar -xzvf ./aspnetcore-runtime-8.0.6-linux-x64.tar.gz -C /dotnet/aspnetcore/
1.3 设置环境变量
配置环境变量。
[root@zichen dotnet]# vim /etc/profile
最后一行导出 PATH 并添加上 dotnet 文件的目录。
Linux - - - 安装 .net 8 运行时环境_.net core_04
保存配置文件后,重新加载配置文件生效。
[root@zichen dotnet]# source /etc/profile
1.4 dotnet 运行错误
检查 dotnet 是否安装成功。
[root@zichen dotnet]# dotnet --info
dotnet: /lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by dotnet) dotnet: /lib64/libstdc++.so.6: version
GLIBCXX_3.4.21' not found (required by dotnet)
提示“/lib64/libstdc++.so.6 文件中未找到 GLIBCXX_3.4.20 和 GLIBCXX_3.4.21 版本”。
解决方法,下载新版本的 libstdc++.so.6 文件。
首先查看 /lib64/libstdc++.so.6 文件指向的是哪个版本。
[root@zichen dotnet]# ll -a /lib64/libstdc++*
lrwxrwxrwx. 1 root root 30 6月 6 14:29 /lib64/libstdc++.so.6 -> /usr/lib64/libstdc++.so.6.0.19
-rwxr-xr-x. 1 root root 995840 9月 30 2020 /lib64/libstdc++.so.6.0.19
指向的是 6.0.19 版本,查看这个版本包含的 GLIBCXX 信息。
[root@zichen dotnet]# strings /lib64/libstdc++.so.6.0.19 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
1.5 下载 libstdc++.so.6.0.26 文件
查看到最高版本是 GLIBCXX_3.4.19,所以需要下载最新的文件,我这里下载 6.0.26 版本。
[root@zichen dotnet]# cd /lib64/
[root@zichen lib64]# wget ftp://ftp.yangzichen.top/pub/gz/libstdc++.so.6.0.26
下载完后查看 6.0.26 版本包含的 GLIBCXX 信息。
[root@zichen lib64]# strings /lib64/libstdc++.so.6.0.26 | grep GLIBCXX_3.4.
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
把 /lib64/libstdc++.so.6 文件指向 /lib64/libstdc++.so.6.0.26 版本。
[root@zichen lib64]# cp /lib64/libstdc++.so.6 /lib64/libstdc++.so.6.bak
[root@zichen lib64]# rm /lib64/libstdc++.so.6
rm:是否删除符号链接 "/lib64/libstdc++.so.6"?y
[root@zichen lib64]# ln -s /lib64/libstdc++.so.6.0.26 /lib64/libstdc++.so.6
1.6 查看 dotnet 信息
重新检查 dotnet 环境。
[root@zichen lib64]# dotnet --info
Host:
Version: 8.0.6
Architecture: x64
Commit: 3b8b000a0e
RID: linux-x64
.NET SDKs installed:
No SDKs were found.
.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.6 [/dotnet/aspnetcore/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.6 [/dotnet/aspnetcore/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
dotnet 环境安装成功,删除备份的 /lib64/libstdc++.so.6.bak 文件。
[root@zichen lib64]# rm /lib64/libstdc++.so.6.bak
rm:是否删除普通文件 "/lib64/libstdc++.so.6.bak"?y
1.
2.
至此,AspNetCore 8.0.6 和 NETCore 8.0.6 运行环境就安装好了。