“Sistem akan mati untuk reboot sekarang”

13

Saya terhubung ke papan pengumuman melalui tty dan tiba-tiba saya melihat pesan ini:

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

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

Sistemnya adalah Ubuntu 12.10. Apakah ada tempat di mana saya dapat menemukan mengapa sistem memutuskan untuk turun?

UPDATE: Info lebih lanjut

  • Ini sebenarnya terjadi setiap saat, papan reboot setiap 1 hingga 5 menit.
  • Saya memastikan tidak ada program atau daemon yang berjalan saat startup.
  • Saya tidak dapat menemukan Restartingfile mana pun di/var/log
  • Di syslogsebelum reboot ada secara konsisten 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.
Thomas
sumber
@ JMCF125 Saya telah memperbarui pertanyaan saya dengan beberapa info lagi
Thomas
Ternyata itu rsyslogdhanyalah daemon yang memberikan pesan-pesan itu ... Mungkin Anda mendapatkan malware Linux yang langka ... 1 hingga 5 menit adalah sedikit waktu, cobalah untuk memasukkan CD Langsung dan mencari tahu lebih banyak. Jika Anda tidak mendapatkan apa-apa, saya sarankan Anda menginstal ulang, mungkin distro lain.
JMCF125
Saya pada awalnya berpikir untuk masalah fisik di papan seperti tegangan listrik menjadi terlalu rendah, tetapi mengingat sistem akan mengetahuinya?
Thomas
Jika daya masalahnya, dengan Live CD hal yang sama akan terjadi.
JMCF125

Jawaban:

11

Cara saya melacak ini adalah mengganti utilitas haltdan shutdowndengan skrip.

Pertama buat skrip seperti berikut di /bin/fakehalt:

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

Kemudian instal dengan:

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

Ini akan membuat file log /tmp/fakehalt.logsetiap kali dipanggil. Ini akan mencatat nama yang disebut sebagai ( haltatau shutdown) PID itu sendiri, dan kemudian diagram pohon dari semua proses pada saat itu.

Ini akan memberi Anda semua info yang diperlukan untuk melacaknya. Lihat saja melalui pspohon dan temukan apa yang disebut skrip.


/sbin/rebootharus menjadi symlink ke /sbin/halt. Jika tidak, ganti juga.


Jika ini masih tidak menangkapnya, ganti /sbin/initjuga (karena itu juga dapat digunakan untuk me-reboot sistem). Tapi ini berbahaya karena jika sistem reboot, itu tidak akan muncul dengan benar.

Patrick
sumber
Saya suka solusi Anda, saya sudah mencobanya dan itu membantu saya menemukan masalah (pekerjaan di fcron ditinggalkan oleh orang lain yang melakukan shutdown dengan sengaja ketika cek salah)
Thomas
1
@ Thomas Yang Anda sebutkan tadi fcronkosong, hanya ingin tahu mengapa tugas itu tidak muncul, bisakah Anda melihatnya sekarang?
X Tian
@XTian human error, saya memeriksa cron tetapi bukan fcron
Thomas
@ Thomas, BTW, mengapa ada pekerjaan yang fcronharus ditutup?
JMCF125
1
@ JMCF125 Ya itu yang terjadi (beagleboard usb disconnect issues) dan membuat saya membaca utas grup google yang sangat panjang. Itu kesalahan saya dengan fcron, ini adalah api palsu. Entah bagaimana skrip di fcron mengatakan "reboot" dan itulah sebabnya ada pesan yang luas di kern.log. Terima kasih telah menindaklanjuti
Thomas
3

Jalankan kernel Anda dengan sesuatu seperti init=/bin/bash. Ini seharusnya membuat tidak ada proses yang berjalan selain shell ini.

Verifikasi bahwa ada masalah me-reboot lagi.

Selanjutnya cari tahu sistem init apa yang Anda gunakan secara normal dan lihat semua layanan yang dimulai olehnya.

Cobalah untuk menonaktifkan layanan sampai masalah reboot muncul.

michas
sumber
dalam file apa yang Anda tulis init=/bin/bash?
Thomas
Ini tergantung pada bootloader Anda. (grub, syslinux, dll.) Biasanya bootloader Anda harus memberi Anda beberapa cara interaktif untuk memilih kernel Anda dan menambahkan parameter tambahan. Ini juga memiliki beberapa file konfigurasi (biasanya di / boot) untuk menambahkan parameter secara permanen.
michas
2

Yah itu salah satu kemungkinan ini.

  • Seseorang menjalankan shutdown
  • cron menjalankan shutdown (atau telah memulai sesuatu yang menjalankan shutdown)
  • manajemen daya memicu shutdown (tidak ada daya, hibernasi, tidur atau sistem idle, tombol perangkat keras ditekan)
  • reboot diminta setelah instalasi paket
X Tian
sumber
Sayangnya cron dan fcron kosong, dan saya satu-satunya yang terhubung ke papan, tidak ada yang menjalankan shutdown
Thomas
OP mengatakan: «Saya memastikan tidak ada program atau daemon yang berjalan saat startup.». Dan saya ragu seseorang telah meretas komputernya untuk mematikannya sesekali. Mungkin itu sesuatu yang lain.
JMCF125
Cari ditutup (case case tidak restart) di var / log / *
X Tian
tidak ada hasil untuk "tutup"
Thomas