apt-get update时候出现“由于没有公钥,无法验证下列签名”的解决办法

本文介绍了解决Debian系统中使用apt-get更新时遇到的公钥验证失败问题的方法。通过导入缺失的公钥来修复错误,并提供具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RT: apt-get update 之后出现下面提示:

W: GPG 错误:http://ftp.tw.debian.org squeeze Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 07DC563D1F41B907

W: Duplicate sources.list entry http://security.debian.org/ squeeze/updates/main i386 Packages (/var/lib/apt/lists/security.debian.org_dists_squeeze_updates_main_binary-i386_Packages)


原因是公钥没有通过验证,可以通过下面命令解决:

gpg --keyserver keyring.debian.org --recv 07DC563D1F41B907

//后面的07DC563D1F41B907 就是上面提到的 NO_PUBKEY 07DC563D1F41B907中的公钥,替换成对应的即可。


gpg --armor --export 1F41B907 | apt-key add -

//红色字中的1F41B907 是上面公钥的后八位,也要替换成对应的。


然后重新apt-get update即可。


引用\[1\]:sudo apt-get update命令用于更新软件包列表。它会从软件源中下载最新的软件包信息,并将其存储在本地的软件包列表中。这样,当你运行sudo apt-get upgrade命令时,系统就可以比较本地已安装的软件包版本与软件包列表中的最新版本,如果有更新的软件包,就会提示你进行更新。所以,sudo apt-get update命令是sudo apt-get upgrade命令的前置步骤,确保你的软件包列表是最新的。\[1\] 问题:为什么sudo apt-get update没有公钥错误? 回答:当你运行sudo apt-get update命令时,如果出现"没有公钥错误",通常是因为你添加了一个新的软件源,但没有导入该软件源的公钥。软件源的公钥用于验证软件包的真实性和完整性。解决这个问题的方法是通过运行sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys \[KEY\]命令来导入缺失的公钥,其中\[KEY\]是你需要导入的公钥的标识符。这样,当你再次运行sudo apt-get update命令时,就不会再出现"没有公钥错误"了。 #### 引用[.reference_title] - *1* [sudo apt-get update 和sudo apt-get upgrade 的区别](https://blog.csdn.net/kids_budong_c/article/details/122369468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值