[Share Experiences] DeepinV23更新系统时出现 apt-key弃用警告
Tofloor
poster avatar
川顺页
deepin
2023-06-16 07:37
Author
  • sudo apt update的时候出现警告,警告大概长这样
W: https://debrepo.freedownloadmanager.org/dists/bionic/InRelease: 密钥存储在过时的 trusted.gpg 密钥环中(/etc/apt/trusted.gpg),请参见 apt-key(8) 的 DEPRECATION 一节以了解详情。
  • 这个意思是说,这个仓库密钥不能存在/etc/apt/trusted.gpg这个路径,得放新路径。
  • 这个警告和deepin无关,是debian那边的新规定,一般软件都会遵守,不过有些老软件可能没有及时更新仓库签名,所以会触发。

基本流程

  1. 列出现有密钥:
$ apt-key list      
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2018-11-30 [SC]
      9E26 D714 4079 CC13 314D  0120 8332 1298 093B 2149
uid           [ 未知 ] Freedownloadmanager Team 
sub   rsa4096 2018-11-30 [E]

/etc/apt/trusted.gpg.d/deepin-app-store-home.gpg
------------------------------------------------
pub   rsa2048 2021-04-20 [SC]
      D03D B63A 1679 A477 2AA9  D531 B8F2 1303 3DB6 B2D6
uid           [ 未知 ] tongxin (sign) 
sub   rsa2048 2021-04-20 [E]
......
  1. 从这里可以看出,新路径是在/etc/apt/trusted.gpg.d下面,我们可以导出一个密钥(将id后8位拷贝出来,去除空格):
sudo apt-key export 093B2149 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/freedownloadmanager.gpg
  1. 现在,我们可以更新存储库的 apt 源文件,
# 进入第三方仓库
$ cd /etc/apt/sources.list.d 
# 观察现在的有的第三方源
$ ls                   
appstore.list                devicemanager.list  element-io.list           google-chrome.list
deepin-unstable-source.list  driver.list         freedownloadmanager.list  microsoft-edge.list
# 目标freedownloadmanager.list
  • 修改freedownloadmanager.list
sudo vim freedownloadmanager.list
  • 原版长这样:
deb [arch=amd64] https://debrepo.freedownloadmanager.org/ bionic main
  • 添加一个标记:signed-by,然后跟上具体路径(第二步到处的路径)
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/freedownloadmanager.gpg] https://debrepo.freedownloadmanager.org/ bionic main
  1. 重新update
sudo apt update
  • 目前没有报错提示了。

善后工作(强迫症可以看看)

  1. 再看一下目前仓库的密钥信息,可以看到有两个重复的Freedownloadmanager的签名。
$ apt-key list

/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2018-11-30 [SC]
      9E26 D714 4079 CC13 314D  0120 8332 1298 093B 2149
uid           [ 未知 ] Freedownloadmanager Team 
sub   rsa4096 2018-11-30 [E]
...

/etc/apt/trusted.gpg.d/freedownloadmanager.gpg
----------------------------------------------
pub   rsa4096 2018-11-30 [SC]
      9E26 D714 4079 CC13 314D  0120 8332 1298 093B 2149
uid           [ 未知 ] Freedownloadmanager Team 
sub   rsa4096 2018-11-30 [E]
...
  1. 删除原始签名(同样是id后8位),默认会将两个都会被删除。
sudo apt-key del 093B2149
  1. 还原/etc/apt/trusted.gpg.d目录下面的freedownloadmanager.gpg文件。
  • 进入这个目录。
cd /etc/apt/trusted.gpg.d/
  • 观察目录,可以看到freedownloadmanager.gpg变成了freedownloadmanager.gpg~
$ ls
deepin-app-store-home.gpg          deepin-pools-keyring.gpg  microsoft-edge.gpg
deepin-archive-camel-keyring.gpg   freedownloadmanager.gpg~  spark-store.gpg
deepin-archive-uranus-keyring.gpg  google-chrome.gpg
  • 所以将它还原就行了。
sudo mv freedownloadmanager.gpg~ freedownloadmanager.gpg
  1. 更新一下源,没有报错。
sudo apt update
  1. 再观察一下仓库签名,freedownloadmanager.gpg只出现了一次,说明完美解决。
apt-key list
Reply Favorite View the author
All Replies
阿尼樱奈奈
deepin
2023-06-16 13:48
#1

like

Reply View the author
青稚
deepin
2023-06-16 14:33
#2

好耶like

Reply View the author
云的眼泪
deepin
2023-06-16 16:15
#3

like

Reply View the author
donaldsebleung
deepin
2023-06-16 17:42
#4

学习了,感谢分享kissing_heart

Reply View the author