Получил для работы второй ноутбук — мелкий, попросил себе отдельный, что бы на митинги брать.
Решил туда накатить Manjaro Linux (клон Arch Linux с предустановленными GUI-свистелками) — и посмотреть что-как в Manjaro, и просто время на сетап Arch Linux с нуля тратить не хочу, потому как ноут нужен чисто для браузера, бОльшую часть времени будет пылиться на столе.
Начал запускать апдейт, и…
[setevoy@setevoy-asus-laptop ~]$ sudo pacman -Syu
...
:: Proceed with installation? [Y/n]
(413/413) checking keys in keyring [] 100%
downloading required keys...
:: Import PGP key 256E/C7E7849466FE2358343588377258734B41C31549, "David Runge <dvzrv@archlinux.org>", created: 2019-10-01? [Y/n] y
error: key "David Runge <dvzrv@archlinux.org>" could not be imported
error: required key missing from keyring
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.
Ну, а как же 🙂
Первый апдейт не может быть без приколов с устаревшими пакетами.
Раз плюнуть, подумал я — не первый раз.
Не выполняйте действия, описанные ниже — дочитайте до реальной причины.
Update archlinux-keyring
Первая мысль — обновить archlinux-keyring
, а он подтянет ключи:
sudo pacman -Sy archlinux-keyring
...
warning: archlinux-keyring-20191018-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) archlinux-keyring-20191018-1
...
-> Disabling key 44D4A033AC140143927397D47EFD567D4C7EA887...
==> Updating trust database...
gpg: next trustdb check due at 2020-01-22
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
Но — не помогло.
pacman-key --refresh-keys
Ладно — попробую обновить ключи прямо в базе pacman-key
:
[setevoy@setevoy-asus-laptop ~]$ sudo pacman-key --refresh-keys
...
gpg: Total number processed: 133
gpg: unchanged: 66
gpg: new user IDs: 3
gpg: new subkeys: 1
gpg: new signatures: 1172
...
gpg: next trustdb check due at 2020-01-22
Проверяем — и что-то не то всё-равно:
[setevoy@setevoy-asus-laptop ~]$ pacman-key --list-sigs | grep Runge
gpg: Note: trustdb not writable
gpg: key E5BB298470AD4E41 was created 53 days in the future (time warp or clock problem)
gpg: key 6D42BDD116E0068F was created 11 days in the future (time warp or clock problem)
gpg: key 6D42BDD116E0068F was created 11 days in the future (time warp or clock problem)
gpg: key E5BB298470AD4E41 was created 53 days in the future (time warp or clock problem)
sig 54C28F4FF5A1A949 2014-10-06 David Runge <dave@sleepmap.de>
uid [ full ] David Runge <dave@sleepmap.de>
sig 3 54C28F4FF5A1A949 2017-05-07 David Runge <dave@sleepmap.de>
sig 3 54C28F4FF5A1A949 2015-01-04 David Runge <dave@sleepmap.de>
uid [ full ] David Runge <dave@c-base.org>
sig 3 54C28F4FF5A1A949 2017-05-07 David Runge <dave@sleepmap.de>
sig 3 54C28F4FF5A1A949 2015-10-20 David Runge <dave@sleepmap.de>
uid [ full ] David Runge <runge@pool.math.tu-berlin.de>
sig 3 54C28F4FF5A1A949 2017-05-07 David Runge <dave@sleepmap.de>
sig 3 54C28F4FF5A1A949 2014-10-03 David Runge <dave@sleepmap.de>
uid [ full ] David Runge <david.runge@campus.tu-berlin.de>
sig 3 54C28F4FF5A1A949 2017-05-07 David Runge <dave@sleepmap.de>
sig 3 54C28F4FF5A1A949 2014-10-03 David Runge <dave@sleepmap.de>
sig 54C28F4FF5A1A949 2017-05-07 David Runge <dave@sleepmap.de>
Как минимум — не тот почтовый ящик.
тут уже была подсказка, но я не обратил внимания
Удаление /etc/pacman.d/gnupg
Попробовал полностью удалить (перенести в бекапы, конечно, а не удалить) базу GPG для pacman
:
[setevoy@setevoy-asus-laptop ~]$ ls -l /etc/pacman.d/gnupg
total 6276
drwx------ 2 root root 4096 жов 21 2017 crls.d
-rw-r--r-- 1 root root 17 лис 8 2018 gpg-agent.conf
-rw-r--r-- 1 root root 114 жов 24 2015 gpg.conf
drwx------ 2 root root 4096 жов 24 2015 openpgp-revocs.d
drwx------ 2 root root 4096 жов 24 2015 private-keys-v1.d
-rw-r--r-- 1 root root 3161181 сер 18 12:28 pubring.gpg
-rw-r--r-- 1 root root 3161189 сер 18 12:28 pubring.gpg~
srwx------ 1 root root 0 сер 18 12:32 S.dirmngr
-rw------- 1 root root 0 жов 24 2015 secring.gpg
-rw-r--r-- 1 root root 49152 чер 8 17:47 tofu.db
-rw-r--r-- 1 root root 18920 сер 18 12:28 trustdb.gpg
Переносим его:
[setevoy@setevoy-asus-laptop ~]$ mkdir ~/Backups
[setevoy@setevoy-asus-laptop ~]$ sudo mv /etc/pacman.d/gnupg Backups/
Запускаем инициализацию:
[setevoy@setevoy-asus-laptop ~]$ sudo pacman-key --init
gpg: /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 '/etc/pacman.d/gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
gpg: Generating pacman keyring master key...
gpg: key FBADB7D2586D4A2F marked as ultimately trusted
gpg: directory '/etc/pacman.d/gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/etc/pacman.d/gnupg/openpgp-revocs.d/7F47A1EC7C894F56DD6F9E18FBADB7D2586D4A2F.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
Загружаем ключи:
[setevoy@setevoy-asus-laptop ~]$ sudo pacman-key --populate
==> Appending keys from archlinux.gpg...
...
Даже обновим их:
[setevoy@setevoy-asus-laptop ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 132 keys from hkps://hkps.pool.sks-keyservers.net
...
Запускаем апдейт ещё раз:
[setevoy@setevoy-asus-laptop ~]$ sudo pacman -Syu
...
downloading required keys...
:: Import PGP key 256E/C7E7849466FE2358343588377258734B41C31549, "David Runge <dvzrv@archlinux.org>", created: 2019-10-01? [Y/n]
error: key "David Runge <dvzrv@archlinux.org>" could not be imported
error: required key missing from keyring
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.
!!?%6h%!@, David Runge!!!
pacman-key --recv-keys
— импорт ключа напрямую
Пошёл искать ключ девелопера в базе — https://www.archlinux.org/master-keys :
Пробуем импортировать его:
[setevoy-asus-laptop setevoy]# pacman-key --recv-keys dvzrv@archlinux.org
gpg: key E5BB298470AD4E41 was created 53 days in the future (time warp or clock problem)
gpg: key 7258734B41C31549: 2 duplicate signatures removed
gpg: key 7258734B41C31549: 4 signatures not checked due to missing keys
gpg: key 7258734B41C31549: 2 signatures reordered
gpg: key 7258734B41C31549 was created 44 days in the future (time warp or clock problem)
gpg: key 7258734B41C31549 was created 44 days in the future (time warp or clock problem)
gpg: key 7258734B41C31549 was created 44 days in the future (time warp or clock problem)
gpg: key 7258734B41C31549 was created 44 days in the future (time warp or clock problem)
gpg: key 7258734B41C31549: no valid user IDs
gpg: this may be caused by a missing self-signature
gpg: Total number processed: 1
gpg: w/o user IDs: 1
==> ERROR: Remote key not fetched correctly from keyserver.
Ээээээ….
gpg: key 7258734B41C31549 was created 44 days in the future (time warp or clock problem)
44 days in the future — ШТА? 🙂
Причина и решение
Проверяем дату:
[setevoy-asus-laptop setevoy]# date
неділя, 18 серпня 2019 12:47:28 +0300
И с помощь hwclock
время на самом железе:
[setevoy-asus-laptop setevoy]# hwclock --show
2019-08-18 12:47:55.575491+03:00
Задаём реальное время на данный момент:
[setevoy-asus-laptop setevoy]# timedatectl set-time "2019-11-24 09:56:00"
[setevoy-asus-laptop setevoy]# hwclock --show
2019-11-24 09:56:03.404766+02:00
Запускаем апдейт:
[setevoy@setevoy-asus-laptop ~]$ sudo pacman -Syu
...
(413/413) checking keys in keyring [] 100%
downloading required keys...
:: Import PGP key 256E/C7E7849466FE2358343588377258734B41C31549, "David Runge <dvzrv@archlinux.org>", created: 2019-10-01? [Y/n]
(413/413) checking package integrity
...
И всё работает.
Готово.