如何修复以下问题?
# apt-get update
Hit:1 http://security.ubuntu.com/ubuntu focal-security InRelease
Ign:2 http://ddebs.ubuntu.com focal InRelease
Hit:3 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:4 http://packages.microsoft.com/repos/code stable InRelease
Hit:5 http://de.archive.ubuntu.com/ubuntu focal InRelease
Ign:6 http://ddebs.ubuntu.com focal-updates InRelease
Ign:7 https://apache.bintray.com/couchdb-deb focal InRelease
Hit:8 http://de.archive.ubuntu.com/ubuntu focal-updates InRelease
Get:9 https://apache.bintray.com/couchdb-deb focal Release [1838 B]
Ign:10 http://ddebs.ubuntu.com focal-proposed InRelease
Hit:11 http://de.archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:12 http://ddebs.ubuntu.com focal Release
Hit:13 http://ddebs.ubuntu.com focal-proposed Release
Get:14 http://ddebs.ubuntu.com focal-updates Release [40.5 kB]
Get:15 http://ddebs.ubuntu.com focal-updates Release.gpg [819 B]
Err:17 http://ddebs.ubuntu.com focal Release.gpg
The following signatures were invalid: EXPKEYSIG C8CAB6595FDFF622 Ubuntu Debug Symbol Archive Automatic Signing Key (2016) <[email protected]>
Err:18 http://ddebs.ubuntu.com focal-proposed Release.gpg
The following signatures were invalid: EXPKEYSIG C8CAB6595FDFF622 Ubuntu Debug Symbol Archive Automatic Signing Key (2016) <[email protected]>
Err:15 http://ddebs.ubuntu.com focal-updates Release.gpg
The following signatures were invalid: EXPKEYSIG C8CAB6595FDFF622 Ubuntu Debug Symbol Archive Automatic Signing Key (2016) <[email protected]>
Fetched 43.1 kB in 2s (27.1 kB/s)
Reading package lists... Done
(请忽略上面的非 Ubuntu 存储库。它们不是问题的一部分。)
笔记
前几天一切都很好,但是突然间,就像不知何故发生了上述情况。
请注意从密钥服务器下载密钥或任何类似的不安全活动都不是答案,是问题本身。
因此一个合适的、可以接受的答案必须包含一种(通过加密)验证其合法性的方法并且失败(然后修复)存储库的创建者确实是 Canonical,而不是其他能够充当假的 Ubuntu 镜像、密钥服务器或 MitM 的人(可能使用来自某些受损 CA 的合法 SSL 证书)。
它必须能够在未修改的、真实的、离线的 Ubuntu 20.04 LTS 上重现解决方案,该版本只能访问某些本地未经验证的 Ubuntu 镜像(因此它也必须验证镜像的真实性)。
解决方案不能包括时间失真(机器必须进行 NTP 同步)也不能在全球范围内关闭某些安全功能(例如禁用 apt 检查是否过期密钥)。
然而,解决方案可以包括允许继续使用过期密钥的本地修改,只要这不会影响机器上的任何其他密钥,例如手动延长密钥的生命周期
C8CAB6595FDFF622
,但仅限于这个孤独密钥的生命周期。
进一步说明
# apt-get install ubuntu-dbgsym-keyring
Reading package lists... Done
Building dependency tree
Reading state information... Done
ubuntu-dbgsym-keyring is already the newest version (2020.02.11.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# dpkg -L ubuntu-dbgsym-keyring
/.
/etc
/etc/apt
/etc/apt/trusted.gpg.d
/etc/apt/trusted.gpg.d/ubuntu-keyring-2016-dbgsym.gpg
/usr
/usr/share
/usr/share/doc
/usr/share/doc/ubuntu-dbgsym-keyring
/usr/share/doc/ubuntu-dbgsym-keyring/changelog.gz
/usr/share/doc/ubuntu-dbgsym-keyring/copyright
/usr/share/keyrings
/usr/share/keyrings/ubuntu-dbgsym-keyring.gpg
/usr/share/keyrings/ubuntu-dbgsym-removed-keys.gpg
(到底为什么/.
?!?)
# apt-key list C8CAB6595FDFF622
pub rsa4096 2016-03-21 [SC] [expired: 2021-03-20]
F2ED C64D C5AE E1F6 B9C6 21F0 C8CA B659 5FDF F622
uid [ expired] Ubuntu Debug Symbol Archive Automatic Signing Key (2016) <[email protected]>
expired
解释了为什么apt
会呻吟。但知道这一点并不能给我一个解决方案,而只是提出了问题。
年龄变化率
一旦 Canonical 发布更新,这个问题可能就会消失ubuntu-dbgsym-keyring
。但在此之前,只要缺少这个,就一定有某种方法可以使用某种后备方法来妥善处理此类问题,对吧?因为密钥材料过期是一个常见问题,更不用说是密码学中最常见的标准问题之一,对吧?
所以密钥过期不是 Canonical 的错时光飞逝,每个处理加密标准的人都知道这一点。由于这是处理加密时的标准问题,因此处理这种情况肯定是每个加密标准的一部分,对吗?因此,每个加密的正确实现都必须提供一些简单的方法来解决这些基本的标准问题,即提供一个本地临时解决方案,当不再需要时,该解决方案会自动消失,对吗?
DES 发明于 1975 年,现在已经是 2021 年了。因此,密码学肯定已经成熟,并且不缺乏处理过期密钥等基本标准模式,对吧?不知道如何正确处理这样的标准问题完全是我自己的错误,对吧?还是我在这里完全搞错了?
(免责声明:本问题中的所有内容都是诚实的,不包含任何讽刺。所有讽刺都存在。)
答案1
该问题似乎已得到解决 - 运行后sudo apt install --reinstall ubuntu-dbgsym-keyring
问题就消失了。
答案2
提供的解决方案https://bugs.launchpad.net/ubuntu/+source/ubuntu-keyring/+bug/1920640/comments/32对我有用:
sudo apt remove --purge ubuntu-dbgsym-keyring
sudo apt-key del 0xC8CAB6595FDFF622
sudo apt install ubuntu-dbgsym-keyring