Обновление Fedora 25: не устанавливает ключ для обновления пакетов, что происходит?

Fedora 24 выдает это прекрасное обновление с помощью GUI для Fedora 25 (с использованием программного обеспечения gnome). Инструкции по обновлению рабочей станции Fedora просто перечисляют шаги для перехода по графическому интерфейсу. Отличная работа!

Когда я пошел устанавливать какое-то программное обеспечение, я с удивлением обнаружил это приглашение / предупреждение:

$ sudo dnf upgrade ... warning: /var/cache/dnf/updates-1d34501737ae01ab/packages/NetworkManager-openconnect-1.2.4-3.fc25.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fdb19c98: NOKEY Importing GPG key 0xFDB19C98: Userid : "Fedora 25 Primary (25) <fedora-25-primary@fedoraproject.org>" Fingerprint: C437 DCCD 558A 66A3 7D6F 4372 4089 D8F2 FDB1 9C98 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-25-x86_64 Is this ok [y/N]: 

Означает ли это, что автоматические обновления (уведомления) бесшумно терпят неудачу, если я вручную не установил что-то и не принял ключ?

  • lxpolkit crash после обновления Fedup от Fedora 20 до Fedora 21
  • Ошибка Apt-get dist-upgrade
  • Как Smooth обновляет ядро ​​Linux в Debian 8.5?
  • Как избавиться от этих сломанных ошибок пакетов и установить Mate в Linux Mint 16 Petra?
  • Обновления Debian Jessie
  • Могу ли я использовать apt-get для обновления до последней версии Nagios?
  • apt-get dist-upgrade хочет удалить слишком много пакетов
  • debian apt-get dist-upgrade от сжатия до свистящего сбоя на vlc
  • One Solution collect form web for “Обновление Fedora 25: не устанавливает ключ для обновления пакетов, что происходит?”

    Нет, потому что уведомления об автоматическом обновлении на рабочей станции Fedora используют PackageKit. Они не используют dnf.

    Вы можете видеть, что pkcon успешно устанавливает пакеты (или обновляет обновление pkcon -c 1 refresh && pkcon update (объяснение -c здесь )). Это не подсказывает о ключе. Он также не устанавливает ключ в хранилище, используемом dnf; если вы снова запустите dnf, он все равно предложит принять ключ.

    Это было удивительно, потому что хранилище ключей, используемое dnf, фактически является rpm . PackageKit действует как интерфейс для rpm, но, по-видимому, он не заполняет rpm keyring или не полагается на него для проверки.

    Вы можете видеть, что PackageKit вместо этого сохраняет ключи, например, /var/cache/PackageKit/25/metadata/fedora/gpgdir/ . Вероятно, это имеет больше смысла, чем традиционная организация. Таким образом, можно узнать, какие ключи были загружены, для которых репо.

    В отличие от dnf, PackageKit не запрашивает ключи от настроенного URL. Правильно сказать, что это чисто кеш.

    EDIT: Я считаю, что PackageKit не запрашивает меня, потому что транзакции, выполняемые ОС для обновлений, обычно выполняются как «не интерактивные». Если вместо этого вы запускали интерактивное обновление, например, используя pkcon update без опции -y , вы увидите приглашение. Однако онлайн-обновление с PackageKit не документируется как надежный способ обновления версий Fedora.

    Отсутствие подсказки не влияет на безопасность Fedora, потому что, например, /etc/yum.repos.d/fedora.repo говорит, что загружает ключ из файла, который уже установлен (пакетом fedora-release ). Запрос с помощью dnf также будет пропущен, если вы используете скрипты с dnf -y install – это стандартный способ избежать запроса, когда установленный пакет имеет дополнительные требования. (Модуль Ansible dnf делает то же самое).

    Я считаю, что это предложение dnf не считается важной задачей. Учитывая сценарий в вопросе, вероятно, было бы лучше удалить подсказку, в которой говорится «предупреждение», и спрашивает: «Это нормально».

    Другие репозитории, такие как google-chrome.repo, могут полагаться на загрузку ключей обновления через HTTPS. Это имеет разные свойства безопасности. В частности, представляется менее вероятным, что ключевое закрепление и HSTS (как используется основными клиентами HTTPS) были реализованы для PackageKit. Я не понимаю, почему это было реализовано в первую очередь: загрузка обновленных ключей с использованием метода с различными свойствами безопасности.

    Linux и Unix - лучшая ОС в мире.