Linux软件库签名丢失:如何重新初始化与修复

轻辰小哥_1279

轻辰小哥_1279

2026-06-28

937人浏览

原创

linux软件库签名丢失本质是信任链断裂,需重装密钥环、清空缓存并更新元数据:ubuntu 24.04+执行sudo apt install --reinstall ubuntu-keyring && sudo apt clean && sudo apt update;rhel系用sudo dnf clean all && sudo dnf makecache;arch系运行sudo pacman -syyu;同步前须确认系统时间准确、网络可达密钥服务器且镜像源有效。

linux软件库签名丢失:如何重新初始化与修复

Linux软件库签名丢失,本质是包管理器无法验证仓库来源的可信性,不是文件损坏,而是信任链断裂。修复核心在于重装或刷新密钥环、重建元数据缓存,并确保时间与网络正常。不同发行版操作路径不同,但逻辑一致。

Debian/Ubuntu:重装 keyring + 清空列表缓存

签名丢失常表现为 E: 仓库 xxx 没有数字签名 或 NO_PUBKEY / BADSIG 错误。关键文件在 /etc/apt/trusted.gpg.d/ 和 /usr/share/keyrings/,而元数据缓存在 /var/lib/apt/lists/。

  • 先重装官方密钥包:Ubuntu 24.04+ 只需 sudo apt install --reinstall ubuntu-keyring;旧版本可加装 debian-archive-keyring
  • 清空所有仓库索引:sudo rm -rf /var/lib/apt/lists/*
  • 强制更新元数据:sudo apt clean && sudo apt update
  • 若仍提示某第三方源(如 Docker)签名失败,确认其 .gpg 密钥已导入到 /usr/share/keyrings/,例如:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

RHEL/CentOS/Fedora:清理缓存 + 校验 GPG 配置

错误多见于 Importing GPG key 失败或 repomd.xml signature could not be verified。问题通常出在 /etc/yum.repos.d/*.repo 中的 gpgkey= 地址不可达,或本地密钥过期。

Browser Setup (No-Root Linux)
Browser Setup (No-Root Linux)

在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...

下载
  • 清除全部缓存:sudo dnf clean all(RHEL 8+/Fedora)或 sudo yum clean all(RHEL 7)
  • 重建元数据:sudo dnf makecache 或 sudo yum makecache
  • 检查 repo 文件是否启用且 GPG 正确:grep -E "^(enabled|gpgcheck|gpgkey)" /etc/yum.repos.d/*.repo
  • 临时测试是否为密钥问题:将对应 repo 的 gpgcheck=1 改为 0 后重试 makecache(仅调试,成功后务必改回)

Arch Linux:刷新 keyring + 重同步数据库

报错如 failed to commit transaction (invalid or corrupted package (PGP signature)),大概率是 archlinux-keyring 过期或密钥未刷新。

  • 强制同步并升级系统(含 keyring):sudo pacman -Syyu
  • 单独更新密钥环:sudo pacman -S archlinux-keyring
  • 手动刷新所有密钥:sudo pacman-key --refresh-keys
  • 若某包反复报错,可删其缓存:sudo rm /var/cache/pacman/pkg/包名-*.pkg.tar.zst,再重试安装
  • 极端情况(如全新安装后首次更新失败):初始化密钥环:sudo pacman-key --init && sudo pacman-key --populate archlinux

通用排查要点

无论哪个发行版,以下三点必须确认,否则签名修复无效:

  • 系统时间准确:误差超过 5 分钟会导致 GPG 签名验证直接失败,运行 timedatectl status 查看,必要时执行 sudo timedatectl set-ntp true
  • 网络可访问密钥服务器:如 keyserver.ubuntu.com 或 pgp.mit.edu,用 curl -I https://keyserver.ubuntu.com 测试连通性
  • 镜像源地址有效:旧版 CentOS 镜像已迁至 vault 域,Ubuntu 某些镜像站可能停用,建议用官方源或主流高校镜像(清华、中科大)替换 baseurl

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3870

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3333

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2473

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5930

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5582

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3273

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2785

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2999

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习