如何解决 deb 存储库的“关于源的签名者选项设置的值冲突...”?

mor*_*la3 2 22.04

我在 ubuntu 22.04 中安装了 elastic 和 kibana 8.4.1,当我尝试这样做时

sudo apt update
Run Code Online (Sandbox Code Playgroud)

或者

sudo apt install unzip
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

E: Conflicting values set for option Signed-By regarding source 

https://artifacts.elastic.co/packages/8.x/apt/ stable: /usr/share/keyrings/elasticsearch-keyring.gpg !=
E: The list of sources could not be read.
Run Code Online (Sandbox Code Playgroud)

Hen*_*eck 5

deb可以对包含包的存储库进行加密签名(或者更确切地说,可以对来自此存储库的包进行签名)。这是由发出包裹的人使用密钥来完成的。为了检查签名,您的系统需要用于签名的密钥(更具体地说,私钥/公钥对的公钥)。

以前,系统所知道的存储库的密钥存储在中央位置并通过命令进行管理apt-key。出于安全原因,此功能已被弃用。现在,密钥存储在文件系统中单独的所谓密钥环中。存储库的源条目通过选项引用相应的密钥环Signed-By

因此,而不是像以前那样的源条目

deb https://some.url.tld/ any main
Run Code Online (Sandbox Code Playgroud)

您有附加选项Signed-By(也许还有其他选项)

deb [signed-by=/usr/share/keyrings/some-keyring.gpg] https://some.url.tld/ any main
Run Code Online (Sandbox Code Playgroud)

看起来源列表中的存储库之一Signed-By多次使用该选项,因此apt不知道使用哪个密钥来检查签名。或者可能是一个相关的问题,但似乎存在密钥冲突的情况。