<===
2026-01-06 20:17:21
починка ключей pacman в Manjaro
### Зачем всё это
Когда pacman ругается на «invalid or corrupted package (PGP signature)» или «required key missing from keyring», обычно сломан или устарел ключевой **ring** (`archlinux-keyring`/`manjaro-keyring`).[1][2]
***
### 1. Инициализация keyring
```bash
sudo pacman-key --init
```
- Создаёт /etc/pacman.d/gnupg и генерирует локальную пару ключей, на которой строится доверие к ключам пакетов.[3][1]
- Требует немного энтропии (движения мышью, ввод с клавы и т.п.).[4]
***
### 2. Загрузка ключей Arch/Manjaro
```bash
sudo pacman-key --populate archlinux manjaro
```
- Заполняет локальный keyring официальными ключами разработчиков Arch и Manjaro, чтобы pacman мог проверять подписи пакетов из их репозиториев.[5][6][7]
- Без этого pacman будет считать подписи пакетов «неизвестно доверенными».
***
### 3. Обновление ключей
```bash
sudo pacman-key --refresh-keys
```
- Подтягивает актуальное состояние ключей с ключесерверов: новые подписи, продления срока, отозванные ключи.[1][3]
- На слабом соединении может крутиться долго; на Manjaro иногда достаточно просто переустановить пакеты keyring без длинного refresh.[8][2]
***
### 4. Форс‑обновление баз пакетов
```bash
sudo pacman -Syy
```
- Дважды `y` заставляет pacman полностью перескачать базы репозиториев, даже если он считает их свежими.[9]
- Нужно, чтобы новые ключи проверяли актуальные, а не старые индексы пакетов.
***
### 5. Обновление пакетов keyring
```bash
sudo pacman -S archlinux-keyring manjaro-keyring
```
- Ставит последние версии пакетов с ключами; они содержат «снимок» актуальных ключей разработчиков.[2][10]
- Полезно, если ISO старое и keyring на системе сильно отстаёт от репозиториев.
***
### 6. Полное обновление системы
```bash
sudo pacman -Syu
```
- После исправления ключей запускается нормальное полное обновление: синхронизация баз (`-Sy`) и обновление всех пакетов до актуальных версий (`-u`).[11][9]
- Если после этого остаются 1–2 проблемных пакета с подписью, обычно помогает смена зеркала и очистка кэша конкретного пакета.
[1](https://wiki.archlinux.org/title/Pacman/Package_signing)
[2](https://forum.manjaro.org/t/corrupted-packages-invalid-keyrings-during-update/119697)
[3](https://pacman.archlinux.page/pacman-key.8.html)
[4](https://avnsgt.gitbooks.io/archlabs-knowledge-base/content/gnupg/pacman-key.html)
[5](https://wiki.archlinux.de/title/Pacman-key)
[6](https://github.com/manjaro/manjaro-docker/blob/main/pacman.conf)
[7](https://stackoverflow.com/questions/35251359/cannot-upgrade-arch-linux-pacman-syu-not-working)
[8](https://forum.manjaro.org/t/sudo-pacman-key-refresh-keys-infinite-loop/148524)
[9](https://wiki.archlinux.org/title/Pacman)
[10](https://bbs.archlinux.org/viewtopic.php?id=277208)
[11](https://www.perplexity.ai/search/ab9e179a-42ce-48fa-a06e-1ae43e588416)
[12](https://www.reddit.com/r/archlinux/comments/15730ne/pacmankey_init_causing_problems_and_pacman_sy/)
[13](https://www.facebook.com/groups/archlinuxen/posts/10159759745548393/)
[14](https://www.cheat-sheets.org/project/tldr/command/pacman-key/os/linux/)
[15](https://emby.media/support/articles/misc/downloads/Emby-Pkg-Pacman.html)
[16](https://www.reddit.com/r/PinePhoneOfficial/comments/shk03d/solved_manjaro_pacman_key_errors_on_my_new/)
==========================================
Сделаем маленький скрипт «починить keyring и обновить систему» под Manjaro.
#!/usr/bin/env bash
set -e
echo "[*] Инициализируем keyring..."
sudo pacman-key --init
echo "[*] Заполняем ключами Arch/Manjaro..."
sudo pacman-key --populate archlinux manjaro
# echo "[*] Обновляем ключи (может висеть, включи вручную при необходимости)..."
# sudo pacman-key --refresh-keys
echo "[*] Форсируем обновление баз..."
sudo pacman -Syy --noconfirm
echo "[*] Обновляем пакеты keyring..."
sudo pacman -S --noconfirm archlinux-keyring manjaro-keyring
echo "[*] Полное обновление системы..."
sudo pacman -Syu --noconfirm
echo "[+] Готово."