При попытке обновить Arch Linux или дистрибутив на его основе (например, BlackArch) может возникнуть ошибка «error: failed to update core (unable to lock database)».
Например, при вводе команды
sudo pacman -Syu
Может быть выведено (в случае, если система с английской локалью):
error: failed to update core (unable to lock database) error: failed to update extra (unable to lock database) error: failed to update community (unable to lock database) error: failed to update blackarch (unable to lock database) error: failed to synchronize all databases
С русской локалью будет написано, что невозможно обновить базы (невозможно заблокировать базы данных).
Это означает, что создан файл, который говорит о том, что база данных пакетов заблокирована для работы, поскольку в настоящее время работу с базой данной пакетов ведёт другая программа.
Если это действительно так (например, вы уже запустили pacman в другой вкладке), то рекомендуется дождаться выполнения этой команды, чтобы впоследствии не возникло ошибок в кэше и базе данных установленных пакетов.
Если вы уверены, что это сообщение выводиться исключительно по ошибке — например, вы через SSH с помощью pacman обновляли пакеты, но сессия неожиданно была прервана и вы вновь подключись к удалённому компьютеру, но при попытке использовать pacman появляется эта ошибка, то в этом случае для её исправления достаточно удалить файл /var/lib/pacman/db.lck следующим образом:
sudo rm /var/lib/pacman/db.lck
После этого вновь запустите pacman — проблема должна быть полностью решена.
Если проблема не решена, то второй причиной может быть переполненность диска - на нём не осталось места чтобы записать файл блокировки. В этом случае очистите диск и повторите команду для обновления системы.
Очистку можно начать с удаления журналов. Например, для удаления логов веб-сервера:
rm /var/log/httpd/*
Для удаления временных файлов:
rm -rf /tmp/*
Для удаления файлов установочных пакетов:
pacman -Scc
Близкие статьи
- Ошибка: «файл \vmlinuz-linux» не найден (РЕШЕНО) (100%)
- Аналог опции --force в pacman (100%)
- Ошибка pacman «warning: failed to retrieve some files» (РЕШЕНО) (100%)
- Ошибка «ruby-bundler: /usr/share/man/man5/gemfile.5.gz exists in filesystem (owned by ruby)» (РЕШЕНО) (100%)
- Ошибка «не удалось разрешить зависимость lib32 (32-битной библиотеки)» (РЕШЕНО) (100%)
- Ошибка «не удалось завершить транзакцию (неверный или поврежденный пакет)» (РЕШЕНО) (RANDOM - 100%)
Спасибо огромное!