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. 安装 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 即可。