--fetch-keys vs --recv-keys, проверьте, существует ли уже ключ, используя bash для сторонних ключей, а не из PPA
- Вот что у меня получилось:
#!/bin/bash
# google chrome
if [ -z "$(sudo apt-key list 2> /dev/null | grep "EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796")" ]; then
sudo apt-key adv --fetch-keys https://dl.google.com/linux/linux_signing_key.pub
fi
- Как-то я заметил, что из этого --fetch-keys установлено 2 ключа
pub dsa1024 2007-03-08 [SC]
4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991
uid [ unknown] Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com>
sub elg2048 2007-03-08 [E]
pub rsa4096 2016-04-12 [SC]
EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
uid [ unknown] Google Inc. (Linux Packages Signing Authority) <linux-packages-keymaster@google.com>
sub rsa4096 2019-07-22 [S] [expires: 2022-07-21]
- Это легко сделать с помощью ключей PPA, таких как:
pub rsa1024 2009-01-26 [SC]
14AA 40EC 0831 7567 56D7 F66C 4F4E A0AA E526 7A6C
uid [ unknown] Launchpad PPA for Ondřej Surý
- Потому что он добавляет ключ напрямую, не загружая ничего с веб-сайта:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C
Так какова же логика этой идеи на самом деле? Я действительно в замешательстве. Я просто хочу создать сценарий, в котором, если ключ существует, он должен пропускать загрузку. Для PPA --recv-key меня устраивает, но из --fetch-keys некоторые добавили 2 ключа, как в приведенном выше примере. Поэтому проверка существования с использованием приведенного выше оператора if, на мой взгляд, немного странная. Любые идеи?
Больше информации здесь: