W: http://mirrors.ustc.edu.cn/kali/dists/kali-rolling/InRelease: 密钥存储在过时的 trusted.gpg 密钥环中(/etc/apt/trusted.gpg),请参见 apt-key(8) 的 DEPRECATION 一节以了解详情。
时间: 2025-06-23 15:21:32 浏览: 27
<think>好的,我现在需要帮用户解决在Kali Linux中使用USTC镜像时遇到的APT密钥过时警告问题。首先,用户提到的是关于apt-key已被弃用,并且密钥存储在旧的trusted.gpg密钥环中的警告。我需要回忆一下APT包管理器中关于密钥管理的变更。
APT在较新版本中开始推荐使用signed-by方式指定密钥,而不是将密钥直接添加到trusted.gpg中。这是因为将密钥添加到trusted.gpg会信任该密钥对所有仓库的签名,存在安全风险。现在推荐每个仓库使用自己的密钥,并通过signed-by指向特定的密钥文件。
接下来,用户使用的是USTC镜像源,可能是在sources.list中配置了该镜像,但相关的密钥还是用旧的apt-key add方法添加的。需要检查用户的源配置,看看是否已经使用了signed-by参数。如果没有的话,需要指导用户如何将现有的密钥迁移到新的方法。
处理步骤可能包括:首先,找到当前USTC镜像的GPG密钥,可能需要从USTC的文档中获取正确的密钥ID或者直接下载密钥文件。然后,将现有的密钥从trusted.gpg.d中导出,保存为单独的文件,比如ustc.gpg。接着,修改sources.list中的仓库条目,添加signed-by=/usr/share/keyrings/ustc.gpg,并将密钥文件移动到指定位置。最后,删除旧的密钥,更新APT缓存。
需要注意的是,Kali Linux基于Debian,所以步骤应该和Debian相似。用户之前可能使用过类似下面的命令添加密钥:
sudo apt-key add keyfile.asc
现在需要替换这部分操作为将密钥保存到/usr/share/keyrings/目录,并使用signed-by参数引用。同时,要确保文件权限正确,避免其他用户可写。
可能遇到的问题包括:用户不确定密钥的具体位置,或者sources.list中没有正确配置signed-by。需要指导用户如何查找现有密钥,可能需要通过apt-key list来查看已添加的密钥,然后导出对应的密钥。
另外,用户可能使用的是USTC的镜像,但USTC的文档可能已经更新了如何配置仓库和密钥,所以建议用户查阅USTC的官方帮助页面,确认最新的配置方法。例如,某些镜像源可能已经提供了带有signed-by的源条目,直接复制即可。
总结步骤应该是:
1. 导出现有USTC镜像的GPG密钥到单独文件。
2. 将密钥文件移动到/usr/share/keyrings/目录。
3. 修改sources.list中的仓库条目,添加signed-by参数指向新位置。
4. 删除旧的密钥。
5. 更新APT并测试。
同时,需要提醒用户操作前备份现有的sources.list文件,避免配置错误导致无法更新软件包。
最后,生成相关问题的时候,要考虑用户可能遇到的后续问题,比如其他仓库的类似警告处理,或者如何验证密钥的正确性等。</think>### 解决APT密钥过时警告的方法
在Kali Linux中,`apt-key`命令已被标记为弃用,建议改用更安全的密钥管理方式。以下是具体操作步骤:
---
#### **1. 导出现有密钥**
首先查看当前已添加的USTC镜像密钥ID:
```bash
sudo apt-key list
```
找到USTC镜像对应的密钥ID(例如`ABCD1234`),然后导出密钥:
```bash
sudo apt-key export ABCD1234 | sudo gpg --dearmour -o /usr/share/keyrings/ustc.gpg
```
---
#### **2. 修改镜像源配置**
编辑APT源文件`/etc/apt/sources.list`或`/etc/apt/sources.list.d/ustc.list`,在仓库链接后添加`signed-by`参数:
```bash
deb [arch=amd64 signed-by=/usr/share/keyrings/ustc.gpg] https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
```
---
#### **3. 删除旧密钥**
移除已弃用的密钥存储方式:
```bash
sudo apt-key del ABCD1234 # 替换为实际密钥ID
```
---
#### **4. 更新APT缓存**
```bash
sudo apt update
```
---
#### **关键说明**
- 密钥文件必须存放在`/usr/share/keyrings/`目录,文件名后缀建议用`.gpg`。
- `signed-by`参数需与密钥文件路径严格对应[^1]。
- 操作前建议备份源文件:`sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak`
阅读全文
相关推荐




