при попытке обновления получаем стандартную ошибку ключей.
1.1. Обычно достаточно этого: (все делаю от рута)
pacman-mirrors --fasttrack
rm -R /etc/pacman.d/gnupg
nano /etc/pacman.d/gnupg/gpg.conf (содержание файла ниже в п.1.2.)
pacman-key --init
pacman-key --populate archlinux manjaro
pacman-key --refresh-keys
pacman -Sc
cp -r /var/lib/pacman/sync/ /sync
rm -R /var/lib/pacman/sync/
pacman -Syyu
1.2. если на шаге
pacman-key —refresh-keys
возникает ошибка, то необходимо подправить или создать конфиг /etc/pacman.d/gnupg/gpg.conf
из предлагаемых по ссылке серверов sks-keyservers.net/overview-of-pools.php (в текущее время ссылка не рабочая, найду аналог — исправлю: из архива archive.is/TDOUP или прямо из исходников с гитхаба github.com/Sicaine/sks-keyserver-git/blob/master/overview-of-pools.php ) выбрать те, которые не требуют ipv6 и https (арч вики рекомендует keyserver hkp://keyserver.ubuntu.com )
в моем случае конфиг такой
no-greeting
no-permission-warning
lock-never
keyserver-options timeout=10
keyserver-options import-clean
keyserver-options no-self-sigs-only
keyserver hkp://keyserver.ubuntu.com
keyserver hkp://pool.sks-keyservers.net
keyserver hkp://pool.sks-keyservers.net:80
keyserver hkps://hkps.pool.sks-keyservers.net:443
keyserver hkp://ipv4.pool.sks-keyservers.net:11371
и заново повторить команду pacman-key —refresh-keys и далее по списку
2. если вышеприведенные команды не привели к успеху
отключаем проверку ключей в /etc/pacman.conf
раздел [options]
SigLevel = Never
Пробуем
pacman -Syyu
получаем «Unrecognized archive format» Error
на любом зеркале, например яндекс, выбираем самые новые файлы и устанавливаем их
pacman -U https://mirror.yandex.ru/mirrors/manjaro/pool/overlay/manjaro-keyring-20200603-1-any.pkg.tar.zst
pacman -U https://mirror.yandex.ru/mirrors/manjaro/pool/sync/archlinux-keyring-20200820-1-any.pkg.tar.zst
rm -f /var/lib/pacman/sync/*
pacman -Sy
pacman -Syu
дальше можно снова включить проверку ключей.
3.Если все работает удаляем директорию /synс эту резервную копию сделали в п.1.
Loading
Вопрос на рассмотрении
Вы сообщаете, что не можете использовать Pacman, как ожидалось, из-за следующей ошибки:
Как указал пользователь GAD3R, существуют известные исправления этой ошибки. Однако вы сообщаете, что они не работают. Причина этого в том, что управление ключами было испорчено. Вы не успели обновить систему или у вас есть что-то, вызывающее эту проблему.
Исправление брелоков
В этом ответе я буду ссылаться на несколько сообщений. Вам следует прочитать их полностью, прежде чем вносить какие-либо исправления. ссылка на пост от GAD3R действительно работает, просто вам могут понадобиться дополнительные шаги. Одна серия шагов, которые необходимо предпринять, описана здесь на форумах Manjaro. Вот еще одно возможное решение, которое я нашел на форумах Manjaro.
Первая попытка
Если это не сработает, вам может понадобиться более сложное решение.
Починка брелоков
По словам пользователя Chrysostomus на форумах Manjaro, вы должны быть в состоянии решить проблему с помощью этих команд.
sudo rm -r /etc/pacman.d/gnupg
sudo pacman -Sy gnupg archlinux-keyring manjaro-keyring
sudo pacman-key —init
sudo pacman-key —populate archlinux manjaro
sudo pacman-key —refresh-keys
sudo pacman -Sc
Затем попытайтесь запустить обновление. Chrysostomus сообщает, что если это не сработает, ваши пакеты могут быть повреждены. Чтобы исправить это, вам может понадобиться выполнить чистую установку с Manjaro ISO.
Альтернативное решение
Вот другой способ потенциального решения проблемы от пользователя stephane
sudo pacman-mirrors
sudo pacman -Syy
sudo pacman -S archlinux-keyring manjaro-keyring
sudo pacman-key —init
sudo pacman-key —populate archlinux manjaro
sudo pacman-key —refresh-keys
sudo pacman -Syu
Опять же, ваша проблема может заключаться в устаревших зеркалах, неактуальных или поврежденных пакетах. Вы можете попытаться решить эту проблему, убедившись, что ваш список зеркал полностью обновлен, прежде чем устанавливать Manjaro из последнего обновления.
Заключение
Вам необходимо обновить зеркала и брелоки. Возможно, вам придется удалить существующие ключи. Возможное объяснение заключается в том, что вы попали в неудобный период между датой выпуска и обновлением брелоков. Возможно, вам придется подождать выхода более нового ISO и переустановить систему с помощью этого ISO.
Пожалуйста, прокомментируйте, если у вас возникли вопросы или проблемы с этим ответом. Я ценю обратную связь, чтобы исправить любые заблуждения и улучшить свои сообщения. Я могу обновить свой ответ, если вы сообщите нам дополнительные подробности.
Желаю удачи!
Today, I deployed a new Arch Linux Container in my Proxmox VE server. When I tried to update the Arch Linux container using «pacman -Syyu
» command, I encountered with this error — «error: keyring is not writable. error: required key missing from keyring».
Here is the complete output:
[root@archlinuxct ~]# pacman -Syyu :: Synchronizing package databases... core 155.6 KiB 199 KiB/s 00:01 [########################################################] 100% extra 1742.4 KiB 3.22 MiB/s 00:01 [########################################################] 100% community 7.3 MiB 3.40 MiB/s 00:02 [########################################################] 100% :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Packages (69) acl-2.3.1-3 archlinux-keyring-20230225-1 audit-3.0.9-2 bash-5.1.016-3 brotli-1.0.9-10 bzip2-1.0.8-5 ca-certificates-mozilla-3.88.1-1 cryptsetup-2.6.1-1 curl-7.88.1-3 dbus-1.14.6-1 device-mapper-2.03.19-1 e2fsprogs-1.47.0-1 file-5.44-3 filesystem-2023.01.31-1 findutils-4.9.0-2 gawk-5.2.1-1 gcc-libs-12.2.1-2 glib2-2.74.5-1 glibc-2.37-2 gnutls-3.8.0-1 gpgme-1.18.0-2 grep-3.8-3 gzip-1.12-2 hwdata-0.367-1 iana-etc-20230105-1 icu-72.1-2 iproute2-6.2.0-2 iptables-1:1.8.9-1 iputils-20221126-1 krb5-1.20.1-1 less-1:608-2 libarchive-3.6.2-2 libcap-2.67-1 libedit-20210910_3.1-2 libelf-0.188-3 libgcrypt-1.10.1-2 libgpg-error-1.46-2 libksba-1.6.3-1 libldap-2.6.4-1 libnftnl-1.2.4-1 libnghttp2-1.52.0-1 libnl-3.7.0-3 libpcap-1.10.3-1 libpsl-0.21.2-1 libsasl-2.1.28-4 libsysprof-capture-3.46.0-4 libtirpc-1.3.3-2 libxcrypt-4.4.33-1 linux-api-headers-6.1.9-1 mpfr-4.2.0-3 nano-7.2-1 ncurses-6.4-1 openssh-9.2p1-1 openssl-3.0.8-1 pacman-mirrorlist-20230226-1 pciutils-3.9.0-2 pcre2-10.42-2 psmisc-23.6-1 readline-8.2.001-2 sed-4.9-2 shadow-4.13-2 sqlite-3.41.0-1 systemd-253-1 systemd-libs-253-1 systemd-sysvcompat-253-1 tzdata-2022g-2 xz-5.4.1-1 zlib-1:1.2.13-2 zstd-1.5.4-1 Total Installed Size: 415.55 MiB Net Upgrade Size: 2.57 MiB :: Proceed with installation? [Y/n] y (69/69) checking keys in keyring [########################################################] 100% warning: Public keyring not found; have you run 'pacman-key --init'? downloading required keys... error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: keyring is not writable error: required key missing from keyring error: failed to commit transaction (unexpected error) Errors occurred, no packages were upgraded. [root@archlinuxct ~]#
I tried to install archlinux-keyring package to solve the issue:
# pacman -S archlinux-keyring
But, no luck! I encountered with the same error. After a couple Google searches, I fixed the «error: required key missing from keyring» issue as shown below.
Run the following commands as root
user to fix «error: required key missing from keyring
« in Arch Linux and its variants like EndeavourOS and Manjaro Linux.
First, remove or reset all the keys installed in your system by removing the /etc/pacman.d/gnupg
directory as root
user:
# rm -r /etc/pacman.d/gnupg/
Next, run pacman-key --init
followed by pacman-key --populate
command to initialize the pacman keyring and re-add the default keys.
# pacman-key --init # pacman-key --populate archlinux # pacman-key --populate archlinux32
Please note that if you don’t use 32 bit system, you can skip the «pacman-key --populate archlinux32
» command.
Next, run the following command to manually update the keys.
# pacman-key --refresh-keys
While doing --refresh-keys
, your local key will also be looked up on the remote keyserver, and you will receive a message about it not being found. This is nothing to be concerned about. This will take several minutes to complete, so please be patient!
And then clean the package cache using command:
# pacman -Sc
Finally, update the software repository list and upgrade your Arch Linux by running the following command:
# pacman -Syyu
Now you will be able to upgrade your Arch Linux system without any issues. Hope this helps.
Reference Link:
- Arch Linux Forum
Manjaro — это непрерывный дистрибутив, то есть установите его один раз, и он будет обновляться навсегда. Таким образом, шансы на повреждение пакетов и источников репозитория меньше, но это может случиться редко. Если вы столкнулись с проблемами при обновлении Manjaro 17 и в итоге получаете сообщение «Невозможно обновить: подпись от…. является маргинальным доверием », выполните следующие действия, чтобы исправить ее. Это решение также должно работать при ошибке «недопустимый или поврежденный пакет».
Полная ошибка должна выглядеть примерно так:
ошибка: zstd: подпись из"***"является предельное доверие:: Файл / var / cache / pacman / pkg / zstd-1.3.1-1-x86_64.pkg.tar.xz является поврежден (недействителен или поврежденный пакет (подпись PGP)). хотите ли вы Удалить Это? [Y / n] ошибка: blosc: подпись из"***"является предельное доверие:: Файл / var / cache / pacman / pkg / blosc-1.12.1-1-x86_64.pkg.tar.xz является поврежден (недействителен или поврежденный пакет (подпись PGP)). хотите ли вы Удалить Это? [Y / n] ошибка: не удалось выполнить транзакцию (недействительно или поврежденный пакет) Произошли ошибки, нет пакеты были обновлены.
Исправление проблемы с обновлением Manjaro
ШАГ 1: Запустите «Терминал».
ШАГ 2: Введите следующие команды по одной, а затем нажмите клавишу ВВОД.
sudo pacman -S archlinux-keyring manjaro-keyring
sudo pacman-key --populate archlinux manjaro
sudo pacman-key --refresh-keys
Вот и все! Теперь вы можете обновить Manjaro. Решение сработало для вас? Дайте нам знать в комментариях ниже.