Arch: error: failed to synchronize all databases

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

Ошибка может означать блокировку базы (другой процесс pacman или остаток файла db.lck), проблемы зеркал и сети. Ниже — причины и порядок действий от простого к сложному.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Блокировка
  5. Зеркала
  6. Сеть и время

#Что означает ошибка

Сообщение
error: failed to synchronize all databases (unable to lock database)

error: failed retrieving file ... from mirror : The requested URL returned error: 404 или failed to synchronize all databases (unable to lock database) — pacman не смог обновить списки пакетов. Причины: устаревшие или недоступные зеркала, блокировка базы (db.lck), проблемы сети, неверное время.

Если ошибка про блокировку, зависший процесс pacman оставил файл.

Если про 404 или тайм-аут, нужно обновить список зеркал.

Ошибка может означать блокировку базы (другой процесс pacman или остаток файла db.lck), проблемы зеркал и сети. Сначала проверьте, что pacman не запущен.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Остался файл блокировкиPacman был прерван.Удалите /var/lib/pacman/db.lck, если процесс не запущен.
Недоступно зеркалоОшибки загрузки.Обновите список зеркал.
Нет сетиPing не проходит.Проверьте подключение.
Неверные время и датаОшибки подписи.Синхронизируйте время.

#Пошаговое решение

  1. Проверьте, что pacman не запущенВ Arch Linux откройте терминал и выполните pgrep -a pacman. Если команда показывает работающий процесс, дождитесь окончания установки/обновления и проверьте, изменяется ли вывод; не запускайте второй pacman. При пустом выводе дополнительной установки pacman не видно — проверьте интернет и зеркала. Не удаляйте блокировку, пока не выяснили, какой процесс её создал и есть ли текущая транзакция.
  2. Удалите db.lck при отсутствии процессовФайл /var/lib/pacman/db.lck удалять допустимо лишь в особой ситуации: после аварийно прерванного pacman, когда pgrep -a pacman не показывает процесса и вы уверены, что другая операция с базой пакетов не идёт. Перед этим запишите время и причину прерывания, сохраните резервную копию важных данных. Если источник блокировки неизвестен, не удаляйте файл: сначала перезагрузите компьютер обычным способом или обратитесь к администратору. После восстановления работы выполняйте полное sudo pacman -Syu, а не частичное обновление.
  3. Обновите список зеркалВ Arch Linux список зеркал находится в /etc/pacman.d/mirrorlist; сначала прочитайте его командой cat /etc/pacman.d/mirrorlist. Если серверы дают 404 или недоступны, выберите актуальные зеркала через официальный Arch Linux Mirrorlist Generator или настроенный reflector, предварительно сохранив копию файла. В Manjaro вместо этого применяется pacman-mirrors, команды двух систем не взаимозаменяемы. После исправления выполняйте только полное sudo pacman -Syu; не используйте pacman -Sy отдельно.
  4. Проверьте сеть, DNS и времяОткройте несколько разных сайтов или сервисов и проверьте, работает ли подключение на другом устройстве в той же сети. Для сравнения переключитесь между Wi-Fi и мобильным интернетом, если это возможно. Если ошибка только на одном устройстве, проверяйте его сетевые настройки; если на всех — роутер или провайдера.
  5. Обновите ключи и системуОткройте терминал и прочитайте полную ошибку менеджера пакетов, включая имя репозитория и ключа. Сверьте источник с официальной документацией текущей версии Linux; ключи устанавливайте только по инструкции владельца официального репозитория. Не применяйте опции, отключающие GPG-проверку, и не импортируйте случайные ключи из неизвестных ссылок.
  6. Проверка запущенных процессов pacman
    Linux · Терминал (Bash)Команда
    Проверка запущенных процессов pacman.
    pgrep -a pacman

#Блокировка

Сообщение unable to lock database: убедитесь, что pacman не запущен (ps aux | grep -i pacman), затем удалите файл: sudo rm /var/lib/pacman/db.lck. Не удаляйте, пока идёт обновление — это повредит базу. После — sudo pacman -Syy.

#Зеркала

Обновите список зеркал: Arch — sudo pacman -S reflector и sudo reflector --country Germany,Poland --protocol https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist; Manjaro — sudo pacman-mirrors --fasttrack 5. Затем sudo pacman -Syyu. Проверьте, что в /etc/pacman.d/mirrorlist есть раскомментированные Server =. Проверка доступа: curl -I https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.

#Сеть и время

Проверьте интернет и DNS (ping archlinux.org, resolvectl status). Отключите VPN или прокси, настройте их в окружении (https_proxy) или XferCommand. Проверьте системное время (timedatectl): неверное время ломает TLS. Если ошибка invalid or corrupted database (PGP signature), обновите ключи: sudo pacman -S archlinux-keyring или sudo pacman-key --refresh-keys. Обновляйте систему целиком (-Syu), а не только базы (-Sy).

Linux · Терминал (Bash)Команда
Удалена массовая перезапись зеркал reflector с заданными странами, не относящимися к пользователю.
pgrep -a pacman
cat /etc/pacman.d/mirrorlist

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.