ошибка: failed to synchronize all databases (не удалось заблокировать базу данных)

Всё, что не по теме форума -- сюда
Ответить
beisic
Сообщения: 55
Зарегистрирован: 16.09.2022

#

Не всегда, но иногда при обновлении системы выскакивает данное сообщение в терминале.
Лечиться всё это командой :
sudo rm /var/lib/pacman/db.lck 
И дальше обновление идет как обычно.
Обнаружить этот "загадочный" файл по указанному адресу /var/lib/pacman/ никогда ни перед обновлением,
ни после - никогда не получается.
Это что - какой-то файл "невидимка" ???
Но пока этого "невидимку" не удалишь, терминал так и будет писать про заблокированную базу данных,
и не обновлять систему.
Иногда это "лечилось" обновлением зеркал рефлектором. Но в какой-то момент рефлектор "предоставил"
абсолютно пустой файл /etc/pacman.d/mirrorlist . Пришлось вручную вписать 10 более-менее "адекватных"
зеркал. И с тех пор их не меняю и обновление системы проходит быстро и без ошибок (один из компов не
обновлял месяца 4 - 5 - все прошло нормально).
Вопроса два :
- что это за файл "невидимка" db.lck , который пока не удалишь через терминал, то и не обновишься - может у него какой-нибудь бит невидимости стоит ??
- на reflector ни у кого никаких нареканий не было ??
vasek
Сообщения: 478
Зарегистрирован: 31.08.2022

#

beisic:что это за файл "невидимка" db.lck
Читать Wiki Pacman ... 3.3 Failed to init transaction (unable to lock database)

PS - что то выдает нейросеть
Файл db.lck создаётся, когда база данных пакетов заблокирована для работы, поскольку в настоящее время её использует другая программа.
Обычно он находится по адресу /var/lib/pacman/db.lck. 
Чтобы удалить этот файл и исправить ошибку «failed to synchronize all databases (unable to lock database)» при обновлении Arch Linux или дистрибутивов на его основе, нужно выполнить команду: sudo rm /var/lib/pacman/db.lck. После этого следует вновь запустить pacman.
Если не уверены, нужно ли удалять файл db.lck, можно проверить дату его создания с помощью команды ls -l /var/lib/pacman/db.lck. Дата подскажет, по какой причине данный файл присутствует в системе.
Если проблема не решена, то второй причиной может быть переполненность диска — на нём не осталось места, чтобы записать файл блокировки. В этом случае нужно очистить диск и повторить команду для обновления системы.

нейросеть нравится все больше и больше

Ошибки не исчезают с опытом - они просто умнеют

beisic
Сообщения: 55
Зарегистрирован: 16.09.2022

#

vasek: ... 3.3 Failed to init transaction (unable to lock database)
Да, все верно и удаление этого файла тоже оттуда. Там же написано, что "pacman создаёт файл блокировки /var/lib/pacman/db.lck." ...Но нигде этого файла НЕТ, а в терминале пишет про заблокированную базу. После команды на удаление этого файла - в том же терминале пишет, что нет такого файла, но обновлять систему начинает. Т.е. после очистки кеша, видимо, чтобы не заморачиваться, сразу нужно удалять файл блокировки.
vasek
Сообщения: 478
Зарегистрирован: 31.08.2022

#

beisic:Но нигде этого файла НЕТ, а в терминале пишет про заблокированную базу
Не внимательно читаешь
vasek:второй причиной может быть переполненность диска — на нём не осталось места, чтобы записать файл блокировки
Может что то и другое ... анализируй : логи + debug ...

Ошибки не исчезают с опытом - они просто умнеют

vall
Аватара пользователя
Администрация
Сообщения: 795
Зарегистрирован: 09.08.2022

#

beisic:- что это за файл "невидимка" db.lck
Файл вполне реальный. Очень давно иногда была такая же ошибка. Причину не помню. Даже алиас сделал для быстрого удаления. Но потом всё нормализовалось.
beisic:- на reflector ни у кого никаких нареканий не было ??
Почти сразу отказался от него в пользу ручного выбора из https://archlinux.org/mirrors/status/
И всё прекрасно работает.
beisic
Сообщения: 55
Зарегистрирован: 16.09.2022

#

vasek: второй причиной может быть переполненность диска — на нём не осталось места,
Ну это вряд ли :
beisic ~ $   df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
/dev/nvme0n1p3     915G          89G  781G           11% /
devtmpfs           4,0M            0  4,0M            0% /dev
tmpfs               16G          57M   16G            1% /dev/shm
tmpfs              6,3G         1,7M  6,3G            1% /run
tmpfs              1,0M            0  1,0M            0% /run/credentials/systemd-journald.service
tmpfs               16G          17M   16G            1% /tmp
/dev/nvme0n1p2    1022M         252K 1022M            1% /boot/efi
tmpfs              3,2G          84K  3,2G            1% /run/user/1000
beisic ~ $ 
 
vasek
Сообщения: 478
Зарегистрирован: 31.08.2022

#

beisic:Но нигде этого файла НЕТ, а в терминале пишет про заблокированную базу.
При обновлении файл db.lck создаётся всегда (может проверить - логи, debug) … нужен анализ - нужно смотреть когда создаётся и удаляется файл db.lck

Ошибки не исчезают с опытом - они просто умнеют

Ответить