เผยแพร่เมื่อวันที่ 11 มิถุนายน 2023 เวลา 14:45 น. EDT
ความรักของ Hannah ที่มีต่อ Linux เกิดขึ้นครั้งแรกในขณะที่แข่งขันใน CyberPatriot เธอศึกษาสาขาวิชาต่างๆ เช่น การเขียนโปรแกรมและการซ่อมคอมพิวเตอร์ตั้งแต่อายุยังน้อย ซึ่งทำให้เธอเข้าใจถึงคุณค่าของเอกสารประกอบที่ดี และสาเหตุที่เอกสารบางอย่างไม่เป็นประโยชน์กับผู้ที่ไม่มีประสบการณ์ ประสบการณ์ดังกล่าวทำให้เธอพยายามสร้างเอกสารที่ตรงไปตรงมาและมีประโยชน์ ปัจจุบันเธอศึกษาวิทยาการคอมพิวเตอร์โดยเน้นสาขาวิชาย่อย เช่น การเขียนโปรแกรมและ Linux ที่มหาวิทยาลัยอีสเทิร์นนิวเม็กซิโก
Hannah เขียนให้กับ MakeUseOf ตั้งแต่เดือนเมษายน 2023 โดยเน้นไปที่ธุรกิจประเภทต่างๆ เช่น Linux, Programming, DIY และ Buyer's Guides นอกเหนือจากการมีส่วนร่วมในการตีพิมพ์ในท้องถิ่น เช่น หนังสือพิมพ์ The Chase ของ ENMU แล้ว Hannah ยังค้นพบความหลงใหลในการนำเสนอข่าวสารที่เกี่ยวข้อง ทันสมัย และถูกต้องแก่ชาวนิวเม็กซิโกใน KENW News 3
เป็นเรื่องน่าหงุดหงิดอย่างยิ่งเมื่อคอมพิวเตอร์ของคุณทำงานไม่ถูกต้องและคุณไม่รู้ว่าเพราะเหตุใด แม้ว่าทุกปัญหาที่คุณอาจพบใน Ubuntu จะไม่มีวิธีแก้ไขง่ายๆ แต่คุณสามารถใช้แหล่งข้อมูล เช่น บันทึกข้อผิดพลาดของ Ubuntu เพื่อแก้ไขปัญหาและวินิจฉัยปัญหาพีซีของคุณได้
บันทึกของ Ubuntu คืออะไร?
บันทึกของ Ubuntu เป็นไฟล์ที่ครอบคลุมซึ่งจัดเก็บบันทึกเหตุการณ์ทั้งหมดที่เกิดขึ้นบนคอมพิวเตอร์ของคุณ รวมถึงข้อมูลที่บันทึกไว้เกี่ยวกับฮาร์ดแวร์ ระบบปฏิบัติการ และแม้แต่ซอฟต์แวร์บางส่วนของคุณ
บันทึกเหล่านี้มีค่ามากสำหรับการแก้ไขปัญหาและกระบวนการวินิจฉัย โดยให้ข้อมูล เช่น การประทับเวลา บริบท และรายละเอียดเชิงลึกเกี่ยวกับเหตุการณ์ที่เกิดขึ้นทั่วทั้งระบบของคุณ หากต้องการใช้บันทึกเหล่านี้ คุณต้องรู้เกี่ยวกับประเภทที่สำคัญที่สุดก่อน
ประเภทของบันทึกของ Ubuntu
แทนที่จะเขียนข้อมูลทุกอย่างลงในบันทึกเดียว Ubuntu จะบันทึกข้อมูลในบันทึกแยกต่างหากที่ออกแบบมาเพื่อวัตถุประสงค์ที่แตกต่างกัน แม้ว่าจะมีรายการบันทึกมากเกินไป แต่ก็มีบันทึกที่สำคัญบางประการ (และประเภทบันทึก) ที่คุณควรทราบก่อนที่จะพยายามใช้เพื่อแก้ไขปัญหา
บางทีบันทึกที่โดดเด่นที่สุดในบรรดาบันทึกทั้งหมดก็คือ systemd เจอร์นัล systemd เป็นตัวจัดการบริการที่สำคัญใน Linux ด้วยเหตุนี้ ปัญหาเกี่ยวกับบริการระบบปฏิบัติการต่างๆ จำนวนมากจึงถูกบันทึกไว้ใน systemd Journal คุณสามารถนำทางบันทึกนี้ได้ด้วยคำสั่งjournalctl
บันทึกของระบบก็มีความสำคัญเช่นกัน บันทึกเหล่านี้เกี่ยวข้องโดยตรงกับส่วนต่างๆ ของ Ubuntu และอาจรวมถึงข้อความต่างๆ เช่น ข้อความของระบบ บันทึกของระบบบางส่วนประกอบด้วย:
- บันทึกการอนุญาต: กระบวนการใดๆ ที่ต้องมีการอนุญาต เช่น คำสั่ง sudo หรือการเข้าสู่ระบบของผู้ใช้ จะถูกบันทึกไว้ในบันทึกนี้
- บันทึกภูต: บันทึกนี้เกี่ยวข้องกับบริการพื้นหลัง (หรือ daemons) เช่น Bluetooth และ SSH
- บันทึกการแก้ไขข้อบกพร่อง: บันทึกนี้ให้ข้อมูลการดีบักที่ระบบให้ไว้ เช่นเดียวกับแอปพลิเคชันที่บันทึกไปที่ syslogd
- บันทึกเคอร์เนล: บันทึกนี้ประกอบด้วยบันทึกกิจกรรมที่เกี่ยวข้องกับเคอร์เนล Linux
- บันทึกของระบบ: บันทึกนี้จัดเก็บบันทึกที่รวมกิจกรรมทั่วโลกส่วนใหญ่ในระบบของคุณ
- บันทึกความล้มเหลว: บันทึกนี้จะจัดเก็บบันทึกการเข้าสู่ระบบที่ล้มเหลว ซึ่งช่วยให้มีประโยชน์อย่างยิ่งในการตรวจสอบว่ามีคนพยายามเจาะเข้าสู่ระบบของคุณหรือไม่
คอมพิวเตอร์ของคุณอาจมีบันทึกแอปพลิเคชัน (เช่น ไฟล์บันทึก Apache หรือไฟล์บันทึก MySQL) เก็บไว้ใน /var/log ไดเรกทอรี คุณสามารถใช้คำสั่ง ls เพื่อดูไฟล์บันทึกทั้งหมดที่จัดเก็บไว้ในคอมพิวเตอร์ของคุณในปัจจุบัน:
ls /var/log วิธีอ่านบันทึกบน Ubuntu
เมื่อคุณคุ้นเคยกับบันทึกประเภทต่างๆ บนระบบของคุณแล้ว คุณก็พร้อมที่จะเจาะลึกข้อมูลที่เก็บไว้แล้ว ก่อนที่คุณจะเริ่มต้น สิ่งสำคัญคือต้องทราบว่าบันทึกของระบบบางระบบไม่ได้เขียนในลักษณะเดียวกัน
บันทึกบางรายการจะถูกจัดเก็บเป็นไฟล์ข้อความธรรมดา ในขณะที่บันทึกอื่นๆ จะถูกจัดเก็บเป็นไฟล์ไบนารี คุณจะต้องทำความคุ้นเคยกับไฟล์ทั้งสองประเภท—และเครื่องมือบรรทัดคำสั่งที่จับคู่ด้วย—หากคุณต้องการแยกวิเคราะห์บันทึกในระบบของคุณอย่างมีประสิทธิภาพ
บันทึกไฟล์ข้อความธรรมดาใช้เทมเพลตที่เรียกว่า RSYSLOG_TraditionalFileFormat และมีฟิลด์พื้นฐานสี่ฟิลด์:การประทับเวลา ชื่อโฮสต์ แอปพลิเคชัน และข้อความ ตัวอย่างเช่น บันทึกเคอร์เนลใช้เทมเพลตนี้:
ต่างจากบันทึกข้อความธรรมดา ไม่สามารถอ่านบันทึกไฟล์ไบนารี่ได้อย่างง่ายดาย คุณจะต้องใช้โปรแกรมอรรถประโยชน์บรรทัดคำสั่ง เช่น ใคร , สุดท้าย และ สุดท้าย เพื่ออ่านบันทึกเช่น utmp, wtmp และ btmp ตามลำดับ คำสั่งเช่น utmpdump สำหรับตัวแปร utmp และ systemctl สำหรับ Journald ยังได้รับการออกแบบมาเพื่อพิมพ์ข้อมูลบันทึกไบนารีในรูปแบบที่อ่านได้
ในสถานการณ์ส่วนใหญ่ การรู้วิธีแยกวิเคราะห์บันทึกเหล่านี้อย่างมีประสิทธิภาพในเทอร์มินัลถือเป็นสิ่งสำคัญ คุณสามารถใช้คำสั่งเช่น grep และ tail เพื่อดึงข้อมูลเฉพาะโดยไม่ต้องอ่านบันทึกของระบบทั้งหมดอย่างละเอียด
คำสั่งที่ดีที่สุดบางคำสั่งที่คุณสามารถใช้ได้ ได้แก่:
- grep: ค้นหาสตริงอักขระในไฟล์
- หาง: พิมพ์ 10 บรรทัดจากท้ายไฟล์
- หัว: พิมพ์ 10 บรรทัดจากจุดเริ่มต้นของไฟล์
- เรียงลำดับ: พิมพ์ไฟล์ที่จัดเรียงใหม่ตามข้อกำหนดของคุณ
เครื่องมือบรรทัดคำสั่ง เช่น utmpdump และ systemctl ยังมีแฟล็กที่เป็นประโยชน์ที่คุณควรคำนึงถึงเมื่อทำงานในเทอร์มินัล ธงเหล่านี้จะช่วยให้คุณสามารถแก้ไขคำสั่งและเพิ่มการควบคุมสิ่งที่พิมพ์ในเทอร์มินัลได้
แฟล็กที่มีประโยชน์เป็นพิเศษสำหรับคำสั่ง Journalctl คือ:
- -b: ทำให้ Journalctl ส่งคืนเฉพาะรายการที่รวบรวมหลังจากการรีบูตครั้งล่าสุด
- --ตั้งแต่ “ปปปป-ดด-วว HH:MM:SS” --จนถึง “ปปปป-ดด-วว HH:MM:SS”: สั่งให้ Journalctl ส่งคืนเฉพาะรายการก่อนและ/หรือหลังวันที่ที่ระบุ
- -p NUM: กรองรายการตามระดับความสำคัญของ syslog (ตั้งแต่ 0/emerg ถึง 7/debug)
การแก้ไขปัญหาข้อผิดพลาดด้วยบันทึกของ Ubuntu
เมื่อคุณคุ้นเคยกับบันทึกของระบบประเภทต่างๆ และรู้วิธีอ่านบันทึกอย่างมีประสิทธิภาพแล้ว สิ่งเดียวที่ต้องทำคือนำข้อมูลที่รวบรวมมาไปใช้ในกระบวนการแก้ไขปัญหา โดยปกติแล้วกระบวนการนี้ต้องใช้ความคิดสร้างสรรค์
เป็นความคิดที่ดีที่จะแก้ไขปัญหาโดยคำนึงถึงลักษณะเด่นของปัญหาที่คุณกำลังเผชิญอยู่ก่อน ปัญหาเกิดขึ้นเมื่อคุณเปิดแอปพลิเคชั่นบางตัวหรือไม่? ระบบของคุณขัดข้องและรีบูตทุกครั้งที่เกิดปัญหาหรือไม่
เมื่อคุณคิดถึงลักษณะของปัญหา มันก็จะนำคุณไปสู่บันทึกที่ดีที่สุดสำหรับการรวบรวมข้อมูลเกี่ยวกับเรื่องนี้ ตัวอย่างเช่น หากระบบของคุณมีปัญหาในระหว่างกระบวนการบู๊ต คุณอาจได้รับข้อมูลที่เป็นประโยชน์โดยการอ้างอิงรายการบูตในเจอร์นัล
ป้อนคำสั่งต่อไปนี้เพื่อพิมพ์บูทที่บันทึกไว้ทั้งหมดในเจอร์นัล:
journalctl --list-boots เครื่องจะพิมพ์รายการบูทที่บันทึกไว้ รองเท้าบู๊ตล่าสุดจะอยู่ที่ด้านล่างของรายการ ดูวันที่และเวลาที่บันทึกไว้สำหรับการบูตแต่ละครั้งจนกว่าคุณจะพบการบูตที่บันทึกไว้ซึ่งมีข้อผิดพลาดเกิดขึ้น
นำตัวเลขจากคอลัมน์ซ้ายสุดเป็น NUM แล้วป้อนคำสั่งต่อไปนี้เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับการบูต:
journalctl -b -NUM -n บันทึกข้อมูลที่ครอบคลุมเกี่ยวกับการบู๊ตจะปรากฏขึ้น หากเกิดข้อผิดพลาดผิดปกติใดๆ ในระหว่างขั้นตอนการบู๊ต คุณสามารถใช้ข้อมูลจากบันทึกนี้เพื่อดำเนินการแก้ไขปัญหาต่อไปได้
หลักการเดียวกันนี้ใช้กับประเด็นอื่นๆ อีกมากมาย หากคุณไม่ทราบมากนักเกี่ยวกับปัญหาที่คอมพิวเตอร์ของคุณกำลังประสบอยู่ อาจเป็นเรื่องยากที่จะทราบว่าจะเริ่มต้นจากตรงไหน มีบันทึกสองสามข้อที่โดดเด่นว่าเป็นประโยชน์อย่างยิ่งสำหรับปัญหาต่างๆ มากมายกับระบบ Ubuntu
syslog เป็นบันทึกที่ดีที่สุดสำหรับการเริ่มต้นในระหว่างกระบวนการแก้ไขปัญหา เนื่องจากเป็นบันทึกทั่วโลกที่มีประสิทธิภาพ จึงมีแนวโน้มที่จะมีข้อมูลบางอย่างเกี่ยวกับปัญหาที่คุณกำลังเผชิญอยู่ หากคุณประสบปัญหาในการตรวจสอบสิทธิ์ (เช่น ข้อผิดพลาด sudo รหัสผ่านไม่ทำงาน) หรือการบูต ให้ตรวจสอบ auth.log หรือ boot.log .
ค้นหาบันทึกที่เกี่ยวข้องมากที่สุดด้วยคำสำคัญที่เกี่ยวข้องกับปัญหาของคุณ ตัวอย่างเช่น หากคุณประสบปัญหาในการตรวจสอบสิทธิ์ คุณสามารถดึงบันทึกจาก auth.log ด้วยคำสั่งต่อไปนี้:
cat /var/log/auth.log | grep 'Authentication failure' ในที่สุดคุณจะพบข้อมูลที่ให้ข้อมูลเชิงลึกที่ยอดเยี่ยมอย่างแน่นอน เมื่อคุณจับคู่ข้อมูลจากบันทึกข้อผิดพลาดกับการค้นคว้าบนเว็บ คุณมีแนวโน้มที่จะพบทรัพยากรที่จะช่วยคุณแก้ไขปัญหาเกี่ยวกับระบบของคุณได้ในเวลาอันรวดเร็ว
อ้างอิงแหล่งข้อมูลออนไลน์เพื่อแก้ไขข้อผิดพลาดของ Linux
คุณไม่จำเป็นต้องทำตามขั้นตอนการแก้ไขปัญหาเพียงอย่างเดียว เมื่อคุณรวบรวมข้อมูลเกี่ยวกับปัญหาที่เกิดขึ้นกับคอมพิวเตอร์ของคุณ คุณควรใช้แหล่งข้อมูลออนไลน์ เช่น Ask Ubuntu และคำแนะนำโดยละเอียดที่ MakeUseOf เพื่อเข้าใกล้การวินิจฉัยและการซ่อมแซมพีซีของคุณในที่สุด