Вопрос или проблема
Я пытаюсь обновить пакеты Cloudera на нескольких серверах, недавно обновленных до Debian 9 (stretch). Последние обновления для Cloudera были для Debian 8 (jessie). Обновление/апгрейд не удается, потому что Debian 9 считает, что подпись GPG Cloudera недействительна (думаю, недостаточно безопасна?).
Есть ли способ обойти эту проблему и заставить Debian обновить/апгрейдить пакеты, даже если ему не нравится ключ GPG?
Что я пробовал, но это не сработало:
Добавление [trusted=yes] в /etc/apt/sources.list, например:
deb [trusted=yes] http://archive.cloudera.com/cdh5/debian/jessie/amd64/cdh jessie-cdh5 contrib
Указание (я думаю) apt-get не беспокоиться об аутентификации, например:
# apt-get --allow-unauthenticated update
# apt-get --allow-unauthenticated upgrade
Добавление файла в /etc/apt/apt.conf.d со следующим содержимым не работает.
APT{ Get { AllowUnauthenticated "1"; }; };
Что делать?
ОТРЕДАКТИРОВАНО: Вот ошибка, которую я получаю от apt-get:
Err:4 http://archive.cloudera.com/cdh5/debian/jessie/amd64/cdh jessie-cdh5 InRelease
The following signatures were invalid: F36A89E33CC1BD0F71079007327574EE02A818DD
Error: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.freedesktop.PackageKit': timed out
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://archive.cloudera.com/cdh5/debian/jessie/amd64/cdh jessie-cdh5 InRelease: The following signatures were invalid: F36A89E33CC1BD0F71079007327574EE02A818DD
W: Failed to fetch http://archive.cloudera.com/cdh5/debian/jessie/amd64/cdh/dists/jessie-cdh5/InRelease The following signatures were invalid: F36A89E33CC1BD0F71079007327574EE02A818DD
Вещи, не требующие аутентификации, позволяют использовать неподписанные репозитории или репозитории, ключ которых недоступен. Этот случай немного отличается, так как ключ есть, но он недействителен.
Одним из вариантов решения этой проблемы является локальное удаление ключа, после чего неаутентифицированные параметры будут работать как ожидается. Чтобы удалить ключ, выполните
sudo apt-key del F36A89E33CC1BD0F71079007327574EE02A818DD
.
После этого sudo apt-get update
должен быть намного спокойнее.
Ответ или решение
У вас возникла проблема с обновлением пакетов Cloudera на серверах с операционной системой Debian 9 (Stretch). Ваша проблема связана с тем, что Debian 9 считает, что подпись GPG для пакетов Cloudera недействительна, поскольку они были выпущены для более старой версии Debian 8 (Jessie). Давайте разберем, как можно обойти эту проблему и выполнить обновление, даже если GPG-ключ не проходит проверку доверия.
Анализ проблемы
Ключ GPG, используемый для подписания пакетов Cloudera, был действительным для Debian 8, но Debian 9 требует более строгих мер безопасности и может отказывать в их принятии. Ваша текущая конфигурация включает попытки:
- Добавления
[trusted=yes]
вsources.list
- Использования флага
--allow-unauthenticated
в apt-get - Сообщения APT о допустимости некорректных подписей с помощью
apt.conf.d
Все перечисленные способы не привели к успеху. Давайте обсудим, какие шаги можно предпринять для решения этой проблемы.
Решение
-
Удаление недействительного GPG-ключа:
Вы можете попробовать удалить локально проблемный GPG-ключ. Это позволит заставить систему считать, что нет подписей для этих пакетов, и применять опции для неаутентифицированных пакетов. Выполните в терминале следующую команду:sudo apt-key del F36A89E33CC1BD0F71079007327574EE02A818DD
-
Обновление индексов пакетов:
После удаления ключа выполните:sudo apt-get update
Эта команда обновит индексы пакетов и не будет пытаться проверить недействительные подписи, так как они были удалены.
-
Обход проверки подлинности:
Если после удаления ключа вам все еще нужно обновить пакеты с игнорированием проверок подлинности, попробуйте снова применить флаги без проверки подлинности:sudo apt-get --allow-unauthenticated upgrade
-
Создание файла конфигурации для обхода проверки:
Если стандартные способы не работают, создайте файл/etc/apt/apt.conf.d/99ignore
с содержанием:APT { Get { AllowUnauthenticated "1"; }; };
Этот файл задает конфигурацию, позволяющую системе игнорировать подписи для всех пакетов.
Риски и рекомендации
Обход проверки GPG-подписей может нести в себе определенные риски, такие как установка неподтвержденного ПО, которое может быть небезопасным. Всегда рекомендуется использовать эту практику только в тех случаях, когда вы точно уверены в источниках пакетов и их содержимом. Рассмотрите возможность создания отдельной виртуальной машины или среды для тестирования до развертывания обновлений на рабочей инфраструктуре.
Следуя вышеописанным шагам, вы сможете обновить пакеты Cloudera на Debian 9, избегая проблем с подписанными GPG-ключами.