что может вызывать зависание /etc/cron.daily/apt?

15

В последнее время я получаю почту с сервера каждый день,

Предмет

Cron <root@host> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

тело

/etc/cron.daily/apt:
DB Update failed, database locked

Если я просто запускаю /etc/cron.daily/aptчасть, она просто остается там без вывода, я попытался запустить tail -f /var/log/apt/*.log /var/log/syslog &и запустить, /etc/cron.daily/aptно тоже не выводил

Какая база данных заблокирована и чем, я могу сделать apt-get updateуспешно.

Вчера сделал некоторые обновления и пришлось перезапустить, так что исправление microsoft здесь не сработает (так было до того, как обновления не были связаны)

Что еще я могу посмотреть?

Это экземпляр Амазонки, если это имеет значение

geermc4
источник

Ответы:

8

Что действительно правильно исправило эту проблему для меня, так это удаление пакета apt-xapian-index. Ни одно из предложенных исправлений ничего не сделало в моей ситуации.

Вы можете прочитать более подробную информацию из моего небольшого сообщения в блоге .

Теро Туртьайнен
источник
2
Спасибо, у меня был такой же опыт - изменение тайм-аута, как и в других ответах, не изменило ничего, кроме того, сколько времени потребовалось, чтобы сдаться. Я хотел бы процитировать немного из вашего сообщения в блоге (причина, по которой я щелкнул): «похоже, что Synaptic, графический менеджер пакетов Ubuntu, вероятно, использует Xapian. На моем сервере Ubuntu я не использую Synaptic, поэтому я не позаботьтесь о том, чтобы индекс Apt Xapian не обновлялся. Обычные инструменты apt по-прежнему должны работать идеально. " Как говорится в вашем посте, YMMV. Работает у меня, не используя Synaptic.
Ваз
4

Короче говоря, измените RandomSleep=1800что-нибудь более приятное. я выбираюRandomSleep=5

ссылка: https://lists.ubuntu.com/archives/ubuntu-users/2009-Feb февраля / 175474.html & http://ubuntuforums.org/showthread.php?t=1071892#post_6747612

Брюс Олдридж
источник
Это не сделало ничего, чтобы исправить мою проблему, которая такая же, как у ОП. Если вы посмотрите на код, время RandomSleep используется как предел для фактического времени, которое выбирается случайным образом. Хм. Глядя на код, кажется, есть ошибка. RandomSleep возможно сбрасывается в 1 или 0 при помощи вызова apt-config. (Если он даже установлен, мой не был.) Вызов apt либо растоптывает переменную, либо ничего не делает с ней. На самом деле это не влияет на его ценность полезным способом.
Hack Saw
Это, казалось, решило мои проблемы за несколько дней, которые, я думаю, были совпадением больше всего на свете.
Брюс Олдридж
1

Это происходит, когда у вас запущено несколько экземпляров APT / DPKG одновременно. Если вы запустите что-то, что блокирует apt-get, например aptitude, в режиме графического интерфейса, и напечатаете, в sudo /etc/cron.daily/aptконце концов, произойдет сбой с тем же сообщением.

Braiam
источник
Спасибо за понимание. Не относится к тем из нас, кто работает на серверах Ubuntu без графического интерфейса, но он наверняка кому-нибудь пригодится.
Ваз
2
@Vaz, на самом деле, это так, другой пример - apt-cron или unattended-upgrades
Брайам