在 CentOS 7.9 系统上手动安装 .NET 8.0 SDK(使用本地的 dotnet-sdk-8.0.101-linux-x64.tar.gz 文件),可以按照以下步骤进行操作。由于 CentOS 7.9 已不再被微软官方支持,可能会遇到依赖库版本问题(如 GLIBCXXGLIBC),需要额外处理。

这个是下载包的链接下载 .NET 8.0 (Linux、macOS 和 Windows) | .NET,下载好以后记得传到服务器上。

步骤 1:解压 .NET SDK

将下载的 .tar.gz 文件解压到指定目录(例如 /usr/local/dotnet):

sudo mkdir -p /usr/local/dotnet
sudo tar -xzf dotnet-sdk-8.0.101-linux-x64.tar.gz -C /usr/local/dotnet

步骤 2:设置环境变量

.NET 的路径添加到系统环境变量中:

# 编辑环境变量配置文件
sudo vi /etc/profile.d/dotnet.sh

添加以下内容:

export PATH=$PATH:/usr/local/dotnet
export DOTNET_ROOT=/usr/local/dotnet

保存并退出,然后使配置生效:

source /etc/profile.d/dotnet.sh

步骤 3:验证安装

运行以下命令验证 .NET SDK 是否安装成功:

dotnet --version

如果输出类似 8.0.101,表示安装成功。否则,跳到 步骤 4 处理依赖问题。


步骤 4:解决依赖库问题

4.1 检查 libstdc++ 版本

运行以下命令查看当前系统的 libstdc++ 版本:

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

如果缺少 GLIBCXX_3.4.20 或更高版本,需升级 libstdc++。以下是解决方法:

  1. 下载并替换 libstdc++.so.6

    • 从 libstdc++.so.6 下载地址 获取新版本文件。https://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip

    • 解压并复制到 /usr/lib64/

      unzip libstdc.so_.6.0.26.zip
      sudo cp libstdc++.so.6.0.26 /usr/lib64/
  2. 创建符号链接

    sudo mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
    sudo ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
  3. 验证更新

    strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

    确保输出中包含 GLIBCXX_3.4.20 或更高版本。

4.2 检查 glibc 版本

运行以下命令查看 glibc 版本:

ldd --version

如果版本低于 2.18,需升级 glibc(需谨慎操作):

  1. 下载并编译安装 glibc-2.18

    wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz  ##如果下载失败可以使用其他镜像源地址下载wget https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.18.tar.gztar -zxvf glibc-2.18.tar.gz
    cd glibc-2.18
    mkdir build && cd build
    ../configure --prefix=/usr
    make -j$(nproc)
    sudo make install
  2. 验证更新

    ldd --version

步骤 5:再次验证 .NET 安装

完成依赖库修复后,重新运行:

dotnet --version

如果仍然报错,检查以下内容:

  • 确保 .NET SDK 解压路径正确(/usr/local/dotnet)。
  • 确保环境变量 PATH 和 DOTNET_ROOT 设置正确。
  • 如果遇到 GLIBC_2.18 错误,需重新编译并安装 glibc

步骤 6:测试 .NET 应用

创建一个简单的 .NET 控制台应用以验证是否能正常运行:

dotnet new console -o myapp
cd myapp
dotnet run

如果输出 Hello World!,表示安装和配置均成功。


注意事项

  1. 系统兼容性

    • CentOS 7.9 已停止官方支持,建议考虑迁移到 CentOS Stream 8/9 或 RHEL 8/9
    • 如果必须使用 CentOS 7.9,需手动处理所有依赖问题(如 libstdc++glibc)。
  2. 依赖问题

    • 如果 .NET 仍无法运行,尝试使用 .NET 提供的 install-dotnet.sh 脚本(需网络连接):
      curl -sSL https://dot.net/v1/dotnet-install.sh | bash
  3. 长期解决方案

    • 使用 Docker 容器运行 .NET 应用,避免依赖冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915094.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915094.shtml
英文地址,请注明出处:http://en.pswp.cn/news/915094.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS-ArkUI Web控件基础铺垫4--TCP协议- 断联-四次挥手解析

HarmonyOS-ArkUI: Web组件加载流程1 HarmonyOS-ArkUI Web控件基础铺垫1-HTTP协议-数据包内容 HarmonyOS-ArkUI Web控件基础铺垫2-DNS解析 HarmonyOS-ArkUI Web控件基础铺垫3--TCP协议- 从规则本质到三次握手-CSDN博客 接上文,上文我们讲解了: 数据在…

如何用AI 生成论文/书籍的摘要

不知道大家是否有这样的感觉,上网浏览信息,看到好的文章就兴奋地下载了下来,文件的名称通常是一串奇奇怪怪的字符串。过了几天就在电脑中找不着了。没有网络上搜索不到的文章,而是在你的电脑中却找不到它们。几年下来,…

ubuntu系统+N卡 | docker compose+ollama+dify(dify和ollama在同一容器)

1、安装NVIDIA驱动 2、安装docker,docker compose 3、安装NVIDIA Container Toolkit Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit(仅 GPU 场景需要) # Configure the production repository: curl -fsSL https://…

实习手记:基于大模型的搜索引擎开发实践

初入团队:从理论到实践的跨越五月份开始,我怀着忐忑又期待的心情以线上的方式加入了公司AI研发中心的搜索引擎优化小组。作为一名数据科学与大数据技术专业的学生,这是我第一次参与工业级AI项目的开发,团队的任务是构建一个基于大…

