Как обновить связку ключей GPG на сервере Debian Wheezy
Я пытаюсь настроить Dockerized Wheezy для какой-то разработки, на производственных серверах которой все еще используется эта старая неподдерживаемая версия Debian.
Основная проблема, с которой я сталкиваюсь, связана с проверкой подписей GPG официальных репозиториев архивов.
Начиная с официального образа докера, заменив /etc/apt/sources.list на
deb http://archive.debian.org/debian wheezy main
если я попробую, я получу результат:
W: GPG error: http://archive.debian.org wheezy Release: The following signatures were invalid: KEYEXPIRED 1587841717 KEYEXPIRED 1668891673 KEYEXPIRED 1557241909
Проверка ключей GPG с помощьюapt-key list | grep expired
gpg: /etc/apt//trustdb.gpg: trustdb created
pub 4096R/2B90D010 2014-11-21 [expired: 2022-11-19]
pub 4096R/C857C906 2014-11-21 [expired: 2022-11-19]
pub 4096R/518E17E1 2013-08-17 [expired: 2021-08-15]
pub 4096R/473041FA 2010-08-27 [expired: 2018-03-05]
pub 4096R/B98321F9 2010-08-07 [expired: 2017-08-05]
pub 4096R/46925553 2012-04-27 [expired: 2020-04-25]
pub 4096R/65FFB764 2012-05-08 [expired: 2019-05-07]
Поэтому я обновляю большинство из них с помощьюapt-key adv --recv-keys --keyserver keyserver.ubuntu.com $(apt-key list | grep expired | sed -E 's=[^/]+/([^ ]+).*=\1=g' | tr '\n' ' ')
но все равно получаю этот результат из списка apt-key:
pub 4096R/518E17E1 2013-08-17 [expired: 2021-08-15]
pub 4096R/B98321F9 2010-08-07 [expired: 2017-08-05]
pub 4096R/65FFB764 2012-05-08 [expired: 2019-05-07]
И теперь звонок вapt-get update
даетW: GPG error: http://archive.debian.org wheezy Release: The following signatures were invalid: KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1668891673 KEYEXPIRED 1557241909
Затем я попытался получить официальную версию Debian Keyring, но похоже, что ее невозможно установить.
dpkg -i /tmp/debian-archive-keyring_2023.4_all.deb
dpkg-deb: error: archive '/tmp/debian-archive-keyring_2023.4_all.deb' contains not understood data member control.tar.xz, giving up
dpkg: error processing /tmp/debian-archive-keyring_2023.4_all.deb (--install):
subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
/tmp/debian-archive-keyring_2023.4_all.deb
apt-get --allow-unauthenticated update
не работает и не заменяет содержимое файла source.list на
deb [trusted=yes] http://archive.debian.org/debian wheezy main
Итак, есть ли способ обновить эти ключи GPG или сделать так, чтобы они не проверялись?
Самый простой способ решить проблему, если у вас есть докер:
>docker run -it debian:7.11 bash
root@f391e03326c6:/# echo "deb http://archive.debian.org/debian wheezy main" > /etc/apt/sources.list
root@f391e03326c6:/# apt-get update --allow-unauthenticated
1 ответ
Срок службы Debian 7 «Wheezy» истек более пяти лет, начиная с мая 2018 года. По этой причине просроченные ключи PGP не будут ни продлены, ни заменены. Вы могли бы использовать
--allow-unauthenticated
Игнорируйте, если пакеты не могут быть аутентифицированы, и не запрашивайте об этом. Это может быть полезно при работе с локальными репозиториями, но представляет собой огромный риск для безопасности, если подлинность данных не обеспечивается другим способом самим пользователем. Использование
Опция для записей source.list(5) обычно предпочтительнее этого глобального переопределения. Элемент конфигурации: .