You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

替代已弃用的`add-apt-repository ppa:<username>/<package>`的具体GPG、curl等命令方案

替代已弃用的add-apt-repository ppa:<username>/<package>的具体GPG、curl等命令方案

我完全懂你的困扰——以前用add-apt-repository一键添加PPA的方式,因为会全局导入密钥不符合安全规范被弃用了,而网上的例子大多没讲清楚怎么处理ppa:<username>/<package>这种格式的源。下面我就以你用到的ppa:dwmw2/openconnect为例,一步步拆解成合规的命令,这个方案完全可以套用到其他PPA上:

步骤1:安装必备工具

首先确保系统有处理密钥和证书的工具:

apt update
apt install -y gpg ca-certificates

步骤2:单独导入PPA的GPG密钥(非全局)

你需要从PPA的官方详情页(比如Launchpad对应PPA页面)获取密钥ID,比如ppa:dwmw2/openconnect的密钥ID是DBBE5FF954B458D1A0875E8A9FCCDFFB8838752F。然后用下面的命令把密钥导入专门的密钥环文件,避免全局生效:

gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/openconnect.gpg --keyserver keyserver.ubuntu.com --recv-keys DBBE5FF954B458D1A0875E8A9FCCDFFB8838752F

小说明:--homedir /tmp避免干扰用户默认密钥环,--keyring指定专属密钥文件,确保密钥只对这个源生效,更安全。

步骤3:添加PPA源并关联密钥

创建单独的源配置文件,通过signed-by参数绑定刚才生成的密钥环,让APT明确用这个密钥验证该源的包:

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/openconnect.gpg] https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu bionic main' > /etc/apt/sources.list.d/openconnect.list

注意:把bionic换成你自己Ubuntu系统的版本代号(比如focal、jammy等)。

步骤4:解决证书验证问题(如果遇到)

如果执行apt update时出现类似“Certificate verification failed”或者“No system certificates available”的错误,我们已经在步骤1安装了ca-certificates,重新执行更新即可:

apt update

步骤5:安装所需软件

现在源配置完成,可以正常安装需要的包了:

apt install -y vpnc openconnect

关于你的子问题:add-apt-repository并不是通过网页爬取的方式获取PPA信息,它是通过Launchpad提供的标准化接口来获取源地址和密钥的,不过我们手动操作时,只需要从PPA官方页面拿到密钥ID和源地址就足够了。

备注:内容来源于stack exchange,提问作者GlenPeterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:42:41