APT FATAL -> Gabelung fehlgeschlagen

12

Ich habe viele Fragen dazu gesehen, aber meine scheinen etwas anders zu sein.

Folgendes erhalte ich:

/etc/cron.weekly/apt-xapian-index:
FATAL -> Failed to fork.
run-parts: /etc/cron.weekly/apt-xapian-index exited with return code 100

und

/etc/cron.daily/apt:
FATAL -> Failed to fork.

und

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

Ich habe immer mindestens 600 MB freien RAM. Wenn ich versuche, manuell auszuführen sudo /etc/cron.daily/apt, passiert nichts. Die Shell hängt.

Was könnte das Problem sein?

BEARBEITEN: Ubuntu Server 14.04

MultiformeIngegno
quelle
rm /var/cache/apt/arhives/lock ; rm /var/lib/apt/lock ;rm /var/lib/apt/lists/lock
PersianGulf
Was enthalten diese Ordner?
MultiformeIngegno
Sie werden das Schloss auf apt entfernen.
Jonathan
Ich habe die Sperrdateien entfernt, aber wenn ich apt-get update ausführe, werden sie erneut erstellt.
MultiformeIngegno

Antworten:

14

Ich habe diese Nachricht oft gesehen. In allen Fällen "FATAL -> Gabelung fehlgeschlagen." bedeutete, dass nicht mehr genügend Speicher vorhanden war, damit der passende Cron-Job ausgeführt werden konnte. Erhöhen Sie den freien Speicher für diesen Cron-Job.

Nils Toedtmann
quelle
2
Vielen Dank. Ein "Neustart jetzt" hat mein Speicherproblem gelöst und dann haben mich die Standard-Apt-Get-Befehle wieder auf den richtigen Weg gebracht.
Ryan
2

Keine der vorgeschlagenen Korrekturen funktionierte in meiner Situation. Ich habe immer noch DB Update failed, database lockedjeden Tag die Fehlermeldung vom täglichen Cron-Job erhalten. Die Deinstallation des apt-xapian-index- Pakets löste das Problem schließlich. Die Quelle dieser Fehlermeldung ist das /etc/cron.daily/aptSkript, das versucht auszuführen, update-apt-xapian-indexdas vom Paket apt-xapian-index bereitgestellt wird.

Ich habe aus meiner Sicht einen kleinen Blog-Beitrag über das Problem "DB-Update fehlgeschlagen" geschrieben.

Tero Turtiainen
quelle
2

Ich hatte genau das gleiche Problem auf einem Ubuntu 14.04 VPS und nicht auf einem anderen, also stellte ich fest, dass ich keinen funktionierenden Swap auf dem fehlgeschlagenen hatte.

Es stellte sich heraus, dass alles richtig konfiguriert war, aber alles, was ich tun musste, war ein apt-get install cryptsetupNeustart.

Wenn Sie durch Serverressourcen wie mich (512 MB RAM) eingeschränkt sind, ist es meiner Meinung nach eine gute Idee, diese beizubehalten apt-xapian-index. Sie ist nicht gut dokumentiert, aber ich stelle mir vor, dass apt-cache searchsolche Dinge ohne sie langsamer laufen würden.

Dies kann zumindest den fehlgeschlagenen Fork-Fehler beheben. Sie sind sich nicht sicher, ob es im Falle eines DB-Fehlers eine Alternative zum Entfernen des apt-xapian-Index gibt.

4oo4
quelle
Ich habe festgestellt, dass auf meinem Bitnami-Server in Azure auch kein Swap definiert ist. Ich bin mir nicht sicher, ob die Installation von cryptsetup helfen würde. Stattdessen habe ich die Anweisungen hier befolgt, um eine Auslagerungsdatei hinzuzufügen: docs.bitnami.com/installer/faq/linux-faq/#what-is-swap .
Mark Berry
1

Ich hatte das gleiche Problem mit /etc/cron.daily/aptUbuntu 12 und 14 Arm, aber das Ausführen des Skripts über die Shell war erfolgreich. Ich habe es dank https://serverfault.com/a/191051/243172 durch Hinzufügen der Zeile gelöst

ulimit -s unlimited

am Anfang des Skripts.

csanchez
quelle
Du meinst in Crontab?
MultiformeIngegno
Ich habe es zu /etc/cron.daily/apt@MultiformeIngegno hinzugefügt, zu dem Sie es hinzufügen würden /etc/cron.weekly/apt-xapian-index. Eine der Optionen -d, -m, -s hat es geschafft
csanchez
1

Der Grund, warum Ihre Shell beim Ausführen zu hängen scheint, sudo /etc/cron.daily/aptist der Aufruf von random_sleep(). Wenn Sie es auskommentieren (auf meinem Ubuntu 14.04 war es Zeile 425), können Sie zumindest bestätigen, dass das Skript funktioniert, wenn Sie es interaktiv ausführen.

Erik Wognsen
quelle