"Il sistema non funziona per il riavvio ora"


13

Sono collegato a un beagleboard tramite tty e all'improvviso vedo questo messaggio:

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

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

Il sistema è Ubuntu 12.10. C'è un posto dove posso trovare perché il sistema ha deciso di andare in crash?

AGGIORNAMENTO: maggiori informazioni

  • Questo in realtà accade sempre, la scheda si riavvia ogni 1-5 minuti.
  • Mi sono assicurato che nessun programma o demone fosse eseguito all'avvio.
  • Non riesco a trovare da Restartingnessuna parte in nessun file in/var/log
  • In syslogprima di un riavvio c'è costantemente aFeb 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.

@ JMCF125 Ho aggiornato la mia domanda con qualche informazione in più
Thomas,

Si scopre che rsyslogdè semplicemente il demone che dà quei messaggi ... Forse hai un raro malware Linux ... 1 a 5 minuti è poco tempo, prova a inserire un Live CD e scopri di più. Se non ottieni nulla, ti consiglio di reinstallare, possibilmente un'altra distribuzione.
JMCF125,

All'inizio stavo pensando a un problema fisico sulla scheda, come se la tensione elettrica fosse un po 'troppo bassa, ma dato il sistema lo saprebbe?
Thomas,

Se la potenza fosse il problema, con il Live CD lo stesso accadrebbe.
JMCF125,

Risposte:


11

Il modo in cui lo rintraccio è di sostituire le utility halte shutdowncon uno script.

Innanzitutto crea uno script come il seguente in /bin/fakehalt:

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

Quindi installalo con:

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

Ciò creerà un file di registro /tmp/fakehalt.logogni volta che viene chiamato. Registra il nome che è stato chiamato come ( halto shutdown) è il proprio PID, quindi un diagramma ad albero di tutti i processi in quel momento.

Questo dovrebbe darti tutte le informazioni necessarie per rintracciarlo. Basta guardare attraverso l' psalbero e trovare ciò che ha chiamato la sceneggiatura.


/sbin/rebootdovrebbe essere un collegamento simbolico a /sbin/halt. In caso contrario, sostituiscilo anche tu.


Se il problema persiste, sostituisci /sbin/initanche (in quanto può essere utilizzato anche per riavviare il sistema). Ma questo è pericoloso come se il sistema si riavviasse, non funzionerà correttamente.


Mi piace la tua soluzione, l'ho provata e mi ha aiutato a trovare il problema (un lavoro in fcron lasciato da qualcun altro che si è spento di proposito quando un controllo era falso)
Thomas

1
@Thomas Hai detto in precedenza che fcronera vuoto, ti sei solo chiesto perché l'attività non è stata mostrata, riesci a vederlo ora?
X Tian,

@XTian errore umano, ho controllato cron ma non fcron
Thomas

@Thomas, BTW, perché c'era un lavoro fcronda chiudere?
JMCF125,

1
@ JMCF125 Sì, è stato il caso (problemi di disconnessione USB beagleboard) e mi ha portato a leggere discussioni di gruppi Google molto lunghe. È stato un mio errore con il fcron, questo è stato un falso incendio. In qualche modo lo script in fcron dice "riavvio" ed è per questo che c'è un messaggio generale in kern.log. Grazie per il follow-up
Thomas,

3

Esegui il tuo kernel con qualcosa del genere init=/bin/bash. Questo dovrebbe far sì che nessun processo sia in esecuzione oltre a questa shell.

Verifica che ci siano più problemi di riavvio.

Quindi scopri quale sistema init usi normalmente e dai un'occhiata a tutti i servizi avviati da esso.

Prova a disabilitare i servizi fino alla scomparsa del problema di riavvio.


in quale file scrivi init=/bin/bash?
Thomas,

Questo dipende dal tuo boot loader. (grub, syslinux, ecc.) Di solito il tuo boot loader dovrebbe darti un modo interattivo per scegliere il tuo kernel e aggiungere parametri aggiuntivi. Ha anche alcuni file di configurazione (di solito in / boot) per aggiungere parametri in modo permanente.
michas,

2

Bene, è una di queste possibilità.

  • Qualcuno sta eseguendo l'arresto
  • cron sta eseguendo l'arresto (o ha avviato qualcosa che sta eseguendo l'arresto)
  • la gestione dell'alimentazione attiva un arresto (nessun sistema di alimentazione, ibernazione, sospensione o inattività, il pulsante hardware di alimentazione è premuto)
  • riavvio richiesto dopo l'installazione del pacchetto

Sfortunatamente cron e fcron sono vuoti, e io sono l'unico collegato alla scheda, nessuno sta eseguendo l'arresto
Thomas

L'OP dice: «Mi sono assicurato che nessun programma o demone fosse eseguito all'avvio.». E dubito che qualcuno abbia violato il suo computer per spegnerlo ogni tanto. Forse è qualcos'altro.
JMCF125,

Cerca shut (indipendente dal caso non riavviare) in var / log / *
X Tian

nessun risultato per "chiuso"
Thomas
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.