我明白那个add-apt-repository
已被弃用因为它会全局添加 repo 密钥,而不是专门为需要它的包添加。但是,我在网上看到的示例并没有展示如何处理ppa:<username>/<package>
我可以看到什么命令(确切地)应该取代弃用的 apt-key?但是我从未使用过 apt-key,而且示例也没有显示如何处理 ppa 部分。
以下是现已过时的命令(openconnect 需要 vpnc,我认为它托管在同一个 ppa 下?):
apt update
apt install software-properties-common
add-apt-repository ppa:dwmw2/openconnect
apt install vpnc
apt install openconnect
如果我可以解压ppa:dwmw2/openconnect
以单独下载密钥并添加存储库,我可以按照现有的说明分别进行替换apt-key
,apt-add-repository
并为所有其他存储库添加执行此操作。
子问题
add-apt-repository
通过屏幕抓取来做到这一点https://launchpad.net/~dwmw2/+archive/ubuntu/openconnect?
不,我仍然缺少关键块,因为当我这样做时:
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.14 (GNU/Linux)
mQENBFI3HsoBCADXDtbNJnxbPqB1vDNtCsqhe49vFYsZN9IOZsZXgp7aHjh6CJBD
A+bGFOwyhbd7at35jQjWAw1O3cfYsKAmFy+Ar3LHCMkV3oZspJACTIgCrwnkic/9
CUliQe324qvObU2QRtP4Fl0zWcfb/S8UYzWXWIFuJqMvE9MaRY1bwUBvzoqavLGZ
j3SF1SPO+TB5QrHkrQHBsmX+Jda6d4Ylt8/t6CvMwgQNlrlzIO9WT+YN6zS+sqHd
1YK/aY5qhoLNhp9G/HxhcSVCkLq8SStj1ZZ1S9juBPoXV1ZWNbxFNGwOh/NYGldD
2kmBf3YgCqeLzHahsAEpvAm8TBa7Q9W21C8vABEBAAG0RUVsYXN0aWNzZWFyY2gg
KEVsYXN0aWNzZWFyY2ggU2lnbmluZyBLZXkpIDxkZXZfb3BzQGVsYXN0aWNzZWFy
Y2gub3JnPokBOAQTAQIAIgUCUjceygIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
F4AACgkQ0n1mbNiOQrRzjAgAlTUQ1mgo3nK6BGXbj4XAJvuZDG0HILiUt+pPnz75
nsf0NWhqR4yGFlmpuctgCmTD+HzYtV9fp9qW/bwVuJCNtKXk3sdzYABY+Yl0Cez/
7C2GuGCOlbn0luCNT9BxJnh4mC9h/cKI3y5jvZ7wavwe41teqG14V+EoFSn3NPKm
TxcDTFrV7SmVPxCBcQze00cJhprKxkuZMPPVqpBS+JfDQtzUQD/LSFfhHj9eD+Xe
8d7sw+XvxB2aN4gnTlRzjL1nTRp0h2/IOGkqYfIG9rWmSLNlxhB2t+c0RsjdGM4/
eRlPWylFbVMc5pmDpItrkWSnzBfkmXL3vO2X3WvwmSFiQbkBDQRSNx7KAQgA5JUl
zcMW5/cuyZR8alSacKqhSbvoSqqbzHKcUQZmlzNMKGTABFG1yRx9r+wa/fvqP6OT
RzRDvVS/cycws8YX7Ddum7x8uI95b9ye1/Xy5noPEm8cD+hplnpU+PBQZJ5XJ2I+
1l9Nixx47wPGXeClLqcdn0ayd+v+Rwf3/XUJrvccG2YZUiQ4jWZkoxsA07xx7Bj+
Lt8/FKG7sHRFvePFU0ZS6JFx9GJqjSBbHRRkam+4emW3uWgVfZxuwcUCn1ayNgRt
KiFv9jQrg2TIWEvzYx9tywTCxc+FFMWAlbCzi+m4WD+QUWWfDQ009U/WM0ks0Kww
EwSk/UDuToxGnKU2dQARAQABiQEfBBgBAgAJBQJSNx7KAhsMAAoJENJ9ZmzYjkK0
c3MIAIE9hAR20mqJWLcsxLtrRs6uNF1VrpB+4n/55QU7oxA1iVBO6IFu4qgsF12J
TavnJ5MLaETlggXY+zDef9syTPXoQctpzcaNVDmedwo1SiL03uMoblOvWpMR/Y0j
6rm7IgrMWUDXDPvoPGjMl2q1iTeyHkMZEyUJ8SKsaHh4jV9wp9KmC8C+9CwMukL7
vM5w8cgvJoAwsp3Fn59AxWthN3XJYcnMfStkIuWgR7U2r+a210W6vnUxU4oN0PmM
cursYPyeV0NX/KQeUeNMwGTFB6QHS/anRaGQewijkrYYoTNtfllxIu9XYmiBERQ/
qPDlGRlOgVTd9xUfHFkzB52c70E=
=92oX
-----END PGP PUBLIC KEY BLOCK-----
这种格式看起来不像
Signing key:
4096R/DBBE5FF954B458D1A0875E8A9FCCDFFB8838752F
Fingerprint:
DBBE5FF954B458D1A0875E8A9FCCDFFB8838752F
哈哈!我想我至少在这里找到了部分答案: https://help.launchpad.net/Packaging/PPA/InstallingSoftware#On_older_.28pre_9.10.29_Ubuntu_systems
现在:
# apt update
...
# apt install gpg
...
# gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/openconnect.gpg --keyserver keyserver.ubuntu.com --recv-keys DBBE5FF954B458D1A0875E8A9FCCDFFB8838752F
gpg: keybox '/usr/share/keyrings/openconnect.gpg' created
gpg: /tmp/trustdb.gpg: trustdb created
gpg: key 9FCCDFFB8838752F: public key "Launchpad PPA for dwmw2" imported
gpg: Total number processed: 1
gpg: imported: 1
# 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
# apt update
Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Ign:4 https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu bionic InRelease
Hit:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Err:6 https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu bionic Release
Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: 185.125.190.52 443]
Reading package lists... Done
W: https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu/dists/bionic/InRelease: No system certificates available. Try installing ca-certificates.
W: https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu/dists/bionic/Release: No system certificates available. Try installing ca-certificates.
E: The repository 'https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu bionic Release' does not have a Release file.
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-get update 失败,因为 nodesource 上的握手失败导致证书验证失败
现在:
# apt update
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Get:5 https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu bionic InRelease [15.9 kB]
Get:6 https://ppa.launchpadcontent.net/dwmw2/openconnect/ubuntu bionic/main amd64 Packages [1437 B]
Fetched 17.3 kB in 1s (14.5 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.