当前位置: 首页 > news >正文

AlmaLinux8 平替 manylinux_2_28-python 的 GPG密钥管理、安装 cuda sdk

0. 下载 AlmaLinux 8 docker 镜像

    https://hub.docker.com/r/almalinux/8-base/tags

下载镜像: 

sudo docker pull almalinux/8-base:8.4

创建一个容器:

sudo docker run --gpus all -it   --name   cudaq_src_py_LHL_06   -v   /home/hanmeimei/big_app/tmp6:/root/tmp6  almalinux/8-base:8.4

 1. Alma 安装软件

    以安装 wget 为例:

sudo dnf install wget

2.  安装软件时报 Error: GPG check FAILED

      在 AlmaLinux 8 中使用 dnf 安装软件包时遇到 GPG 检查失败GPG check FAILED)的问题,通常是由于软件源的 GPG 密钥未正确导入或已过期。

2.1. GPG 密钥的作用

    在 AlmaLinux(及其他基于 RPM 的 Linux 发行版)中,GPG(GNU Privacy Guard)密钥用于:
        验证软件包来源:确保软件包未被篡改,来源可信(如官方仓库)。
        防止恶意软件安装:防止攻击者伪造软件包并植入后门。
        确保软件完整性:检查软件包是否在传输过程中损坏。

2.2. 修正

     # 删除旧密钥(如有冲突)

sudo rpm -e /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux

    # 从 AlmaLinux 官方重新下载并导入最新密钥

sudo curl -o  /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux

    # 清除缓存并强制更新

sudo dnf clean all
sudo dnf makecache

2.3. GPG 密钥的存储位置


AlmaLinux 的 GPG 密钥通常存储在:

    系统级密钥存储在:

/etc/pki/rpm-gpg/(RPM 包管理器的 GPG 密钥存放目录)

        例如:/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux

   导入的密钥也会存储在 RPM 数据库中,可以使用如下命令查看

rpm -qa gpg-pubkey* 

2.4. 查看已安装的 GPG 密钥

    # 查看系统存储的 GPG 密钥文件

ls /etc/pki/rpm-gpg/

    # 查看 RPM 数据库中已导入的 GPG 密钥

rpm -qa gpg-pubkey*

    输出 含 AlmaLinux 官方密钥 和 EPEL 仓库密钥

3.  启用 EPEL 和 CodeReady Builder (CRB) 仓库

sudo dnf install -y epel-release
sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --set-enabled powertools

 4. 列出所有可用软件包

dnf list --all

5. 安装 python11

sudo dnf install -y python3.11
sudo dnf install -y python3.11-devel

6. 安装 GCC Toolset 11

安装:

sudo dnf install -y gcc-toolset-11

 临时启用 GCC 11:

source /opt/rh/gcc-toolset-11/enable

检查版本:

gcc --version
g++ --version

应该显示 gcc (GCC) 11.x.x

永久启用 GCC 11

如果你想每次登录时自动启用 GCC 11,可以将其添加到 ~/.bashrc

echo "source /opt/rh/gcc-toolset-11/enable" >> ~/.bashrc
source ~/.bashrc

7. 安装 cuda sdk toolkits

    以 cuda 12.6 为例,x86_64 Linux 发行版任意选,直至选到 runfile,

下载:

wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.28.03_linux.run

安装: 

sudo sh cuda_12.6.0_560.28.03_linux.run

    这个情况,一般 Host 中已经安装了cuda sdk,docker 容器中的 cuda 版本最好跟 Host 中的cuda 的版本一致,基于接近的 cuda kernel mode driver。但是,在 docker 容器中安装cuda sdk时,选择不安装 Kernel Mode Driver,直接以来 Host 中的 kernel mode driver 即可。即,先 accept,然后用上下箭头键将光标移至 Driver,用空格键取消选中X。然后 将光标移至 Install,按回车键。

安装完毕的控制台输出:

8. 更多参考:

https://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/9/html/managing_software_with_the_dnf_tool/proc_listing-software-packages_assembly_searching-for-rhel-9-content

http://www.lryc.cn/news/611176.html

相关文章:

  • gRPC Keepalive 机制详解与最佳实践
  • 微软Dragon Ambient eXperience (DAX) 深度解析
  • Linux 调度器函数sched_*系统调用及示例
  • Java JDBC连接池深度解析与实战指南
  • Transformer的并行计算与长序列处理瓶颈
  • Linux lvm逻辑卷管理
  • 猜数字游戏 Java
  • 【C++】模板深入进阶
  • Java技术栈/面试题合集(13)-网络篇
  • [Linux]学习笔记系列 -- [arm]boot
  • Android 之 Kotlin 和 MVVM 架构的 Android 登录示例
  • 腾讯云对象存储服务COS
  • QtPromise第三方库的介绍和使用
  • 人工智能领域、图欧科技、IMYAI智能助手2025年1月更新月报
  • ubuntu24中部署k8s 1.30.x-底层用docker
  • 相机拍摄的DNG格式照片日期如何修改?你可以用这款工具修改
  • Android异常信号处理详解
  • 【网络运维】Linux:系统启动原理与配置
  • Coze开源了!意味着什么?
  • 在Linux上部署RabbitMQ、Redis、ElasticSearch
  • 无监督学习聚类方法——K-means 聚类及应用
  • NFS CENTOS系统 安装配置
  • 走进“Mesh无线自组网”:开启智能家居和智慧工厂
  • 安科瑞智慧能源管理系统在啤酒厂5MW分布式光伏防逆流控制实践
  • uv与conda环境冲突,无法使用uv环境,安装包之后出现ModuleNotFoundError: No module named ‘xxx‘等解决方法
  • unity之 贴图很暗怎么办
  • 【STM32】HAL库中的实现(四):RTC (实时时钟)
  • python的教务管理系统
  • 江协科技STM32学习笔记1
  • Spring 的依赖注入DI是什么?