Вопрос или проблема
При запуске на 18.04, когда я пытаюсь sudo do-release-upgrade -d
, я получаю следующую ошибку :
подтвердить 'focal.tar.gz' по 'focal.tar.gz.gpg'
Аутентификация не удалась
Аутентификация обновления не удалась. Может быть проблема с сетью или с сервером.
Я видел множество сообщений о переустановке sudo apt-get install --reinstall ubuntu-keyring
Что я и сделал, без результата.
Я вручную скачал focal.tar.gz и focal.tar.gz.gpg с http://mirrors.linode.com/ubuntu/dists/focal-proposed/main/dist-upgrader-all/20.04.18/
Я выполнил проверку gpg
gpg --receive-keys 871920D1991BC93C
gpg --receive-keys 3B4FE6ACC0B21F32
gpg --verify focal.tar.gz.gpg focal.tar.gz
Выглядит успешно (с предупреждениями, но по крайней мере совпадает)
gpg: Подпись сделана ср. 08 апреля 2020 19:38:12 CEST
gpg: с использованием RSA ключа 3B4FE6ACC0B21F32
gpg: Хорошая подпись от "Ubuntu Archive Automatic Signing Key (2012) <[email protected]>" [неизвестно]
gpg: ПРЕДУПРЕЖДЕНИЕ: Этот ключ не сертификат с доверенной подписью!
gpg: Нет указания на то, что подпись принадлежит владельцу.
Основной ключ отпечаток: 790B C727 7767 219C 42C8 6F93 3B4F E6AC C0B2 1F32
gpg: Подпись сделана ср. 08 апреля 2020 19:38:12 CEST
gpg: с использованием RSA ключа 871920D1991BC93C
gpg: Хорошая подпись от "Ubuntu Archive Automatic Signing Key (2018) <[email protected]>" [неизвестно]
gpg: ПРЕДУПРЕЖДЕНИЕ: Этот ключ не сертификат с доверенной подписью!
gpg: Нет указания на то, что подпись принадлежит владельцу.
Основной ключ отпечаток: F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93C
Не знаю, что еще попробовать, чтобы обновление приняло файл и процесс продолжился.
Я не хочу следовать этому предложению: вручную изменить определение источников, https://stackoverflow.com/questions/62388015/authenticating-the-upgrade-failed-there-may-be-a-problem-with-the-network-or-wi
Я запускаю этот ubuntu как ‘тест на поддерживаемость для любого пользователя’, так что мой вызов здесь не использовать обходные пути. Для этого мой основной ПК работает на Arch 😉
Итак, я ищу способ, который будет как можно проще для объяснения и воспроизведения.
Спасибо!
Примечание
Я мог бы вручную поработать с apt-key
gpg --receive-keys 3B4FE6ACC0B21F32
gpg --receive-keys 871920D1991BC93C
gpg --export 790BC7277767219C42C86F933B4FE6ACC0B21F32 > 1.gpg
gpg --export F6ECB3762474EDA9D21B7022871920D1991BC93C > 2.gpg
sudo apt-key add 1.gpg
sudo apt-key add 2.gpg
но это не то, что я должен делать …. так ли это?
И даже так, это позже завершается ошибкой с
Обновление информации о репозиториях
Перейти к http://www-ftp.lip6.fr/pub/linux/distributions/Ubuntu/archive focal InRelease
Перейти к http://www-ftp.lip6.fr/pub/linux/distributions/Ubuntu/archive focal-security InRelease
Перейти к http://archive.canonical.com/ubuntu focal InRelease
Получено 0 B за 0s (0 B/s)
(appstreamcli:1444): GLib-CRITICAL **: 19:08:37.593: g_variant_builder_end: assertion '!GVSB(builder)->uniform_item_types || GVSB(builder)->prev_item_type != NULL || g_variant_type_is_definite (GVSB(builder)->type)' failed
(appstreamcli:1444): GLib-CRITICAL **: 19:08:37.593: g_variant_new_variant: assertion 'value != NULL' failed
(appstreamcli:1444): GLib-ERROR **: 19:08:37.594: g_variant_new_parsed: 11-13:invalid GVariant format string
Trace/breakpoint trap (core dumped)
Я могу подождать выхода 20.04.1, но… это странное поведение.
Похоже, информация о репозитории не найдена, см. Получено 0 B за 0s (0 B/s)
, но когда я вручную просматриваю репозиторий, там все есть.
Я пытался обновить с 18.04 до 20.04 и получил ту же ошибку.
Проблема заключалась в том, что канал ‘bionic-updates’ не был активен в моем /etc/apt/sources.list
у меня были только ‘bionic’ и ‘bionic-security’.
После добавления строки в sources.list:
deb http://hu.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
sudo apt update && sudo apt dist-upgrade
установил около 300+ пакетов, и после этого do-release-upgrade
сработал.
Сегодня мы столкнулись с этим сообщением об ошибке на нескольких серверах, все с различными установленными пакетами и пользовательскими списками источников.
После тестирования различных подходов (перечисленных здесь и в других темах), что сработало для всех серверов, это было вручную обновить до последних версий пакетов, затем удалить списки источников, а затем выполнить do-release-upgrade.
Я настоятельно рекомендую создать резервную копию папки источников перед удалением файлов.
sudo apt update
sudo apt upgrade -y
sudo rm /etc/apt/sources.list.d/*
sudo do-release-upgrade
Теперь я получаю это :
(appstreamcli:15661): GLib-CRITICAL **: 10:32:27.652: g_variant_builder_end: assertion '!GVSB(builder)->uniform_item_types || GVSB(builder)->prev_item_type != NULL || g_variant_type_is_definite (GVSB(builder)->type)' failed
(appstreamcli:15661): GLib-CRITICAL **: 10:32:27.652: g_variant_new_variant: assertion 'value != NULL' failed
(appstreamcli:15661): GLib-ERROR **: 10:32:27.652: g_variant_new_parsed: 11-13:invalid GVariant format string
Trace/breakpoint trap (core dumped)
Перейти к http://archive.ubuntu.com/ubuntu focal InRelease
Получено 0 B за 0s (0 B/s)
… 🙁
Мне интересно, как это произошло, но я в итоге удалил appstream
apt-get remove appstream
, что должно было вызвать много проблем, но НЕТ: было удалено нормально.
вот это да.
Процесс обновления в пути. Держу пальцы скрещенными (и резервация сделана)
…
в итоге произошел полный сбой во время обновления.
Переустановил с нуля.
Я только что столкнулся с точно таким же сообщением об ошибке, когда пытался выполнить do-release-upgrade с Bionic (до Focal).
В моем случае это было ‘исправлено’ обходом прокси, который я обычно использую (apt-cacher-ng).
Возможно, устаревший/плохой файл в кэше не соответствовал тому, что было в реальных репозиториях.
В моем случае была иностранная архитектура, которая каким-то образом блокировала обновление:
marcos@nubes:~$ dpkg --print-foreign-architectures
i386
marcos@nubes:~$ dpkg -l | grep i386 # Нет пакетов
marcos@nubes:~$ sudo dpkg --remove-architecture i386
marcos@nubes:~$ sudo apt update
marcos@nubes:~$ sudo do-release-upgrade
[успешно]
Никакие другие ответы не сработали для меня. Что наконец помогло мне преодолеть неудачную аутентификацию, это:
sudo apt-get install --reinstall ubuntu-keyring
Ответ или решение
Ошибка, с которой вы столкнулись при попытке обновления с Ubuntu 18.04 до 20.04 (Focal Fossa) — это довольно распространённая проблема, касающаяся аутентификации пакетов через GPG. Давайте рассмотрим, почему возникает данная ошибка и как её можно устранить.
Понимание проблемы
Ошибки аутентификации, как эта:
authenticate 'focal.tar.gz' against 'focal.tar.gz.gpg'
Authentication failed
обычно свидетельствуют о том, что система не может подтвердить целостность и подлинность загружаемого пакета или репозитория. Это может происходить по нескольким причинам:
- Неверные ключи GPG: Ключи, используемые для подписи пакетов, могут отсутствовать или быть повреждены.
- Проблемы с сетью: Временно недоступные репозитории или неполадки с вашим подключением могут вызвать ошибки.
- Ошибки в конфигурации APT: Неправильные настройки в файле
/etc/apt/sources.list
могут мешать корректному обновлению.
Шаги по решению проблемы
1. Проверка и обновление ключей GPG
Вы уже попробовали переустановить ubuntu-keyring
, но стоит убедиться, что ключи, необходимые для аутентификации, правильно загружены. Пример шагов:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
После этого рекомендуется обновить списки пакетов:
sudo apt update
2. Убедитесь, что все репозитории включены
Как вы правильно заметили, некоторые важные репозитории могут быть отключены. Проверьте ваш файл /etc/apt/sources.list
на наличие неактивных источников. Если вы не видите строки, содержащие bionic-updates
, добавьте её.
deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ bionic-security main restricted
Затем выполните:
sudo apt update
sudo apt dist-upgrade
3. Очистка кеша APT
Бывает, что старые или повреждённые файлы в кешах могут исказить процесс обновления. Попробуйте очистить кеш:
sudo apt clean
sudo apt autoremove
4. Удаление проблемных пакетов
Ошибка с appstreamcli
, которая также проявилась у вас, может указывать на наличие конфликтующих или неправильно установленных пакетов. Попробуйте удалить appstream
(как вы уже сделали) и другие возможные проблемные пакеты.
5. Проверка архитектур и зависимостей
Если на вашей системе установлены вещи, относящиеся к другим архитектурам (например, i386
), это может создать проблемы. Убедитесь, что все архитектуры, не требуемые для вашей системы, удалены:
sudo dpkg --remove-architecture i386
6. Попробуйте другую сеть или прокси
Если вы используете прокси-сервер, попробуйте отключить его, чтобы устранить возможные проблемы с кешем:
sudo nano /etc/apt/apt.conf.d/proxy.conf
# Закомментируйте или удалите строки с proxy
Заключение
После выполнения всех вышеуказанных шагов попробуйте снова запустить процесс обновления:
sudo do-release-upgrade
Теперь вы должны быть готовы продолжить процесс обновления без ошибок аутентификации. Если проблема по-прежнему не устранена, возможно, стоит рассмотреть возможность использования do-release-upgrade -d
, однако внимательно изучите сообщения об ошибках, которые могут помочь в дальнейшем устранении проблемы.
Не забудьте сделать резервное копирование важных данных перед проведением аналогичных операций!