![如何在不使用 apt-key 或 add-apt-repository 的情况下为 mozillavpn 添加 gpg 密钥和 ppa?](https://linux22.com/image/1028784/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E4%BD%BF%E7%94%A8%20apt-key%20%E6%88%96%20add-apt-repository%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E4%B8%BA%20mozillavpn%20%E6%B7%BB%E5%8A%A0%20gpg%20%E5%AF%86%E9%92%A5%E5%92%8C%20ppa%EF%BC%9F.png)
我想在不使用 apt-key 或 add-apt-repository 的情况下安装 mozillavpn,因为使用这些方法会导致每次运行 时都出现弃用警告sudo apt update
。如果您按照 Mozilla VPN 下载链接进行 Linux 下载,它会带您进入一个支持页面,其中包含安装说明,标题为如何在 Linux 计算机上安装 Mozilla VPN。
TLDR:发现问题(无法解决?): 对于 Launchpad 上的 PPA,显示“已禁止发布此存档”的消息是什么意思?。这可能是导致 400 错误等的原因。
我目前所做的。我发现 Ubuntu 的Launchpad 个人资料页面。在该页面上,‘OpenPGP 密钥:’下方是密钥指纹。您可以在 keyserver.ubuntu.com 上找到他们的公钥,方法是登录 launchpad.net(登录后,Mozilla 的启动板配置文件上的指纹将成为密钥服务器页面的超链接),也可以在 keyserver.ubuntu.com 上搜索密钥指纹,它会直接带您到同一页面。
根据 eddygeek 在此的评论askubuntu 页面,并使用密钥指纹(以 506556... 开头),我尝试了这个命令:sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --no-default-keyring --keyring /usr/share/keyrings/mozilla-vpn.gpg --recv-keys 50655629D846C1040AA480DA5BD2CCE6C5567242
,它输出
gpg: 已创建密钥箱“/usr/share/keyrings/mozilla-vpn” gpg: 无法创建临时文件“/root/.gnupg/.#lk0x000055cfe4208850.pc1.6829”:没有此文件或目录 gpg:连接“/root/.gnupg/S.dirmngr”处的 dirmngr 失败:没有此文件或目录 gpg:密钥服务器接收失败:没有 dirmngr
根据错误,我认为我需要创建 /root/.gnupg ,所以我:
sudo su
cd /root
mkdir .gnupg
chmod 700 .gnupg
我退出 root 权限并恢复为普通用户,运行“sudo apt update”,其输出包括以下错误:
错误:8https://ppa.launchpadcontent.net/mozillacorp/mozillavpn/ubuntujammy InRelease 由于公钥不可用,无法验证以下签名:NO_PUBKEY 1E51560313C444E0 正在读取软件包列表...完成 W:GPG 错误:https://ppa.launchpadcontent.net/mozillacorp/mozillavpn/ubuntujammy InRelease:由于公钥不可用,因此无法验证以下签名:NO_PUBKEY 1E51560313C444E0 E:存储库“https://ppa.launchpadcontent.net/mozillacorp/mozillavpn/ubuntu jammy InRelease”未签名。N:从这样的存储库进行更新无法安全地完成,因此默认情况下被禁用。N:有关存储库创建和用户配置详细信息,请参阅 apt-secure(8) 手册页。
我查看了 apt-secure 的手册页,但它看起来像是创建 gpg 文件的说明。
理想情况下,我希望找到几个简单的命令,例如安装vivaldi的三个命令使用 gpg 代替 add-apt-repository。有什么建议吗?
编辑:有人建议我本页上的解决方案。wget 命令无法处理(我认为)是公共 gpg 文件(我在 keyserver.ubuntu.com 上讨论过的那个)的链接。如果我手动复制关联进入一个文件(例如 mozilla-vpn.gpg)并尝试此命令:
cat ~/Desktop/mozilla-vpn.gpg | gpg --dearmor | sudo dd of=/usr/share/keyrings/mozilla-vpn.gpg
我的理解是,您必须使用 'gpg --dearmor' 命令,因为原始 gpg 文件的第一行实际上将其标识为 pgp 文件。因此 'gpg --dearmor' 将其转换为 gpg,然后将其传输到 /usr/share/keyrings/mozilla-vpn.gpg 。我可以这样做,然后跟进:
echo "deb [signed-by=/usr/share/keyrings/mozilla-vpn.gpg arch=$(dpkg --print-architecture)] https://ppa.launchpadcontent.net/mozillacorp/mozillavpn/ubuntu jammy main" | sudo dd of=/etc/apt/sources.list.d/mozillacorp-mozillavpn-jammy.list
但是当我sudo apt update
,我仍然收到一个非常相似的错误:
错误:7https://ppa.launchpadcontent.net/mozillacorp/mozillavpn/ubuntujammy InRelease 由于公钥不可用,无法验证以下签名:NO_PUBKEY 1E51560313C444E0 正在读取软件包列表...完成 W:GPG 错误:https://ppa.launchpadcontent.net/mozillacorp/mozillavpn/ubuntujammy InRelease:由于公钥不可用,因此无法验证以下签名:NO_PUBKEY 1E51560313C444E0 E:存储库“https://ppa.launchpadcontent.net/mozillacorp/mozillavpn/ubuntu jammy InRelease”未签名。N:从这样的存储库进行更新无法安全地完成,因此默认情况下被禁用。N:有关存储库创建和用户配置详细信息,请参阅 apt-secure(8) 手册页。
此外,当我使用该file mozilla-vpn.gpg
命令时,我没有得到建议链接中预期的输出。相反,PGP public key block Public-Key (old)
我得到的是PGP public key block Secret-Key
这是否表明存在问题?该文件的第一行是“-----BEGIN PGP PUBLIC KEY BLOCK-----”,因此它似乎是公共 gpg 文件。
如果我尝试按照建议的解决方案页面上的说明进行导入/导出,则导出命令输出为:gpg: WARNING: nothing exported