Error keyring is not writable

Pacstrap ist failing for me with "error: keyring is not writable" (see log below for more details). This is in archiso using an automated script. Sometimes the installation fails with that error, most of the time it works. If I run pacstrap again in the same shell, it works fine. I did not change anything about the VM in between installation runs.

Pacstrap ist failing for me with «error: keyring is not writable» (see log below for more details). This is in archiso using an automated script. Sometimes the installation fails with that error, most of the time it works. If I run pacstrap again in the same shell, it works fine. I did not change anything about the VM in between installation runs.

Installation script (run via script=)

#!/usr/bin/sh -ex

loadkeys de

parted -s /dev/sda mklabel gpt mkpart "EFI_system_partition" fat32 1MiB 501MiB set 1 esp on mkpart "root" ext4 501MiB 100%

mkfs.fat -F 32 /dev/sda1
mkfs.ext4 /dev/sda2

mount /dev/sda2 /mnt
mount --mkdir /dev/sda1 /mnt/boot

pacstrap -K /mnt base linux linux-firmware openssh nano

Log:

+ mount /dev/sda2 /mnt
+ mount --mkdir /dev/sda1 /mnt/boot
+ pacstrap -K /mnt base linux linux-firmware openssh nano
==> Creating install root at /mnt
gpg: /mnt/etc/pacman.d/gnupg/trustdb.gpg: trustdb created
gpg: no ultimately trusted keys found
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/mnt/etc/pacman.d/gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
==> Generating pacman master key. This may take some time.
gpg: Generating pacman keyring master key...
gpg: directory '/mnt/etc/pacman.d/gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/mnt/etc/pacman.d/gnupg/openpgp-revocs.d/B0BF58B34AC4154FB1F3ED50FE024B71BC78F08F.rev'
gpg: Done
==> Updating trust database...
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
==> Installing packages to /mnt
:: Synchronizing package databases...
 core                                                                152.1 KiB  1383 KiB/s 00:00 [########################################################] 100%
 extra                                                              1744.5 KiB  24.3 MiB/s 00:00 [########################################################] 100%
 community                                                             7.2 MiB  31.3 MiB/s 00:00 [########################################################] 100%
resolving dependencies...
:: There are 3 providers available for initramfs:
:: Repository core
   1) mkinitcpio
:: Repository extra
   2) booster  3) dracut

Enter a number (default=1):
looking for conflicting packages...

Packages (126) acl-2.3.1-2  archlinux-keyring-20221220-1  argon2-20190702-4  attr-2.5.1-2  audit-3.0.9-1  bash-5.1.016-1  binutils-2.40-2  brotli-1.0.9-9
               bzip2-1.0.8-5  ca-certificates-20220905-1  ca-certificates-mozilla-3.87-1  ca-certificates-utils-20220905-1  coreutils-9.1-3  cryptsetup-2.6.0-1
               curl-7.87.0-3  dbus-1.14.4-1  device-mapper-2.03.18-4  diffutils-3.8-1  dnssec-anchors-20190629-3  e2fsprogs-1.46.5-4  expat-2.5.0-1
               file-5.44-1  filesystem-2022.10.18-1  findutils-4.9.0-1  gawk-5.2.1-1  gcc-libs-12.2.1-1  gdbm-1.23-1  gettext-0.21.1-2  glib2-2.74.5-1
               glibc-2.36-7  gmp-6.2.1-2  gnupg-2.2.40-1  gnutls-3.7.8-4  gpgme-1.18.0-2  grep-3.8-2  gzip-1.12-1  hwdata-0.366-1  iana-etc-20221215-1
               icu-72.1-2  iproute2-6.1.0-3  iptables-1:1.8.8-2  iputils-20221126-1  jansson-2.14-2  json-c-0.16-1  kbd-2.5.1-1  keyutils-1.6.3-1  kmod-30-3
               krb5-1.20.1-1  ldns-1.8.3-2  less-1:608-1  libarchive-3.6.2-2  libassuan-2.5.5-1  libbpf-1.0.1-1  libcap-2.66-1  libcap-ng-0.8.3-1
               libedit-20210910_3.1-2  libelf-0.188-2  libevent-2.1.12-4  libffi-3.4.4-1  libgcrypt-1.10.1-2  libgpg-error-1.46-2  libidn2-2.3.4-3
               libksba-1.6.3-1  libldap-2.6.3-2  libmnl-1.0.5-1  libnetfilter_conntrack-1.0.9-1  libnfnetlink-1.0.2-1  libnftnl-1.2.4-1  libnghttp2-1.51.0-1
               libnl-3.7.0-1  libp11-kit-0.24.1-1  libpcap-1.10.3-1  libpsl-0.21.2-1  libsasl-2.1.28-3  libseccomp-2.5.4-1  libsecret-0.20.5-2
               libssh2-1.10.0-3  libsysprof-capture-3.46.0-3  libtasn1-4.19.0-1  libtirpc-1.3.3-2  libunistring-1.1-2  libverto-0.3.2-4  libxcrypt-4.4.33-1
               libxml2-2.10.3-2  licenses-20220125-1  linux-api-headers-5.18.15-1  linux-firmware-whence-20230117.7e4f0ed-1  lz4-1:1.9.4-1  mkinitcpio-34-2
               mkinitcpio-busybox-1.35.0-1  mpfr-4.2.0-2  ncurses-6.4-1  nettle-3.8.1-1  npth-1.6-3  openssl-3.0.7-4  p11-kit-0.24.1-1  pacman-6.0.2-5
               pacman-mirrorlist-20221204-1  pam-1.5.2-1  pambase-20221020-1  pciutils-3.9.0-2  pcre2-10.40-3  pinentry-1.2.1-1  popt-1.19-1
               procps-ng-3.3.17-1  psmisc-23.6-1  readline-8.2.001-1  sed-4.9-1  shadow-4.13-2  sqlite-3.40.1-1  systemd-252.4-2  systemd-libs-252.4-2
               systemd-sysvcompat-252.4-2  tar-1.34-1  tpm2-tss-3.2.0-3  tzdata-2022g-1  util-linux-2.38.1-1  util-linux-libs-2.38.1-1  xz-5.4.1-1
               zlib-1:1.2.13-2  zstd-1.5.2-7  base-3-1  linux-6.1.8.arch1-1  linux-firmware-20230117.7e4f0ed-1  nano-7.2-1  openssh-9.1p1-3

