Как обновить MSYS2 при ошибке - неизвестный ключ
Если вы не обновляли MSYS2 на своём ПК с начала июня 2020 года, при попытке обновления вы получите такую ошибку:
ошибка: mingw64: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"
В этой статье мы рассмотрим причины данной ошибки, а так же способы ее исправления.
При попытке запустить обновление вы увидите следующее:
$ pacman -Syu
:: Обновление баз данных пакетов...
mingw32 537,8 KiB 310K/s 00:02 [#####################] 100%
mingw32.sig 438,0 B 0,00B/s 00:00 [#####################] 100%
ошибка: mingw32: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"
ошибка: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
ошибка: не удалось обновить mingw32 (неверная или поврежденная база данных(PGP-подпись))
mingw64 539,5 KiB 372K/s 00:01 [#####################] 100%
mingw64.sig 438,0 B 0,00B/s 00:00 [#####################] 100%
ошибка: mingw64: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"
ошибка: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
ошибка: не удалось обновить mingw64 (неверная или поврежденная база данных(PGP-подпись))
msys 213,4 KiB 244K/s 00:01 [#####################] 100%
msys.sig 438,0 B 0,00B/s 00:00 [#####################] 100%
ошибка: msys: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"
ошибка: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
ошибка: не удалось обновить msys (неверная или поврежденная база данных(PGP-подпись))
ошибка: failed to synchronize all databases
Вы даже не сможете установить новый пакет:
$ pacman -S git
ошибка: mingw32: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"
ошибка: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
ошибка: mingw64: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"
ошибка: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
ошибка: msys: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"
ошибка: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
ошибка: база данных 'mingw32' недействительна или повреждена (неверная или поврежденная база данных(PGP-подпись))
ошибка: база данных 'mingw64' недействительна или повреждена (неверная или поврежденная база данных(PGP-подпись))
ошибка: база данных 'msys' недействительна или повреждена (неверная или поврежденная база данных(PGP-подпись))
В чем же дело? Поиск в интернете привёл меня на сайт разработчиков MSYS2 - https://www.msys2.org/news/#2020-06-29-new-packagers
Оказалось, что Alexey Pavlov (Alexpux) <alexpux@gmail.com>; больше не занимается подписанием пакетов, соответственно его ключ был отозван, так что нам нужно обновить PGP ключи MSYS2.
Для этого введем следующие команды
$ curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
$ curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
$ pacman -U --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
И, на всякий случай, очистим хранилище PGP ключей и обновим его содержимое:
$ rm -r /etc/pacman.d/gnupg/
$ pacman-key --init
$ pacman-key --populate msys2
После этого запускаем обновление:
pacman -Syu
Обязательно, перезагрузите ПК, иначе консоль не запуститься после обновления pacman.
После перезагрузки запускаем обновление пакетов:
$ pacman -Su
:: Starting core system upgrade...
делать больше нечего
:: Запускается полное обновление системы...
:: Заменить msys2-launcher-git на msys/msys2-launcher? [Y/n] y
:: Заменить perl-IO-stringy на msys/perl-IO-Stringy? [Y/n] y
разрешение зависимостей...
проверка конфликтов...
Пакеты (127) asciidoc-9.0.1-1 automake1.10-1.10.3-4 automake1.11-1.11.6-4
automake1.12-1.12.6-4 automake1.13-1.13.4-5
automake1.14-1.14.1-4 automake1.15-1.15.1-2
automake1.16-1.16.2-2 automake1.6-1.6.3-3 automake1.7-1.7.9-3
automake1.8-1.8.5-4 automake1.9-1.9.6-3 bison-3.6.4-1
bsdcpio-3.4.3-1 bsdtar-3.4.3-1 btyacc-20200330-1 curl-7.71.1-1
dash-0.5.11.1-2 db-5.3.28-3 file-5.39-1 gdb-9.2-2
gdbm-1.18.1-3 git-2.27.0-1 gnupg-2.2.21-1 gperf-3.1-2
heimdal-7.7.0-2 heimdal-libs-7.7.0-2 help2man-1.47.15-1
icu-67.1-1 info-6.7-2 lemon-3.32.3-1 libarchive-3.4.3-1
libcurl-7.71.1-1 libdb-5.3.28-3 libgc-8.0.4-1 libgcrypt-1.8.6-1
libgdbm-1.18.1-3 libgnutls-3.6.14-1 libgpg-error-1.38-1
libgpgme-1.14.0-1 libhogweed-3.6-1 libksba-1.4.0-1
libmetalink-0.1.3-3 libnettle-3.6-1 libnghttp2-1.41.0-1
libopenssl-1.1.1.g-3 libpcre2_8-10.35-1 libsqlite-3.32.3-1
libunrar-5.9.4-1 libunrar-devel-5.9.4-1 libutil-linux-2.35.2-1
libxml2-2.9.10-5 libyaml-0.2.5-1 libzstd-1.4.5-2 man-db-2.9.3-1
mercurial-5.4.2-1 mingw-w64-x86_64-binutils-2.35-1
mingw-w64-x86_64-ca-certificates-20200601-1
mingw-w64-x86_64-clang-10.0.1-1
mingw-w64-x86_64-crt-git-8.0.0.5966.f5da805f-1
mingw-w64-x86_64-dbus-1.12.18-1
mingw-w64-x86_64-fontconfig-2.13.92-2
mingw-w64-x86_64-gcc-10.2.0-1 mingw-w64-x86_64-gcc-ada-10.2.0-1
mingw-w64-x86_64-gcc-fortran-10.2.0-1
mingw-w64-x86_64-gcc-libgfortran-10.2.0-1
mingw-w64-x86_64-gcc-libs-10.2.0-1
mingw-w64-x86_64-gcc-objc-10.2.0-1 mingw-w64-x86_64-gdb-9.2-1
mingw-w64-x86_64-gettext-0.19.8.1-9
mingw-w64-x86_64-glib2-2.64.5-1 mingw-w64-x86_64-harfbuzz-2.7.1-1
mingw-w64-x86_64-headers-git-8.0.0.5966.f5da805f-1
mingw-w64-x86_64-lcms2-2.11-1
mingw-w64-x86_64-libgpg-error-1.38-1
mingw-w64-x86_64-libjpeg-turbo-2.0.5-1
mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1
mingw-w64-x86_64-libxml2-2.9.10-4 mingw-w64-x86_64-llvm-10.0.1-1
mingw-w64-x86_64-mpc-1.2.0-1 mingw-w64-x86_64-mpdecimal-2.5.0-1
mingw-w64-x86_64-mpfr-4.1.0-2 mingw-w64-x86_64-python-3.8.5-1
mingw-w64-x86_64-qt-creator-4.12.4-1
mingw-w64-x86_64-qt5-5.15.0-1 mingw-w64-x86_64-sqlite3-3.33.0-1
mingw-w64-x86_64-termcap-1.3.1-6
mingw-w64-x86_64-tools-git-8.0.0.5903.3310d459-1
mingw-w64-x86_64-vulkan-headers-1.2.148-1
mingw-w64-x86_64-vulkan-loader-1.2.148-1
mingw-w64-x86_64-winpthreads-git-8.0.0.5906.c9a21571-1
mingw-w64-x86_64-winstorecompat-git-8.0.0.5903.3310d459-1
mingw-w64-x86_64-xxhash-0.7.4-1 mingw-w64-x86_64-zstd-1.4.5-1
mpdecimal-2.5.0-1 mpfr-4.1.0-1 msys2-launcher-1.0-1
msys2-launcher-git-0.3.32.56c2ba7-2 [удаление] nettle-3.6-1
openssh-8.3p1-1 openssl-1.1.1.g-3 perl-5.32.0-2
perl-Clone-0.45-1 perl-HTML-Parser-3.72-6
perl-HTTP-Daemon-6.12-1 perl-HTTP-Message-6.25-2
perl-IO-HTML-1.001-1 perl-IO-Socket-SSL-2.068-1
perl-IO-Stringy-2.113-1 perl-IO-stringy-2.111-1 [удаление]
perl-LWP-MediaTypes-6.04-1 perl-Locale-Gettext-1.07-6
perl-Net-SSLeay-1.89_01-2 perl-TermReadKey-2.38-2
perl-TimeDate-2.33-1 perl-XML-Parser-2.46-2
perl-YAML-Syck-1.32-3 perl-libwww-6.46-1 python-3.8.5-5
reflex-20200715-1 swig-4.0.2-1 texinfo-6.7-2 texinfo-tex-6.7-2
unrar-5.9.4-1 util-linux-2.35.2-1 vim-8.2.1522-2 zstd-1.4.5-2
Будет загружено: 888,35 MiB
Будет установлено: 4327,67 MiB
Изменение размера: -853,21 MiB
:: Приступить к установке? [Y/n]
Вот и всё. Теперь обновление и установка пакетов будут снова работать!
Заключение
Сегодня мы рассмотрели устранение проблемы с обновлением MSYS2 из за отозванных ключей разработчика.
Загрузили новые PGP ключи.
Очистили хранилище ключей и заново его проинициализировали.
Добавить комментарий