--fetch-keys vs --recv-keys, проверьте, существует ли уже ключ, используя bash для сторонних ключей, а не из PPA

  1. Вот что у меня получилось:
#!/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
  1. Как-то я заметил, что из этого --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]
  1. Это легко сделать с помощью ключей 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ý

  1. Потому что он добавляет ключ напрямую, не загружая ничего с веб-сайта:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C

Так какова же логика этой идеи на самом деле? Я действительно в замешательстве. Я просто хочу создать сценарий, в котором, если ключ существует, он должен пропускать загрузку. Для PPA --recv-key меня устраивает, но из --fetch-keys некоторые добавили 2 ключа, как в приведенном выше примере. Поэтому проверка существования с использованием приведенного выше оператора if, на мой взгляд, немного странная. Любые идеи?

Больше информации здесь:

https://askubuntu.com/questions/1176504/how-to-check-if-gpg-key-already-exist-with-bash-then-skip-downloading-adding

0 ответов

Другие вопросы по тегам