Total Download Size:   467.04 MiB
Total Installed Size:  887.97 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages...
 linux-firmware-20230117.7e4f0ed-1-any                               170.2 MiB  21.2 MiB/s 00:08 [########################################################] 100%
 linux-6.1.8.arch1-1-x86_64                                          164.1 MiB  12.2 MiB/s 00:13 [########################################################] 100%
 gcc-libs-12.2.1-1-x86_64                                             33.9 MiB  14.4 MiB/s 00:02 [########################################################] 100%
(... removed, see paste ...)
 base-3-1-any                                                          2.2 KiB   319 KiB/s 00:00 [########################################################] 100%
 ca-certificates-20220905-1-any                                        2.0 KiB   289 KiB/s 00:00 [########################################################] 100%
 Total (126/126)                                                     467.0 MiB  15.3 MiB/s 00:31 [########################################################] 100%
(126/126) 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
(... repeates removed, see paste ...)
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.
==> ERROR: Failed to install packages to new root

The disk is writable and working fine. Pacstrap was able to create various files on it.

(full log: https://bpa.st/6UIOY)

For comparison, a log of a working installation within the same VM: https://bpa.st/WFD7G

Any hints on how to debug this further?

Hi all, I’m looking for a modern distro for my Vortex86EX board, which lacks CMOV* instructions (i.e. i586).
Much to my surprise, there is still a well-maintained i486 fork after Arch Linux dropped i686 support for years.
Thanks to everyone who has supported this great project!

I downloaded the latest i486 snapshot archlinux32-2021.07.16-i486.iso to test it in QEMU, and the live CD booted smoothly on an emulated 486DX.
However, the pacstrap process was not straightforward:

# pacstrap /mnt base linux

=> Creating install root at /mnt
=> Installing packages to /mnt

...

(113/113) checking keys in keyring
downloading required keys...
error: keyring is not writable
error: keyring is not writable
error: required key is missing from keyring
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.
=> ERROR: Failed to install packages to new root

After some trail and error, I managed to workaround the readonly iso9660 filesystem with an overlayfs:

# mkdir /tmp/upperdir /tmp/workdir
# mount -t overlay overlay -o lowerdir=/etc/pacman.d/gnupg,upperdir=/tmp/upperdir,workdir=/tmp/workdir /etc/pacman.d/gnupg
# pacstrap /mnt base linux

I once installed the (upstream amd64) Arch Linux on my PC with the live CD, and did not meet similar problems.
I’m still feeling puzzled.  Could this be an archlinux32-specific issue?

Last edited by Arnie97 (2021-11-25 20:10:32)

#
2 года, 8 месяцев назад

(отредактировано

2 года, 8 месяцев назад)

wh75er avatar

Темы:

17

Сообщения:

86

Участник с: 25 февраля 2017

Обновил систему после очень долго перерыва через

sudo pacman -Syu

Все вроде прошло без ошибок, только почему-то зеркала при установке пакетов не сразу подхватываются(вначале выскакивает ошибка, о том, что не получилось достать пакет на зеркале), а так же ключи не обновляются, ибо один из пакетов хотел заимпортить ключ, но я получил следующую ошибку


==> PGP keys need importing:
 -> CB9...D84, required by: phonon-qt4
==> Import? [Y/n]
:: Importing keys with gpg......
gpg: keyserver receive failed: General error
==> Error: Problem importing keys

Пытался обновить ключи через


sudo pacman-key --refresh-keys
gpg: refreshing 116 keys from hkps://hkps.pool.sks-keyservers.net
gpg: keyserver refresh failed: General error
==> ERROR: A specified local key could not be updated from a keyserver.

Помогите решить проблему

redix

#
2 года, 8 месяцев назад

redix avatar

Темы:

34

Сообщения:

3433

Участник с: 11 марта 2013

# pacman-key --init
# pacman-key --populate archlinux
# pacman-key --refresh-keys

Добавить ключ

gpg --keyserver keys.gnupg.net --recv-keys ваш_ключ

In Tux We Trust

RusWolf

#
2 года, 8 месяцев назад

(отредактировано

2 года, 8 месяцев назад)

RusWolf avatar

Темы:

11

Сообщения:

2413

Участник с: 16 июля 2016

Обновление ключей:
# pacman-key —init
# pacman-key —refresh-keys
# pacman-key —populate archlinux

мля. опоздал :)

redix

#
2 года, 8 месяцев назад

redix avatar

Темы:

34

Сообщения:

3433

Участник с: 11 марта 2013

Могу уступить первенство. )

In Tux We Trust

RusWolf

#
2 года, 8 месяцев назад

RusWolf avatar

Темы:

11

Сообщения:

2413

Участник с: 16 июля 2016

redix
Могу уступить первенство. )

не-не, всё должно быть по честному :)

vs220

#
2 года, 8 месяцев назад

Темы:

22

Сообщения:

8090

Участник с: 16 августа 2009

Зеркала попробуйте обновить на актуальные в /etc/pacman.d/mirrorlist

Список актуальных https://www.archlinux.org/mirrorlist/
Потом

sudo pacman -Syy
sudo  pacman-key --populate archlinux
sudo pacman -Syu

если не поможет смотрите
https://wiki.archlinux.org/index.php/Pacman/Package_signing#Troubleshooting

wh75er

#
2 года, 8 месяцев назад

wh75er avatar

Темы:

17

Сообщения:

86

Участник с: 25 февраля 2017

redix

# pacman-key --init
# pacman-key --populate archlinux
# pacman-key --refresh-keys

Добавить ключ

gpg --keyserver keys.gnupg.net --recv-keys ваш_ключ

не помогло

sudo pacman-key --init
sudo pacman-key --populate archlinux
==> Appending keys from archlinux.gpg...
==> Locally signing trusted keys in keyring...
  -> Locally signing key D8AFDDA07A5B6EDFA7D8CCDAD6D052345F927843F1C...
  -> Locally signing key DDB867B92AA789C165E43EFA799B729B06A680C281...
  -> Locally signing key 91FFE0700E80619CEB42373235CA88E23E377514E00...
  -> Locally signing key 0E8B644079F592349DFC1DDC3973348882F6AC6A4C2...
  -> Locally signing key AB19265E5D2347D20687D303246BA1DFB64FFF979E7...
==> Importing owner trust values...
==> Disabling revoked keys in keyring...
  -> Disabling key 8F76BEEA0289F9234E1234D3E229C05F946DED983D4366...
  -> Disabling key 63F342395DE2D6398423BBE458F281F2DBB4931985A992...
...
  -> Disabling key D4DE5ABDE2A7223487644EAC7E3566D1A9E70E19DAA50...
  -> Disabling key 44D4A033AC14123601439277397D47EFD567D4C7EA887...
==> Updating trust database...
gpg: next trustdb check due at 2020-05-31

sudo pacman-key --refresh-keys
gpg: refreshing 116 keys from hkps://hkps.pool.sks-keyservers.net
gpg: keyserver refresh failed: General error
==> ERROR: A specified local key could not be updated from a keyserver.

vs220

#
2 года, 8 месяцев назад

Темы:

22

Сообщения:

8090

Участник с: 16 августа 2009

Зеркала

sudo pacman -Syy
sudo  pacman-key --populate archlinux
sudo pacman -S  archlinux-keyring
sudo pacman-key --refresh-keys --keyserver hkp://pool.sks-keyservers.net
sudo pacman -Syu

?

wh75er

#
2 года, 8 месяцев назад

wh75er avatar

Темы:

17

Сообщения:

86

Участник с: 25 февраля 2017

vs220
Зеркала

sudo pacman -Syy
sudo  pacman-key --populate archlinux
sudo pacman -S  archlinux-keyring
sudo pacman-key --refresh-keys --keyserver hkp://pool.sks-keyservers.net
sudo pacman -Syu

?

Все, проблема с зеркалами ушла, когда я добавил файл более новый mirrorlist, но с ключами таже проблема.

Попробовал сделать


sudo pacman -Sc

Не помогло. Сейчас попробую сделать предложенное

vs220

#
2 года, 8 месяцев назад

Темы:

22

Сообщения:

8090

Участник с: 16 августа 2009

wh75er
но с ключами таже проблема

Обновление идет? Или на ключи ругается?

I’m very new to Ruby etc so please consider this in any replies :D

I’m trying to install Rails on my PC and I’m being hit with the above error.

There is another answer to this question (error installing sqlite3 Public Keyring not found) but after working out how to install the mingw64 shell and resetting the pacman keystore, I’m still getting the same error.

Here’s where it all went wrong:

Installing sqlite3 1.4.2 with native extensions
warning: Public keyring not found; have you run 'pacman-key --init'?
error: mingw32: key "5F944B027F7FE2091985AA2EFA11531AA0AA7F57" is unknown
error: keyring is not writable
error: mingw64: key "5F944B027F7FE2091985AA2EFA11531AA0AA7F57" is unknown
error: keyring is not writable
error: ucrt64: key "5F944B027F7FE2091985AA2EFA11531AA0AA7F57" is unknown
error: keyring is not writable
error: clang64: key "5F944B027F7FE2091985AA2EFA11531AA0AA7F57" is unknown
error: keyring is not writable
error: msys: key "5F944B027F7FE2091985AA2EFA11531AA0AA7F57" is unknown
error: keyring is not writable
error: database 'mingw32' is not valid (invalid or corrupted database (PGP signature))
error: database 'mingw64' is not valid (invalid or corrupted database (PGP signature))
error: database 'ucrt64' is not valid (invalid or corrupted database (PGP signature))
error: database 'clang64' is not valid (invalid or corrupted database (PGP signature))
error: database 'msys' is not valid (invalid or corrupted database (PGP signature))
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/sqlite3-1.4.2/ext/sqlite3
C:/Ruby30-x64/bin/ruby.exe -I C:/Ruby30-x64/lib/ruby/3.0.0 -r
./siteconf20211116-149712-azfuy1.rb extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby30-x64/bin/$(RUBY_BASE_NAME)
        --with-sqlcipher
        --without-sqlcipher
        --with-sqlite3-config
        --without-sqlite3-config
        --with-pkg-config
        --without-pkg-config
        --with-sqlcipher
        --without-sqlcipher
        --with-sqlite3-dir
        --without-sqlite3-dir
        --with-sqlite3-include
        --without-sqlite3-include=${sqlite3-dir}/include
        --with-sqlite3-lib
        --without-sqlite3-lib=${sqlite3-dir}/lib

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

C:/Ruby30-x64/lib/ruby/gems/3.0.0/extensions/x64-mingw32/3.0.0/sqlite3-1.4.2/mkmf.log

extconf failed, exit code 1

And here is the mkmf.log

"pkg-config --exists sqlite3"
package configuration for sqlite3 is not found
find_header: checking for sqlite3.h... -------------------- no

"gcc -o conftest.exe -IC:/Ruby30-x64/include/ruby-3.0.0/x64-mingw32 -IC:/Ruby30-x64/include/ruby-3.0.0/ruby/backward -IC:/Ruby30-x64/include/ruby-3.0.0 -I. -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0600 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64  -O3 -fno-fast-math -fstack-protector-strong conftest.c  -L. -LC:/Ruby30-x64/lib -L. -pipe -s -fstack-protector-strong  -m64   -lx64-msvcrt-ruby300  -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi  "
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7:   return !!argv[argc];
8: }
/* end */

"gcc -E -IC:/Ruby30-x64/include/ruby-3.0.0/x64-mingw32 -IC:/Ruby30-x64/include/ruby-3.0.0/ruby/backward -IC:/Ruby30-x64/include/ruby-3.0.0 -I. -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0600 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64  -O3 -fno-fast-math -fstack-protector-strong  conftest.c -o conftest.i"
conftest.c:5:10: fatal error: sqlite3.h: No such file or directory
    5 | #include <sqlite3.h>
      |          ^~~~~~~~~~~
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: #include <sqlite3.h>
/* end */

--------------------

And this is the version of sqlite3 on my computer

sqlite3 --version
3.29.0 2019-07-10 17:32:03 fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88alt2

Any help would be greatly appreciated

при попытке обновления получаем стандартную ошибку ключей.
1. Обычно достаточно этого: (все делаю от рута)

pacman-mirrors --fasttrack
rm -R /etc/pacman.d/gnupg
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

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.

Автор топика запретил добавлять комментарии

Понравилась статья? Поделить с друзьями:
  • Error key does not exist
  • Error key does not contain a section user
  • Error key does not contain a section global git
  • Error key could not be looked up remotely
  • Error kernel security check failure