Witamy w pierwszym odcinku naszej serii „Zostań Debug Expertem Linux”. Dziś zaczynamy od fundamentów: sprawdzimy, gdzie system przechowuje kluczowe informacje i jak zrozumieć różnice między logami systemowymi, jądra a aplikacji.
Wprowadzenie do świata diagnostyki Linuxa
Zrozumienie sposobu, w jaki system operacyjny komunikuje swoje stany, to najważniejsza umiejętność każdego administratora. W tej pięcioczęściowej serii przeprowadzimy Cię od podstawowych lokalizacji plików aż po zaawansowaną automatyzację analizy. Jeśli czujesz, że 50 popularnych pytań dotyczących systemu Linux to dla Ciebie za mało, ten cykl jest właśnie dla Ciebie.
Gdzie są logi w Linuxie: Katalog /var/log
W systemie Ubuntu sercem diagnostyki jest katalog /var/log. To tutaj trafia większość zapisów dotyczących aktywności systemu. Znajdziesz w nim zarówno pliki tekstowe, jak i binarne dzienniki obsługiwane przez journald. Oto najważniejsze miejsca, do których powinieneś zaglądać w pierwszej kolejności:
/var/log/syslog: Główny dziennik systemowy, w którym ląduje większość komunikatów./var/log/auth.log: Śledzi próby logowania oraz użycie komendysudo./var/log/kern.log: Zawiera komunikaty generowane bezpośrednio przez jądro systemu./var/log/dpkg.log: Rejestruje instalacje i aktualizacje pakietów.
Warto pamiętać, że struktura ta ewoluuje. W nowszych wydaniach Ubuntu coraz większą rolę odgrywa journalctl, który agreguje dane, czyniąc tradycyjne pliki tekstowe mniej istotnymi dla bieżącego podglądu. Jeśli interesuje Cię optymalizacja wydajności systemu, sprawdź też nasz poradnik o tym, jak ograniczyć zużycie CPU i RAM przez procesy w systemie Linux.
Logi systemowe, jądra i aplikacji – na czym polega różnica?
Aby skutecznie debugować, musisz wiedzieć, czego szukasz:
- Logi jądra (Kernel): To najniższy poziom komunikacji. Jeśli sprzęt odmawia posłuszeństwa lub system nagle się zawiesza, to tutaj znajdziesz ślady przyczyn (np. problemy z sterownikami).
- Logi systemowe: Skupiają się na usługach (daemons) i zdarzeniach poziomu użytkownika, takich jak start systemu czy błędy w komunikacji sieciowej.
- Logi aplikacji: Zazwyczaj znajdują się w podkatalogach (np.
/var/log/apache2lub/var/log/mysql). To w nich szukamy błędów specyficznych dla uruchomionego oprogramowania.
Wskazówka: Jeśli system nie chce wystartować lub zachowuje się niestabilnie, zacznij od komendy journalctl -p err -b, która wyświetli błędy z bieżącego uruchomienia systemu.Co dalej?
To dopiero początek. W kolejnych odcinkach zajmiemy się zaawansowaną pracą z journalctl, automatyzacją rotacji logów za pomocą logrotate oraz zdalnym monitorowaniem zdarzeń. Jeśli chcesz zgłębić wiedzę o człowieku, który stoi za fundamentami systemu, polecam artykuł o tym, jaki jest umysł stojący za Linux'em - Linux Torvalds. Do zobaczenia w następnym odcinku!
Źródła
- https://help.ubuntu.com/community/LinuxLogFiles
- https://www.digitalocean.com/community/tutorials/how-to-view-and-configure-linux-logs-on-ubuntu-and-centos
- https://ubuntu.com/tutorials/basic-security#3-logging
- https://www.linuxjournal.com/content/linux-logging-basics
- https://www.loggly.com/ultimate-guide/linux-logging-basics/
- https://www.ubuntu.com/tutorial/install-ubuntu-desktop
- https://manpages.ubuntu.com/manpages/focal/en/man8/journalctl.8.html
- https://manpages.ubuntu.com/manpages/focal/en/man8/syslog-ng.8.html
Komentarze