用Python实现神经网络(二)

#Overfitting是机器学习的主要问题。下面我们来看一下过拟合现像:import numpy as npimport matplotlib.pyplot as pltimport matplotlib as mplimport tensorflow as tffrom scipy.optimize import curve_fit# Generic matplotlib parameters for plots and figure…

数据结构入门 (二):挣脱连续空间的束缚 —— 单向链表详解

TOC(目录) 引言:整齐的代价 在上一篇文章中,我们一起探索了数据结构大家族的第一位成员——顺序表。我们了解到,顺序表作为一种线性结构,其最大的特点在于逻辑顺序与物理顺序的一致性,即元素之间不仅存在逻辑上的前后关…

AI-视频一致性与多帧控制在AIGC中的技术挑战与突破!

全文目录:开篇语前言1. 视频中人物一致性建模的难点与现有解决方案**人物一致性建模的挑战****现有解决方案****案例代码:基于姿态估计的多帧一致性保持**2. 光照/纹理/姿态跨帧保持方法剖析**跨帧光照与纹理一致性****跨帧姿态一致性**3. 帧间插值与关键…

基于Qwen2.5-3B-Instruct的LoRA微调与推理实战指南

前言 大语言模型(LLM)的微调是当前AI领域的热门话题,而参数高效微调方法(如LoRA)因其低成本和高效率备受关注。本文将手把手教你如何使用Qwen2.5-3B-Instruct模型进行LoRA微调,并构建完整的推理流程。 一、环境准备 1.1 硬件要求 • GPU: 至少16GB显存(如…

电脑插上u盘不显示怎么回事

对于经常使用电脑的用户来说,U盘是一种再熟悉不过的存储工具。不管是拷贝资料、备份文件,还是制作启动盘,U盘都发挥着重要作用。然而,有时候你可能会遇到这样的情况:“U盘插上电脑,灯亮了,但电脑…

2025年6月GESP(C++二级): 幂和数

2025年6月GESP(C++二级): 幂和数 题目描述 对于正整数 n n n,如果 n n n 可以表为两个

Windows、macOS、liunx下使用qemu搭建riscv64/linux

背景 在Windows、macOS和Linux环境下使用QEMU搭建RISC-V 64位Linux系统,网络上存在大量过时、不完整或错误的教程。且部分AI生成的内容“幻觉”现象严重,导致关键步骤错误且难以进行。为确保可靠性,本教程基于最新实测验证,涵盖三…

简单使用MCP

1、说明# 测试环境服务器 CPU数量:2核 内存:4GB 磁盘:50GB# 补充 如果不想使用Docker进行操作,只需要跳过Docker相关命令操作 即:使用Ollama运行模型,使用Python来创建MCP2、安装Docker# 安装Docker https:…

电脑装机软件一键安装管理器

软件使用 现在的装机软件很多,主要几种类型就是办公、看图、影音、下载等,如果每次装机之后,手动一个一个去安装,费时费力还容易安装到全家桶。 就有人整理了网络上常用的一系列装机软件纯净和谐版本,并打包到一起&a…

深度学习入门-深度学习简介

深度学习是加深了层的深度神经网络。只需通过叠加层,就可以创建深度网络。1、 加深网络将深度学习中的重要技术(构成神经网络的各种层、学习时的有效技巧、对图像特别有效的CNN、参数的最优化方法等)汇总起来,创建一个深度网络&am…

Linux 下安装DM8数据库详细教程

Linux 下安装DM8数据库详细教程 一、环境准备 1.操作系统要求 DM 数据库支持多种操作系统,如 Windows、Linux 等。对于 Linux 系统,确保内核版本符合要求,例如 CentOS 7 或更高版本。同时,要保证系统有足够的磁盘空间(建议至少 10GB 以上)和内存(至少 1GB 以上)。 对…

搭建基于Gitee文档笔记自动发布

搭建基于Gitee文档笔记自动发布由于现在gitee不支持代理静态页面,并且github.io需要VPN,实际使用的话gitee更为方便。一、为服务器和个人PC添加免密push和pull 参考链接:https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE…

【Lua】闭包可能会导致的变量问题

先思考下面这个问题:local function counter()local count 0return function()count count 1return countend endlocal a counter() local b counter()print(a()) --> ? print(a()) --> ? print(b()) --> ? print(a()) --> ?输出结果&#xff…

可观测性、OpenTracing、OpenCensus、OpenTelemetry、Jaeger

监控与观测 随着软件应用从单片架构向分布式微服务体系转变,应用监控(Monitoring)和观测(Observability)的需求也随之提升。两者存在相同的定义,目的都是为了发现应用程序中的问题。但还是有差别: 监控:目的是为了捕获已知的问题…

Linux下使用原始socket收发数据包

在Linux系统中,使用非原始的socket,可以收发TCP或者UDP等网络层数据包。如果要处理网络层以下的数据包,比如ICMP、ARP等,或者更底层,比如链路层数据包,就得使用原始socket了。 创建socket 创建socket要使用…

暑期自学嵌入式——Day05补充(C语言阶段)

接续上文:暑期自学嵌入式——Day05(C语言阶段)-CSDN博客 主页点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!! 主页: 一位搞嵌入式的 genius-CSDN博…