multistrap 配置中的“noauth”属性到底意味着什么?

multistrap 配置中的“noauth”属性到底意味着什么?

https://manpages.debian.org/wheezy/multistrap/multistrap.1

--no-auth - 允许使用未经身份验证的存储库。与 noauth=true 相同

我从这个定义中了解到的是,multistrap不会尝试进行身份验证,因此可能会安装不安全的软件。

但情况似乎并非如此:设置noauth=true 抛出以下错误

Get:1 http://ftp.uk.debian.org/debian buster InRelease [122 kB]
Err:1 http://ftp.uk.debian.org/debian buster InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY DCC9EFBF77E11517
Reading package lists... Done
W: GPG error: http://ftp.uk.debian.org/debian buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY DCC9EFBF77E11517
E: The repository 'http://ftp.uk.debian.org/debian buster InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
apt update failed. Exit value: 100

有趣的是,设置noauth=false解决了问题。

具体是什么noauth原因造成的呢?

答案1

你的理解是正确的。但是,multistrap 中存在一个错误,因此它无法正确配置 apt 以安装未经身份验证的软件包。 debian bug 报告 #908451 中提供了问题的描述和修复该问题的补丁(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908451)。

有关 noauth=false 的更多信息(即进行身份验证):

  • 密钥环包需要可安装在主机系统上。在调用 multistrap 之前,相应配置主机的 /etc/apt/sources 和 apt-key。
  • keyring debian 软件包需要将密钥安装到 /usr/share/keyrings/ 中,multistrap 将从那里将它们复制到 /etc/apt/trusted.gpg.d/ ,apt-key 实际使用它们。仅将密钥安装到 /etc/apt/trusted.gpg.d/ 的密钥环包不能被 multistrap 使用。
  • 即使相同的密钥环适用于多个存储库,也仅指定每个密钥环包一次。否则,Multistrap 会导致错误并显示无用的错误消息,至少在修复 debian bug #870166 之前是这样。

相关内容