יומני מערכת הם החבר הכי טוב שלך כאשר אתה רוצה לפתור שגיאות. הנה כל מה שאתה צריך לדעת על ניטור יומני אובונטו.
זה מאוד מתסכל כשהמחשב שלך לא עובד כמו שצריך ואתה לא יודע למה. למרות שאין פתרונות פשוטים לכל בעיה שאתה עלול להיתקל בו באובונטו, אתה יכול להשתמש במשאבים כמו יומני השגיאות של אובונטו כדי לפתור ולאבחן את צרות המחשב שלך.
מה הם יומני אובונטו?
האובונטו יומנים הם קבצים מקיפים המאחסנים תיעוד של כל האירועים המתרחשים במחשב שלך. הוא כולל מידע מתועד על החומרה, מערכת ההפעלה ואפילו חלק מהתוכנות שלך.
יומנים אלו חשובים לאין ערוך לתהליך פתרון הבעיות והאבחון. הם מספקים מידע כמו חותמות זמן, הקשר ופרטים מעמיקים על אירועים המתרחשים במערכת שלך. כדי לעשות שימוש ביומנים אלה, עליך לדעת תחילה על הסוגים החשובים ביותר.
סוגי יומני אובונטו
במקום לכתוב כל פיסת מידע ביומן אחד, אובונטו מתעדת מידע ביומנים נפרדים המיועדים למטרות שונות. אמנם יש יותר מדי יומנים לרשימה, אבל יש כמה יומנים חשובים (וסוגי יומנים) שאתה צריך להיות מודע אליהם לפני שאתה מנסה להשתמש בהם לפתרון בעיות.
אולי הבולט מבין כל היומנים הוא יומן systemd. systemd הוא מנהל שירות אינטגרלי בלינוקס. כתוצאה מכך, בעיות בשירותי מערכת הפעלה שונים נרשמות ביומן systemd. אתה יכול לנווט ביומן זה עם
הפקודה journalctl.גם יומני המערכת חשובים מאוד. יומנים אלה נוגעים ישירות לחלקים שונים של אובונטו ועשויים לכלול דברים כמו הודעות מערכת. חלק מיומני המערכת כוללים:
- יומן ההרשאות: כל תהליך הדורש הרשאה, כגון פקודת sudo או כניסות משתמש, יתועד ביומן זה.
- יומן הדמון: יומן זה מתייחס לכל שירותי רקע (או דמונים), כגון Bluetooth ו-SSH.
- יומן ניפוי הבאגים: יומן זה מספק מידע איתור באגים המסופק על ידי המערכת וכן יישומים שנכנסים ל-syslogd.
- יומן הליבה: יומן זה כולל רשומות של פעילות הכוללת את ליבת לינוקס.
- יומן המערכת: יומן זה מאחסן רשומות הכוללות את רוב סוגי הפעילות הגלובלית במערכת שלך.
- יומן הכשלים: יומן זה מאחסן רשומות של כניסות כושלות, מה שעושה אותו מועיל במיוחד לבדיקה אם מישהו ניסה לפרוץ למערכת שלך.
ייתכן שלמחשב שלך יהיו גם יומני יישומים (כגון קובצי יומן Apache או קובצי יומן MySQL) המאוחסנים ב- /var/log מַדרִיך. אתה יכול השתמש בפקודה ls כדי לראות את כל קובצי היומן המאוחסנים כעת במחשב שלך:
ls /var/log
כיצד לקרוא יומנים באובונטו
כעת כשאתה מכיר את סוגי היומנים השונים במערכת שלך, אתה מוכן להתעמק במידע שהם מאחסנים. לפני שתתחיל, חשוב לציין שלא כל יומני המערכת נכתבים באותו אופן.
יומנים מסוימים מאוחסנים כקבצי טקסט רגיל ואילו יומנים אחרים מאוחסנים כקבצים בינאריים. תצטרך להכיר את שני סוגי הקבצים - וכלי שורת הפקודה שהם משויכים אליהם - אם ברצונך לנתח ביעילות את הרשומות במערכת שלך.
יומני קבצי טקסט רגיל משתמשים בתבנית המכונה RSYSLOG_TraditionalFileFormat וכוללים ארבעה שדות בסיסיים: חותמת זמן, שם מארח, יישום והודעה. לדוגמה, יומן הקרנל משתמש בתבנית זו:
שלא כמו יומני טקסט רגיל, לא ניתן לקרוא יומני קבצים בינאריים באותה קלות. תצטרך להשתמש בכלי עזר בשורת הפקודה כמו WHO, אחרון, ו lastb כדי לקרוא יומנים כמו utmp, wtmp ו-btmp, בהתאמה. פקודות כמו utmpdump עבור גרסאות utmp ו systemctl עבור journald נועדו גם להדפיס מידע יומן בינארי בפורמט קריא.
ברוב המצבים, יהיה חשוב לדעת כיצד לנתח דרך היומנים הללו בצורה יעילה בטרמינל. אתה יכול להשתמש בפקודות כמו grep ו-tail כדי למשוך מידע ספציפי מבלי שתצטרך לקרוא בעיון את כל יומני המערכת שלך.
חלק מהפקודות הטובות ביותר בהן תוכל להשתמש כוללות:
- grep: מחפש מחרוזת תווים בקובץ
- זָנָב: מדפיס 10 שורות מסוף קובץ
- רֹאשׁ: מדפיס 10 שורות מתחילת הקובץ
- סוג: מדפיס קובץ שאורגן מחדש לפי המפרטים שלך
לכלי שורת הפקודה כגון utmpdump ו-systemctl יש גם דגלים מועילים שכדאי לזכור בעת עבודה בטרמינל. דגלים אלו יאפשרו לך לשנות את הפקודה ולקבל שליטה מוגברת על מה שמודפס בטרמינל.
כמה דגלים מועילים במיוחד עבור הפקודה journalctl הם:
- -ב: גורם ל-journalctl להחזיר רק ערכים שנאספו לאחר האתחול האחרון
- --מאז "YYYY-MM-DD HH: MM: SS" --עד "YYYY-MM-DD HH: MM: SS": מורה ל-journalctl להחזיר רק ערכים לפני ו/או אחרי התאריכים שצוינו
- -p NUM: מסנן ערכים לפי רמות העדיפות של ה-syslog שלהם (נע בין 0/emerg ל-7/debug)
פתרון בעיות עם יומני אובונטו
עכשיו כשאתה מכיר את הסוגים השונים של יומני המערכת ויודע לקרוא אותם למעשה, הדבר היחיד שנותר לעשות הוא ליישם את המידע שאספתם לפתרון הבעיות תהליך. תהליך זה דורש בדרך כלל קצת יצירתיות.
זה רעיון טוב לגשת לפתרון בעיות על ידי חשיבה על המאפיינים הבולטים של הבעיה שאתה מתמודד איתה. האם הבעיה מתרחשת כשפותחים אפליקציה מסוימת? האם המערכת שלך קורסת ומתחלת בכל פעם שהבעיה מתרחשת?
כאשר אתה חושב על המאפיינים של הנושא, זה יוביל אותך באופן טבעי לכמה מהיומנים הטובים ביותר לאיסוף מידע אודותיו. לדוגמה, אם המערכת שלך נתקלת בבעיות במהלך תהליך האתחול, ייתכן שתוכל לקבל מידע מועיל על ידי הפניה לערכי האתחול ב-journald.
הזן את הפקודה הבאה כדי להדפיס את כל האתחולים הרשומים ב-journald:
journalctl --list-boots
הטרמינל ידפיס רשימה של אתחולים מוקלטים; המגפיים העדכניים ביותר ימצאו בתחתית הרשימה. בדוק את התאריכים והשעות המתועדים עבור כל אתחול עד שתוכל למצוא אתחול מתועד שבו התרחשה השגיאה.
קח את המספר מהעמודה השמאלית ביותר בתור NUM והזן את הפקודה הבאה כדי לקבל מידע נוסף על האתחול:
journalctl -b -NUM -n
תיעוד מקיף של מידע על האתחול יוצג. אם התרחשו שגיאות חריגות כלשהן במהלך תהליך האתחול, תוכל להשתמש במידע מהרשומה הזו כדי להגיע לשלב נוסף בפתרון הבעיות.
אותו עיקרון חל על נושאים רבים אחרים. אם אינך יודע הרבה על הבעיה שבה המחשב שלך חווה, עם זאת, ייתכן שיהיה קשה לדעת מאיפה להתחיל. ישנם כמה יומנים שמתבלטים כמועילים במיוחד עבור מגוון רחב של בעיות עם מערכות אובונטו.
syslog הוא היומן הטוב ביותר להתחיל איתו במהלך תהליך פתרון הבעיות. מכיוון שלמעשה מדובר ביומן גלובלי, סביר מאוד שיש לו מידע על הבעיה שאתה מתמודד איתה. אם יש לך בעיות עם אימות (כמו שגיאת סיסמת sudo לא עובדת, למשל) או אתחול, ואז בדוק auth.log אוֹ boot.log.
חפש ביומנים הרלוונטיים ביותר עם מילות מפתח הקשורות לבעיה שלך. לדוגמה, אם אתה נתקל בבעיות אימות, תוכל למשוך רשומות מ-auth.log עם הפקודה הבאה:
cat /var/log/auth.log | grep 'כשל אימות'
בסופו של דבר, בטוח תמצא מידע שמציע תובנה מצוינת. כאשר אתה מצמיד מידע מיומני השגיאות למחקר באינטרנט, סביר מאוד שתמצא משאבים שיעזרו לך לפתור בעיות במערכת שלך תוך זמן קצר.
עיין במשאבים מקוונים לפתרון שגיאות לינוקס
אתה לא צריך לעבור את תהליך פתרון הבעיות לבד. בזמן שאתה אוסף מידע על הבעיה במחשב שלך, עליך להשתמש במשאבים מקוונים כמו שאל את אובונטו ואת המדריכים המפורטים ב-MakeUseOf כדי להתקרב לאבחון ולתיקון שלך PC.