Ero sivun ”Systemd” versioiden välillä

Siirry navigaatioon Siirry hakuun
3 553 merkkiä lisätty ,  8. huhtikuuta 2014
Journalista jotain
pEi muokkausyhteenvetoa
(Journalista jotain)
Rivi 52: Rivi 52:
  # Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta
  # Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta
  systemctl disable sshd.service
  systemctl disable sshd.service
== Journal ==
Systemd:n mukana tulee journaliksi kutsuttu lokivarasto, johon kerätään muun
muassa [[dmesg]] -komennonkin tulostama kernelin loki, [[syslog]] -viestit
ja palveluiden ns. stdout/stderr -viestit.
Viestit tallentuvat normaalisti <tt>/var/log/journal/</tt> -hakemistossa
sijaitseviin tiedostoihin. Toisin kuin monet muut lokitiedostot, journalin
tiedostot eivät ole [[tekstitiedosto]]ja. Tämän takia esimerkiksi
perinteinen [[grep]] -työkalu ei suoraan sovellu niiden käsittelyyn yhtä
hyvin kuin perinteisten syslog-palveluiden ylläpitämien tekstimuitoisten
lokien käsittelyyn.
Journalin sisältöä voi tarkastella systemd:n <tt>journalctl</tt> -komennolla.
Yksinkertaisimmillaan komennon voi ajaa ilman parametreja:
journalctl
Näin kutsuttuna journalctl näyttää kaikki journaliin tallennetut viestit.
Oletuksena viestit näytetään tekstinä, jonka asettelu muistuttaa perinteistä
syslog-lokitiedostoissa käytettyä asettelua. Vaikka journalctl normaalisti
terminaalissa ajettuna automaattisesti avaa lokiviestit [[less]]in sisään,
voi sen tulosteen myös putkittaa muille prosesseille:
journalctl | grep avahi-daemon
Näin voisi esimerkiksi hakea lokista vain viestejä, jotka liittyvät
Avahi-palveluun. Mikäli journalctl:n stdout ei ole terminaali, se ei
käynnistä lessiä.
=== Haku yksikön perusteella ===
Edellä esitettiin, kuinka grepin avulla voisi hakea journalista kaikki
avahiin liittyvät viestit. Esitetty tapa kuitenkin on jonkin verran epätarkka,
sillä myös muut kuin jonkun palvelun tekemät viestit voivat sisältää
hakuun liittyvän palvelun nimen.
Jokaiseen journaliin kirjattuun viestiin kuitenkin erikseen merkitään,
mistä yksiköstä viesti on peräisin. Journalctl voi pyydettässä hyödyntää
tätä tietoa näytettävien lokitietojen rajaamiseen:
journalctl -u avahi-daemon
Nyt journalctl:n pitäisi näyttää vain oikeasti avahi-daemon.servicesta peräisin
olevat viestit, vaikka journalissa olisi muitakin merkkijonon
<tt>avahi-daemon</tt> sisältäviä viestejä.
=== Haku käynnistyskierroksen perusteella ===
Usein halutaan katsoa vain lokeja alkaen vain siitä hetkestä, kun kone viimeksi
käynnistettiin. Tähän voi hyödyntää journalctl:n <tt>-b</tt> -valitsinta:
journalctl -b
Tämä näyttää kaikki nykyiseen käynnistyskierrokseen liittyvät viestit.
Valitsimen voi yhdistää myös esimerkiksi edellä esiteltyyn <tt>-u</tt> -valitsimeen:
journalctl -b -u avahi-daemon
Oletuksena <tt>-b</tt> -valitsin näyttää nykyisen käynnistyskierroksen, mutta
se voi myös ottaa vastaan parametrin, jolla valitaan joku muu käynnistyskierros.
Parametrista ehkä tavallisimmin tarpeellinen on negatiivinen numero, joilla saa
valittua uusia käynnistyskierroksia:
journalctl -b -1
journalctl -b -2
Komennoista ylempi näyttää nykyistä edeltävän käynnistyskierroksen viestit ja
jälkimmäinen sitä edeltävän kierroksen viestit.
Myös positiivisia numeroita voi käyttää. Niissä esimerkiksi 1 vastaa vanhinta
journaliin tallentunutta käynnistyskierrosta, ja 2 toiseksi vanhinta.
Mikäli on vaikea tietää tai muistaa, monenko käynnistyskerran takana joku
kiinnostava osa lokia on mutta haettu ajankohta on tiedosssa, voi ajankohtaa
vastaavan käynnistyskierrosnumeron selvittää <tt>--list-boots</tt> -valitsimella:
journalctl --list-boots
=== Haku päivämäärän mukaan ===
Esimerkiksi tietyn viikon viestit voi hakea <tt>--since</tt> -valitsimen ja
<tt>--until</tt> -valitsimen avulla:
journalctl --since 2014-04-07 --until 2014-04-13


== Omat yksikkötiedostot ==
== Omat yksikkötiedostot ==
421

muokkausta

Navigointivalikko