ไม่มีการบันทึกการบูตอีกต่อไปตั้งแต่ 16.04?


23

ฉันสังเกตเห็นว่า/var/log/boot.logไฟล์ของฉันมีวันที่ 2016-04-22 ครั้งสุดท้ายที่ฉันบูตใน 15.10 boot.logไฟล์Xenial อยู่ที่ไหน


คำถามจริงไม่ได้เข้าสู่ระบบ แต่เห็นสิ่งที่ชะลอการบูต ตอนนี้คุณใช้และsystemd-analyze blame / หรือ systemd-analyze critical-chain ฉันพบว่าง่ายกว่าการขุดผ่านไฟล์บันทึกเพื่อค้นหาสิ่งที่ทำให้เกิดปัญหา
oldfred

ดังนั้นไม่มีใครพูดได้เลยว่าทำไม boot.log จัดขึ้นในวันที่ 2016-04-22 ... จริงๆ?
jasmines

1
@jasmines: น่าเสียดายที่เราไม่สามารถบอกคุณได้ว่าทำไมสิ่งนี้จึงเกิดขึ้น ... เราไม่ใช่นักพัฒนา ... ฉันได้อัปเดตคำตอบของฉันด้วยข้อมูลใหม่ตั้งแต่วันนี้ ... คุณควรพิจารณารายงานข้อผิดพลาดบน Launchpad :)
cl-netbox

2
journalctl ไม่แสดงสิ่งที่ฉันเห็นในระหว่างการบูทและฉันต้องการมัน
jasmines

1
บันทึกที่ดูดีด้วย "[FAILED]" เป็นสีแดงคุณจัดการเพื่อให้ได้อีกครั้งหรือไม่ ไฟล์ของฉันมาจาก 2017 ...
กุมภ์

คำตอบ:


33

ใช้ journalctl

เนื่องจากjournaldมีบันทึกทั้งหมดคุณสามารถใช้journalctlคำสั่งด้วยตัวกรองที่เหมาะสม ในกรณีของboot.logซึ่งเคยมีข้อความจากระบบ init คุณสามารถทำได้:

journalctl -b0 SYSLOG_PID=1
  • -b0แสดงข้อความจากการบู๊ตปัจจุบัน-b1จากการบู๊ตก่อนหน้าและอื่น ๆ หากไม่มี-bตัวเลือกjournalctlจะแสดงข้อความตั้งแต่ต้นบันทึก
  • SYSLOG_PID กรองข้อความจาก PID 1 หรือที่เรียกว่า init

หรือ:

journalctl -b0 --system _COMM=systemd
  • _COMM=systemdค้นหาข้อความจากsystemdคำสั่ง เนื่องจากsystemdเป็น init นี่คือสิ่งที่เราสนใจ
  • --system กรองข้อความจากบันทึกของระบบแทนบันทึกเซสชันของผู้ใช้

ตัวอย่าง:

muru@muru-vm:~$ journalctl -b0 SYSLOG_PID=1
Apr 30 12:29:18 muru-vm systemd[1]: systemd 229 running in system mode. (+PA
Apr 30 12:29:18 muru-vm systemd[1]: Detected virtualization qemu.
Apr 30 12:29:18 muru-vm systemd[1]: Detected architecture x86-64.
Apr 30 12:29:18 muru-vm systemd[1]: Set hostname to <muru-vm>.
Apr 30 12:29:18 muru-vm systemd[1]: Initializing machine ID from random gene
Apr 30 12:29:18 muru-vm systemd[1]: Installed transient /etc/machine-id file
Apr 30 12:29:18 muru-vm systemd[1]: Set up automount Arbitrary Executable Fi
Apr 30 12:29:18 muru-vm systemd[1]: Listening on fsck to fsckd communication
Apr 30 12:29:18 muru-vm systemd[1]: Reached target User and Group Name Looku
Apr 30 12:29:18 muru-vm systemd[1]: Listening on udev Kernel Socket.
Apr 30 12:29:18 muru-vm systemd[1]: Started Forward Password Requests to Wal
Apr 30 12:29:18 muru-vm systemd[1]: Listening on /dev/initctl Compatibility 
Apr 30 12:29:18 muru-vm systemd[1]: Listening on Journal Socket.
Apr 30 12:29:18 muru-vm systemd[1]: Created slice User and Session Slice.
Apr 30 12:29:18 muru-vm systemd[1]: Created slice System Slice.
Apr 30 12:29:18 muru-vm systemd[1]: Starting Braille Device Support...
Apr 30 12:29:18 muru-vm systemd[1]: Mounting POSIX Message Queue File System
Apr 30 12:29:18 muru-vm systemd[1]: Mounting Debug File System...
Apr 30 12:29:18 muru-vm systemd[1]: Mounting Huge Pages File System...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Load Kernel Modules...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Uncomplicated firewall...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Create list of required static 
lines 1-23

journalctllessเปิดบันทึกในเพจเจอร์โดยค่าเริ่มต้นเพื่อให้คุณไม่จำเป็นต้องท่อ


การบันทึกแบบต่อเนื่อง

โดยค่าเริ่มต้น Ubuntu จะไม่เปิดใช้งานบันทึกประจำวันแบบถาวร ขอบคุณที่แสดงความคิดเห็นโดย @Auspexคุณต้องทำอย่างใดอย่างหนึ่งต่อไปนี้:

  1. แก้ไข/etc/systemd/journald.confรวม:

    Storage=persistent
    
  2. สร้าง/var/log/journalไดเรกทอรีด้วยตนเอง:

    mkdir /var/log/journal
    systemd-tmpfiles --create --prefix /var/log/journal
    systemctl restart systemd-journald
    

ที่เกี่ยวข้อง:


1
journalctl ไม่แสดงสิ่งที่ฉันเห็นในระหว่างการบูทและฉันต้องการมัน
jasmines

1
ฉันเห็นสิ่งที่บันทึกไว้ใน boot.log มาก่อนรูปแบบนั้น: [ตกลง] เริ่มการตรวจสอบตนเองและเทคโนโลยีการรายงาน (SMART) Daemon กำลังติดตั้งระบบไฟล์รูปแบบไฟล์ที่กำหนดเองโดยพลการ ... [ตกลง] เริ่มบริการเข้าสู่ระบบ การเริ่มต้น LSB: เริ่ม NTP daemon ... [ตกลง] เริ่มต้น Avahi mDNS / DNS-SD Stack [ตกลง] เริ่มต้นทำให้เครื่องพิมพ์ CUPS ระยะไกลพร้อมใช้งานในเครื่อง [ตกลง] เริ่มจัดการโมเด็ม [ตกลง] เริ่มผู้จัดการเครือข่าย กำลังเริ่มตัวจัดการเครือข่ายรอออนไลน์ ... [ตกลง] เข้าถึงเครือข่ายเป้าหมายแล้ว [ตกลง] บริการบัญชีเริ่มต้น และอื่น ๆ ...
ดอกมะลิ

1
รักษาโทนและคำพูดของคุณให้ดี มีนโยบายที่ดี ตามมันไป.
Seth

1
journalctl -bX ไม่มีประโยชน์สำหรับสิ่งนี้ id ไม่มีข้อความที่ปรากฏบนหน้าจอระหว่างการบู๊ตเท่านั้น boot.log ทำและมันทำงานได้เฉพาะบางครั้งในวันที่ 16.04 วิธีเดียวคือถ่ายภาพหรือเขียนมัน ผมมีปัญหาเดียวกัน.
Mike

1
ตามที่ jasmines ได้กล่าวแล้วข้อความบูตเริ่มต้นด้วย [OK] ... สิ่งนี้อยู่ใน boot.log แต่ใน journalctl มันแตกต่างกันเล็กน้อยแม้ว่าจะใช้แฟล็กเช่น -b0 SYSLOG_PID = 1 หรือ -b1 สำหรับการบู๊ตครั้งก่อนไม่ใช่ทุกอย่าง มีข้อผิดพลาดเป็นพิเศษที่ฉันพบและไม่พบที่ใดก็ได้ในบันทึก ข้อความส่วนใหญ่อยู่ที่นั่นฉันไม่ทราบวิธีการทำซ้ำปัญหานี้ดังนั้นฉันไม่สามารถช่วยได้ แต่มันเป็นข้อผิดพลาดกับเคอร์เนลและไม่พบปัญหาปัญหาหายไปตอนนี้ แต่ฉันยังไม่เห็นเหตุผลว่าทำไมบูต ข้อความจะไม่ถูกบันทึกอย่างถูกต้องตามที่ปรากฏบนหน้าจอ
Mike

3

ฉันได้รับรายงานข้อผิดพลาดและสังเกตเห็นในนี้: https://bugs.launchpad.net/ubuntu/+source/ubuntu-gnome-default-settings/+bug/1536771ว่าพลีมั ธ กำลังเขียนถึง boot.log

หากคุณดูที่https://launchpadlibrarian.net/257898272/plymouth-debug.logและค้นหา 'boot.log' ในเบราว์เซอร์ของคุณคุณจะได้รับบรรทัดต่อไปนี้:

[main.c:821] on_system_initialized:system now initialized, opening log 
[main.c:742] get_log_file_for_state:returning log file '/var/log/boot.log'
[main.c:805] prepare_logging:opening log '/var/log/boot.log'

ฉันไม่เข้าใจว่า internals ของพลีมั ธ ทำงานอย่างไร แต่เนื่องจากมันเป็นหน้าที่ของหน้าจอสแปลชที่ปรากฏขึ้นก่อนหน้าจอเข้าสู่ระบบฉันสามารถสันนิษฐานได้ว่าหากไม่มีหน้าจอสาด (หน้าจอสีดำ) ก่อนเข้าสู่หน้าจอเข้าสู่ระบบ ไฟล์จะไม่ถูกแก้ไข หากคุณมีหน้าจอสแปลชที่แสดงก่อนหน้าจอล็อกอินเอาต์พุตกระบวนการบู๊ตจะถูกเปลี่ยนเส้นทางไปยังไฟล์ boot.log


แต่น่าเสียดายที่ฉันจะมีสาด แต่ไม่มี boot.log ...
ดอกมะลิ

1
ฉันยืนยันว่าเมื่อการกำหนดค่าGRUB_CMDLINE_LINUX_DEFAULT=""ใน/etc/default/grubกว่าboot.logไม่ได้เขียน เมื่อใช้GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"เกินกว่าboot.logจะเขียนอีกครั้ง ฉันใช้ Ubuntu 19.04
adrhc

2

ใน Ubuntu 16.04 boot.logไฟล์จะยังคงอยู่ใน/var/logโฟลเดอร์ที่คุณสามารถดูที่นี่ ล็อกไฟล์สำหรับบูตมาจากวันนี้ (2016-04-29) อาจมีบางอย่างผิดพลาดเมื่อคุณติดตั้ง Ubuntu 16.04 หรือได้อัปเกรดระบบปฏิบัติการจาก Ubuntu 15.10 เป็น Ubuntu 16.04 LTS

หรือคุณสามารถตรวจสอบพฤติกรรมการบู๊ตทั่วไปจากkern.logไฟล์ที่ครอบคลุม ทางเลือกอื่นที่เป็นไปได้คือการกำหนดค่าsyslog daemonด้วยตนเองเพื่อสร้างไฟล์บันทึกการบูตและนี่คือการสอนวิธีการทำสิ่งนี้: วิธีการดูและกำหนดค่าล็อกไฟล์ Linux

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

ฉันตรวจสอบพฤติกรรมการบันทึกการบูตในเครื่องที่แตกต่างกันสองเครื่อง ในคอมพิวเตอร์ที่ใช้ BIOS แบบ UEFI boot.logไฟล์นั้นมีอยู่ - แต่ในคอมพิวเตอร์ที่มี BIOS แบบเดิมดูเหมือนว่าจะไม่มีอยู่เลย ดังนั้นในกรณีที่ติดตั้งระบบในโหมด BIOS ดั้งเดิม (MBR / msdos) นี่อาจเป็นคำอธิบายว่าทำไมboot.logไฟล์ของคุณถึงลงวันที่ 2016-04-22 มันเป็นสิ่งที่เหลืออยู่จาก Ubuntu 15.10

อัปเดตข้อมูล 2016-05-02:

ฉันทำการตรวจสอบพฤติกรรมของไฟล์บันทึกการบู๊ตและสังเกตว่าboot.logไฟล์ยังคงอยู่ในเครื่องที่ใช้ UEFI แต่เนื่องจากไม่กี่วันที่ไฟล์ว่างเปล่า อีกทางเลือกหนึ่งที่ฉันพยายามดูว่าเกิดอะไรขึ้นในระหว่างกระบวนการบู๊ตคือติดตั้งBootChartแต่bootchart.pngไม่มีอยู่ใน/var/logโฟลเดอร์ตามที่คาดไว้หลังจากรีบูตระบบ ... มีเพียง/var/log/bootchartโฟลเดอร์ว่างที่ยังไม่มีbootchart.pngไฟล์ที่คาดไว้

อัปเดตข้อมูล 2016-05-04:

วันนี้boot.logไฟล์ดูเหมือนจะมี "ฟังก์ชั่น" อีกครั้งมันเต็มไปด้วยข้อมูลบางส่วนจากกระบวนการบูต ดูเหมือนว่าจะมีพฤติกรรมที่เปลี่ยนแปลงแบบสุ่มซึ่งฉันคิดว่าไม่สามารถแก้ไขได้ใน Ask Ubuntu - ดังนั้นคุณควรพิจารณาจัดทำรายงานข้อผิดพลาดบน Launchpad เพื่อแก้ไขปัญหานี้!

สรุป - หลังจากหนึ่งสัปดาห์ของการสอบสวนของboot.logพฤติกรรมแฟ้มใน Ubuntu 16.04: คุณไม่ควรกังวลเกี่ยวกับการ/var/log/boot.logใด ๆ อีกต่อไปและเพิ่งได้รับใช้ในการjournalctlแทน


อย่าคิดว่ามีอะไรผิดพลาดอยู่แล้วฉันอยากจะยอมรับคำตอบของคุณถ้าคุณสามารถเพิ่มข้อเสนอแนะเกี่ยวกับวิธีการแก้ปัญหาของฉันได้อย่างไร
jasmines

พยายามกำหนดค่า syslog daemon ด้วยตนเองเพื่อสร้างไฟล์บันทึกการบูตหลังจากการสอน ฉันเพิ่ม # บันทึกข้อความบูตเพื่อ boot.log local7. * /var/log/boot.log ไปยังไฟล์ /etc/rsyslog.d/50-default.conf ของฉันยังไม่มีโชค, /var/log/boot.log ยังคงอยู่ 2016-04-22
jasmines

ในการติดตั้ง Ubuntu 16.04 ใหม่ฉันพบว่าboot.logไฟล์ไม่ได้อยู่ในตำแหน่งปกติ

@ParanoidPanda: ในทั้งสองเครื่องที่กล่าวถึงฉันทำการติดตั้งใหม่ / สะอาด (ไม่ใช่การอัพเกรด) ของ Ubuntu 16.04 LTS - ดูเหมือนว่าวิธีการเดิมของการบันทึกการบูตไม่ได้รับการสนับสนุนอย่างถูกต้องอีกต่อไป :)
cl-netbox

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