如何解决 deb 存储库的“与源相关的选项 Signed-By 设置的值冲突...”?

如何解决 deb 存储库的“与源相关的选项 Signed-By 设置的值冲突...”?

我在 ubuntu 22.04 中安装了 elastic 和 kibana 8.4.1,当我尝试执行

sudo apt update

或者

sudo apt install unzip

我收到这个错误

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.

答案1

包含软件包的存储库deb可以是加密(或者说,来自此存储库的包可以签名)。这是通过钥匙由发行软件包的人员提供。为了检查签名,您的系统需要用于签名的密钥(更具体地说,公钥私钥/公钥对)。

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

因此,以前的源条目不是这样的

deb https://some.url.tld/ any main

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

deb [signed-by=/usr/share/keyrings/some-keyring.gpg] https://some.url.tld/ any main

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

相关内容