“ ระบบกำลังจะรีบูตตอนนี้”


13

ฉันเชื่อมต่อกับบีเกิ้ลบอร์ดผ่าน tty และฉันก็เห็นข้อความนี้:

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

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

ระบบนี้เป็น Ubuntu 12.10 มีสถานที่ที่ฉันสามารถค้นหาสาเหตุที่ระบบตัดสินใจลงไปหรือไม่?

อัปเดต: ข้อมูลเพิ่มเติม

  • สิ่งนี้เกิดขึ้นจริงตลอดเวลากระดานรีบูตทุก ๆ 1 ถึง 5 นาที
  • ฉันแน่ใจว่าไม่มีโปรแกรมหรือ daemon ทำงานเมื่อเริ่มต้น
  • ฉันไม่พบRestartingไฟล์ใด ๆ/var/log
  • ในsyslogก่อนที่จะรีบูตมีอย่างต่อเนื่องFeb 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 ฉันได้อัปเดตคำถามของฉันพร้อมกับข้อมูลเพิ่มเติม
Thomas

ปรากฎว่าrsyslogdเป็นเพียงแค่ภูตที่ให้ข้อความเหล่านั้น ... บางทีคุณอาจมีมัลแวร์ Linux ที่หายาก ... 1 ถึง 5 นาทีก็มีเวลาน้อยลองใส่ Live CD และค้นหาข้อมูลเพิ่มเติม หากคุณไม่ได้อะไรฉันแนะนำให้คุณติดตั้งใหม่อาจเป็น distro อื่น
JMCF125

ฉันเริ่มคิดว่าจะมีปัญหาทางกายภาพบนกระดานเช่นแรงดันไฟฟ้าต่ำเกินไปเล็กน้อย แต่ระบบจะรู้ได้อย่างไร
โทมัส

หากไฟฟ้ามีปัญหาด้วย Live CD จะเกิดขึ้นเช่นเดียวกัน
JMCF125

คำตอบ:


11

วิธีที่ฉันติดตามสิ่งนี้คือการแทนที่โปรแกรมอรรถประโยชน์haltและshutdownด้วยสคริปต์

สร้างสคริปต์ก่อนเช่นต่อไปนี้ที่/bin/fakehalt:

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

จากนั้นติดตั้งด้วย:

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

สิ่งนี้จะสร้างล็อกไฟล์ใน/tmp/fakehalt.logแต่ละครั้งที่เรียกใช้ มันจะบันทึกชื่อที่เรียกว่าเป็น ( haltหรือshutdown) เป็น PID ของตัวเองและจากนั้นแผนภาพต้นไม้ของกระบวนการทั้งหมดในเวลานั้น

สิ่งนี้จะให้ข้อมูลที่จำเป็นทั้งหมดแก่คุณในการติดตาม เพียงมองผ่านpsต้นไม้และค้นหาสิ่งที่เรียกว่าสคริปต์


/sbin/rebootควรจะ symlink /sbin/haltไป หากไม่เป็นเช่นนั้นให้แทนที่ด้วย


หากยังไม่สามารถจับภาพได้ให้แทนที่/sbin/initด้วย (เพราะสามารถใช้เพื่อรีบูตระบบ) แต่นี่เป็นอันตรายราวกับว่าระบบรีบูตมันจะไม่เกิดขึ้นอย่างถูกต้อง


ฉันชอบวิธีการแก้ปัญหาของคุณฉันได้ลองแล้วและมันช่วยให้ฉันพบปัญหา (งานใน fcron จากคนอื่นที่ปิดการทำงานโดยมีวัตถุประสงค์เมื่อตรวจสอบเป็นเท็จ)
โทมัส

1
@Thomas คุณพูดถึงก่อนหน้านี้ว่าfcronว่างเปล่าแค่สงสัยว่าทำไมงานไม่แสดงคุณเห็นมันตอนนี้ได้ไหม
X Tian

@ ข้อผิดพลาดของมนุษย์ XTian ฉันตรวจสอบ cron แต่ไม่ใช่ fcron
Thomas

@Thomas, BTW ทำไมจึงมีงานfcronต้องปิดตัวลง?
JMCF125

1
@ JMCF125 ใช่มันเป็นกรณี (ปัญหาการตัดการเชื่อมต่อ usb beagleboard) และทำให้ฉันอ่านกระทู้ google กลุ่มยาวมาก มันเป็นความผิดพลาดของฉันกับ fcron นี่เป็นไฟที่ผิดพลาด อย่างใดสคริปต์ใน fcron พูดว่า "รีบูต" และนั่นคือเหตุผลที่มีข้อความที่กว้างใน kern.log ขอบคุณที่ติดตาม
Thomas

3

init=/bin/bashเรียกคุณเคอร์เนลกับสิ่งที่ต้องการ สิ่งนี้ควรทำให้ไม่มีกระบวนการใดทำงานมากกว่าเชลล์นี้

ตรวจสอบว่ามีปัญหาเกี่ยวกับการรีบูตอีกต่อไป

ถัดไปค้นหาระบบ init ที่คุณใช้ตามปกติและดูบริการทั้งหมดที่เริ่มโดยระบบ

ลองปิดการใช้งานบริการจนกว่าปัญหาการรีบูตจะหายไป


คุณเขียนไฟล์init=/bin/bashอะไร
โทมัส

ขึ้นอยู่กับบูตโหลดเดอร์ของคุณ (ด้วง, syslinux ฯลฯ ) โดยปกติแล้วบูตโหลดเดอร์ของคุณควรให้วิธีการโต้ตอบในการเลือกเคอร์เนลและเพิ่มพารามิเตอร์เพิ่มเติม นอกจากนี้ยังมีไฟล์การกำหนดค่าบางอย่าง (โดยปกติจะอยู่ใน / boot) เพื่อเพิ่มพารามิเตอร์อย่างถาวร
michas

2

มันเป็นหนึ่งในความเป็นไปได้เหล่านี้

  • มีคนกำลังเรียกใช้การปิดระบบ
  • cron กำลังปิดการทำงาน (หรือเริ่มบางสิ่งที่กำลังปิดการทำงาน)
  • การจัดการพลังงานก่อให้เกิดการปิดเครื่อง (ไม่มีระบบไฟฟ้า, ไฮเบอร์เนต, สลีปหรือไม่ได้ใช้งาน, กดปุ่มฮาร์ดแวร์พลังงาน)
  • ร้องขอการรีบูตหลังจากติดตั้งแพ็คเกจ

แต่น่าเสียดายที่ cron และ fcron ว่างเปล่าและฉันเป็นคนเดียวที่เชื่อมต่อกับบอร์ดไม่มีใครกำลังปิดตัวเอง
Thomas

OP กล่าวว่า: «ฉันแน่ใจว่าไม่มีโปรแกรมหรือ daemon ทำงานเมื่อเริ่มต้น» และฉันสงสัยว่ามีบางคนที่แฮ็คเข้าสู่คอมพิวเตอร์ของเขาเพื่อเรียกใช้ปิดตัวเองเป็นครั้งคราว บางทีมันอาจเป็นอย่างอื่น
JMCF125

ค้นหาการปิด (กรณีไม่ได้รีสตาร์ท) ใน var / log / *
X Tian

ไม่มีผลลัพธ์สำหรับ "ปิด"
โทมัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.