¿Qué puede estar causando que /etc/cron.daily/apt se cuelgue?

15

Últimamente recibo un correo del servidor todos los días,

Tema

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

Cuerpo

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

Si solo ejecuto la /etc/cron.daily/aptparte, simplemente permanece allí sin salida, intenté ejecutar tail -f /var/log/apt/*.log /var/log/syslog &y luego ejecutar, /etc/cron.daily/aptpero tampoco hubo salida

Qué base de datos está bloqueada y qué puedo hacer con apt-get updateéxito.

Hice algunas actualizaciones ayer y tuve que reiniciar, por lo que la solución de Microsoft no funcionará aquí (esto ha estado sucediendo desde antes de las actualizaciones, por lo que no está relacionado)

¿Qué más puedo mirar?

Esta es una instancia de Amazon en caso de que importe

geermc4
fuente

Respuestas:

8

Lo que realmente solucionó este problema para mí fue desinstalar el paquete apt-xapian-index. Ninguna de las otras soluciones sugeridas hizo nada en mi situación.

Puede leer más detalles de mi pequeña publicación de blog .

Tero Turtiainen
fuente
2
Gracias, tuve la misma experiencia: cambiar el tiempo de espera como en otras respuestas no cambió nada excepto el tiempo que tardó en darse por vencido. Me gustaría citar un poco de su publicación de blog (la razón por la que hice clic): "parece que Synaptic, el administrador de paquetes gráficos de Ubuntu probablemente usa Xapian. En mi servidor Ubuntu no uso Synaptic, así que no importa si el índice Apt Xapian no está actualizado. Las herramientas habituales de apt deberían funcionar perfectamente ". Como dice tu publicación, YMMV. Funciona para mí, no usando Synaptic.
Vaz
4

Larga historia corta, cambiar RandomSleep=1800a algo más agradable. elegíRandomSleep=5

ref: https://lists.ubuntu.com/archives/ubuntu-users/2009-February/175474.html y http://ubuntuforums.org/showthread.php?t=1071892#post_6747612

Bruce Aldridge
fuente
Esto no hizo nada para solucionar mi problema, que es lo mismo que el OP. Si observa el código, el tiempo RandomSleep se usa como límite para el tiempo real, que se elige nominalmente al azar. Hmm Mirando el código, parece haber un error. RandomSleep posiblemente se restablezca a 1 o 0, mediante la llamada apt-config. (Si incluso está configurado, el mío no lo estaba). La llamada apt aprieta la variable o no le hace nada. En realidad, no actúa sobre su valor de una manera útil.
Hack Saw
Pareció solucionar mis problemas durante unos días, lo que creo que fue una coincidencia más que cualquier otra cosa.
Bruce Aldridge el
1

Esto sucede cuando tiene varias instancias APT / DPKG ejecutándose al mismo tiempo. Si ejecuta algo que bloquea apt-get like aptitude en modo GUI y escribe, sudo /etc/cron.daily/apteventualmente fallará con el mismo mensaje.

Braiam
fuente
Gracias por la perspicacia. No se aplica a aquellos de nosotros que ejecutamos servidores Ubuntu sin GUI, pero seguramente será útil para alguien.
Vaz
2
@Vaz en realidad, sí, otro ejemplo sería apt-cron o desatendido-actualizaciones
Braiam