"Das System wird jetzt zum Neustart heruntergefahren"

13

Ich bin über tty mit einem Beagleboard verbunden und sehe plötzlich folgende Meldung:

Broadcast message from root@arm
        (unknown) at 11:40 ...

The system is going down for reboot NOW!
[  143.036193] Restarting system.

Das System ist Ubuntu 12.10. Gibt es eine Stelle, an der ich herausfinden kann, warum das System abstürzt?

UPDATE: Mehr Infos

  • Dies geschieht tatsächlich die ganze Zeit, das Board startet alle 1 bis 5 Minuten neu.
  • Ich habe sichergestellt, dass kein Programm oder Daemon beim Start ausgeführt wird.
  • Ich kann Restartingnirgendwo in einer Datei in finden/var/log
  • In syslogvor einem Neustart gibt es konsequent einenFeb 10 09:20:00 arm rsyslogd: [origin software="rsyslogd" swVersion="5.8.6" x-pid="317" x-info="http://www.rsyslog.com"] exiting on signal 15.
Thomas
quelle
@ JMCF125 Ich habe meine Frage mit einigen weiteren Informationen aktualisiert
Thomas
Es stellt sich heraus, dass dies rsyslogdeinfach der Daemon ist , der diese Meldungen ausgibt ... Vielleicht haben Sie eine seltene Linux-Malware ... 1 bis 5 Minuten sind wenig Zeit, versuchen Sie, eine Live-CD einzulegen und erfahren Sie mehr. Wenn Sie nichts bekommen, würde ich Ihnen raten, neu zu installieren, möglicherweise eine andere Distribution.
JMCF125
Ich dachte anfangs an ein physikalisches Problem auf der Platine, wie eine etwas zu niedrige elektrische Spannung, aber würde das System diesbezüglich Bescheid wissen?
Thomas
Wenn der Strom das Problem wäre, würde mit der Live-CD dasselbe passieren.
JMCF125

Antworten:

11

So wie ich das verfolgen würde nach unten ist die Dienstprogramme zu ersetzen haltund shutdownmit einem Skript.

Erstellen Sie zuerst ein Skript wie das folgende unter /bin/fakehalt:

#!/bin/bash
exec >>/tmp/fakehalt.log 2>&1
date
echo "CMD=$0 PID=$$"
ps -ef --forest
echo '========'

Dann installieren Sie es mit:

chmod a+x /bin/fakehalt
mv /sbin/halt /sbin/halt.orig
ln -s /bin/fakehalt /sbin/halt
mv /sbin/shutdown /sbin/shutdown.orig
ln -s /bin/fakehalt /sbin/shutdown

Dadurch wird bei /tmp/fakehalt.logjedem Aufruf eine Protokolldatei erstellt . Es protokolliert den Namen, den es aufgerufen hat, als ( haltoder shutdown) seine eigene PID und anschließend ein Baumdiagramm aller Prozesse zu der Zeit.

Dies sollte Ihnen alle notwendigen Informationen geben, um es aufzuspüren. Schauen Sie einfach durch den psBaum und finden Sie das Skript.


/sbin/rebootsollte ein Symlink zu sein /sbin/halt. Ist dies nicht der Fall, ersetzen Sie es ebenfalls.


Wenn dies immer noch nicht erfasst wird, ersetzen /sbin/initSie es ebenfalls (da es auch zum Neustarten des Systems verwendet werden kann). Dies ist jedoch gefährlich, da das System beim Neustart nicht ordnungsgemäß funktioniert.

Patrick
quelle
Ich mag Ihre Lösung, ich habe sie ausprobiert und sie hat mir geholfen, das Problem zu finden (ein Job in fcron, der von jemand anderem hinterlassen wurde, der absichtlich heruntergefahren wurde, als ein Scheck falsch war)
Thomas
1
@Thomas Du hast vorhin erwähnt, dass fcrondas leer war, hast dich nur gefragt, warum die Aufgabe nicht angezeigt wurde. Kannst du sie jetzt sehen?
X Tian
@XTian menschliches Versagen, ich habe nach cron, aber nicht nach fcron gesucht
Thomas
@ Thomas, BTW, warum gab es einen Job, in fcrondem man schließen konnte?
JMCF125
1
@ JMCF125 Ja, das war der Fall (USB-Verbindungsprobleme mit dem Beagleboard) und hat mich dazu gebracht, sehr lange Google Groups-Threads zu lesen. Es war mein Fehler mit dem Fcron, das war ein falsches Feuer. Irgendwie sagt das Skript in fcron "reboot" und deshalb gibt es in kern.log eine Broadast-Nachricht. Vielen Dank für die
Thomas
3

Führen Sie Ihren Kernel mit so etwas wie init=/bin/bash. Dies sollte dazu führen, dass keine Prozesse ausgeführt werden als die this-Shell.

Stellen Sie sicher, dass beim Neustart kein Problem mehr vorliegt.

Finden Sie als Nächstes heraus, welches Init-System Sie normalerweise verwenden, und werfen Sie einen Blick auf alle von ihm gestarteten Dienste.

Versuchen Sie, die Dienste zu deaktivieren, bis das Neustartproblem behoben ist.

michas
quelle
in welche datei schreibst init=/bin/bashdu
Thomas
Dies hängt von Ihrem Bootloader ab. (grub, syslinux, etc.) Normalerweise sollte Ihnen Ihr Bootloader eine interaktive Möglichkeit bieten, Ihren Kernel auszuwählen und zusätzliche Parameter hinzuzufügen. Es hat auch eine Konfigurationsdatei (normalerweise in / boot), um permanent Parameter hinzuzufügen.
Michas
2

Nun, es ist eine dieser Möglichkeiten.

  • Jemand fährt herunter
  • cron fährt herunter (oder hat etwas gestartet, das heruntergefahren wird)
  • Die Energieverwaltung löst ein Herunterfahren aus (kein Strom, Ruhezustand, Energiesparmodus oder Leerlauf, die Hardware-Einschalttaste wird gedrückt).
  • Neustart nach Paketinstallation erforderlich
X Tian
quelle
Leider sind cron und fcron leer und ich bin der einzige, der mit dem Board verbunden ist. Niemand fährt herunter
Thomas
Das OP sagt: «Ich habe dafür gesorgt, dass beim Start kein Programm oder Daemon läuft.». Und ich bezweifle, dass sich jemand in seinen Computer gehackt hat, um ihn ab und zu herunterzufahren. Vielleicht ist es etwas anderes.
JMCF125
Suche nach shut (case independent startet nicht neu) in var / log / *
X Tian
kein Ergebnis für "shut"
Thomas