qu'est-ce qui peut provoquer le blocage de /etc/cron.daily/apt?

15

Dernièrement, je reçois un mail du serveur tous les jours,

Matière

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

Corps

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

Si je lance juste la /etc/cron.daily/aptpartie, elle y reste sans sortie, j'ai essayé de courir tail -f /var/log/apt/*.log /var/log/syslog &puis de courir /etc/cron.daily/aptmais pas de sortie non plus

Quelle base de données est verrouillée et par quoi, je peux apt-get updateréussir.

A fait quelques mises à jour hier et a dû redémarrer, donc le correctif Microsoft ne fonctionnera pas ici (cela se passait depuis avant les mises à jour, donc pas lié)

Que puis-je voir d'autre?

Ceci est une instance amazon au cas où cela compte

geermc4
la source

Réponses:

8

Ce qui m'a vraiment permis de résoudre ce problème, c'est de désinstaller le package apt-xapian-index. Aucun des autres correctifs suggérés n'a fait quoi que ce soit dans ma situation.

Vous pouvez lire plus de détails sur mon petit article de blog .

Tero Turtiainen
la source
2
Merci, j'ai eu la même expérience - changer le délai d'attente comme dans les autres réponses n'a rien changé sauf le temps qu'il a fallu pour abandonner. Je voudrais citer un peu de votre article de blog (la raison pour laquelle j'ai cliqué): "il semble que Synaptic, le gestionnaire de paquets graphiques Ubuntu utilise probablement Xapian. Sur mon serveur Ubuntu, je n'utilise pas Synaptic donc je ne le fais pas attention si l'index Apt Xapian n'est pas mis à jour. Les outils apt habituels devraient toujours fonctionner parfaitement. " Comme le dit votre message, YMMV. Fonctionne pour moi, sans utiliser Synaptic.
Vaz
4

Pour faire court, changez RandomSleep=1800pour quelque chose de plus agréable. j'ai choisiRandomSleep=5

réf: https://lists.ubuntu.com/archives/ubuntu-users/2009-F February / 175474.html & http://ubuntuforums.org/showthread.php?t=1071892#post_6747612

Bruce Aldridge
la source
Cela n'a rien fait pour résoudre mon problème, qui est le même que l'OP. Si vous regardez le code, le temps RandomSleep est utilisé comme limite pour le temps réel, qui est choisi au hasard de manière nominale. Hmm. En regardant le code, il semble y avoir un bug. RandomSleep est éventuellement réinitialisé à 1 ou 0, par l'appel apt-config. (Si elle est même définie, la mienne ne l'était pas.) L'appel apt stoppe la variable ou n'y fait rien. Il n'agit pas réellement sur sa valeur d'une manière utile.
Hack Saw
Cela a semblé résoudre mes problèmes pendant quelques jours, ce qui, je pense, était plus qu'une coïncidence.
Bruce Aldridge
1

Cela se produit lorsque plusieurs instances APT / DPKG s'exécutent en même temps. Si vous exécutez quelque chose qui bloque apt-get comme aptitude en mode GUI, et tapez sudo /etc/cron.daily/aptéventuellement, il échouera avec le même message.

Braiam
la source
Merci pour la perspicacité. Ne s'applique pas à ceux d'entre nous qui exécutent des serveurs Ubuntu sans interface graphique, mais il est sûr d'être utile à quelqu'un.
Vaz
2
@Vaz en fait, c'est le cas, un autre exemple serait les mises à niveau apt-cron ou sans surveillance
Braiam