Pardus Sistem Günlüklerine Hakim Olun: systemd-journald ve journalctl

Pardus (ve diğer modern Linux dağıtımları) arka planda systemd kullandığı için, Journald sistemin "kara kutusu" gibidir. Sorun giderme, güvenlik takibi ve sistem sağlığı için bu aracı kullanmayı bilmek bir sistem yöneticisi veya ileri düzey kullanıcı için şarttır.


Pardus işletim sisteminde bir hata ile karşılaştığınızda, bir servisin neden başlamadığını merak ettiğinizde veya sistemin açılış süresini analiz etmek istediğinizde bakmanız gereken ilk yer sistem günlükleridir (logs).

Eskiden Linux sistemlerinde günlükler /var/log/ altındaki metin dosyalarına (syslog) dağıtılırdı. Ancak Pardus'un da temel aldığı modern mimaride, bu görev systemd-journald servisine devredilmiştir.

1. Journald Nedir ve Neden Önemlidir?

systemd-journald, sistemdeki çekirdek mesajlarını, servis çıktılarını ve uygulama günlüklerini toplayan bir arka plan programıdır (daemon).

  • Yapılandırılmıştır: Veriler düz metin değil, ikili (binary) formatta saklanır. Bu sayede çok hızlı arama ve filtreleme yapılabilir.

  • Merkezidir: Çekirdek (kernel), açılış (boot) ve uygulama logları tek bir havuzda toplanır.

  • Güvenlidir: Günlüklerin manipüle edilmesini zorlaştıran bir yapıya sahiptir.

Bu günlüklere erişmek ve okumak için kullandığımız ana komut: journalctl'dir.


2. Temel Kullanım: journalctl

Uçbirimi (Terminal) açın ve sadece aşağıdaki komutu yazın:

Bash:

journalctl

Bu komut, sisteminizde kayıtlı olan tüm günlükleri en eskiden en yeniye doğru listeler.

  • Gezinme: Space tuşu ile sayfa sayfa ilerleyebilir, Yukarı/Aşağı ok tuşları ile satır satır gezebilirsiniz.

  • Çıkış: q tuşuna basarak görüntüleyiciden çıkabilirsiniz.

Ters Kronolojik Sıralama (-r)

Genellikle en eski loglar değil, en son ne olduğu bizi ilgilendirir. En yeni kayıtları en üstte görmek için:

Bash:

journalctl -r


3. Logları Filtreleme (Hayat Kurtaran Parametreler)

Binlerce satır log arasında kaybolmamak için filtreleme yapmanız gerekir. İşte Pardus yönetiminde en çok işinize yarayacak filtreler:

a) Canlı Takip (-f)

Tıpkı tail -f komutu gibi, o anda sisteme düşen logları canlı olarak izlemek için kullanılır. Bir USB bellek takarken veya bir servisi yeniden başlatırken hataları anlık görmek için idealdir.

Bash:

journalctl -f

b) Sadece Bu Açılışı Listeleme (-b)

Bilgisayarınızı en son açtığınız andan itibaren oluşan kayıtları görmek için:

Bash

journalctl -b

Eğer bir önceki açılıştaki hataları görmek istiyorsanız -b -1 komutunu kullanabilirsiniz.

c) Belirli Bir Servisi İzleme (-u)

Sadece belirli bir servisle (örneğin SSH veya Apache) ilgili logları görmek istiyorsanız, diğer her şeyi filtreleyebilirsiniz:

Bash:

journalctl -u ssh.service
# Veya ağ yöneticisi için:
journalctl -u NetworkManager

d) Hata Seviyesine Göre Filtreleme (-p)

Sistemdeki "Bilgi" (Info) mesajlarını değil, sadece "Hata" (Error) veya "Kritik" durumları görmek istiyorsanız:

Bash

journalctl -p err

Kullanabileceğiniz seviyeler: emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7).

e) Zaman Aralığı Belirleme (--since, --until)

"Son 1 saatte ne oldu?" veya "Dün öğleden sonra ne oldu?" sorularının cevabı:

Bash

# Son 1 saatteki loglar
journalctl --since "1 hour ago"

# Belirli bir zaman aralığı
journalctl --since "2023-12-18 10:00:00" --until "2023-12-18 11:00:00"

4. Çekirdek (Kernel) Günlükleri (-k)

Eskiden dmesg komutu ile baktığımız çekirdek mesajlarına (donanım tanıma, sürücü hataları vb.) journalctl üzerinden de erişebiliriz:

Bash:

journalctl -k

Bu komut, sistem donanımıyla ilgili sorunları (örneğin tanınmayan bir wifi kartı) teşhis etmekte çok faydalıdır.


5. Günlüklerin Yönetimi ve Temizliği

Journald logları diskinizde yer kaplar. Pardus varsayılan olarak bu alanı yönetir ancak bazen manuel müdahale gerekebilir.

Disk kullanımını görmek için:

Bash

journalctl --disk-usage

Eski logları temizlemek (Vacuuming):

Eğer loglar çok yer kaplıyorsa, aşağıdaki komutlarla temizlik yapabilirsiniz:

Bash

# Boyutu 500 MB'a düşür (en eskileri siler)
sudo journalctl --vacuum-size=500M

# Veya 2 haftadan eski olanları sil
sudo journalctl --vacuum-time=2weeks

6. İpucu: Kalıcı Loglar (Persistent Logging)

Pardus'un bazı kurulumlarında veya canlı (live) oturumlarda loglar /run/log/journal altında tutulabilir. /run dizini RAM üzerinde olduğu için bilgisayar kapanınca loglar silinir.

Logların yeniden başlatmadan sonra da kalıcı olmasını (diske yazılmasını) istiyorsanız:

  1. /etc/systemd/journald.conf dosyasını açın.

  2. Storage= satırını bulun ve Storage=persistent olarak değiştirin (veya başındaki # işaretini kaldırın).

  3. Servisi yeniden başlatın: sudo systemctl restart systemd-journald


Özet Tablo

AmaçKomut
Canlı İzlejournalctl -f
Hataları Görjournalctl -p err -b
Servis Logujournalctl -u [servis_adi]
Son Bootjournalctl -b
Disk Kullanımıjournalctl --disk-usage

Bu araç, Pardus sistem yöneticisinin İsviçre çakısıdır. Bir sorunla karşılaştığınızda forumlarda çözüm aramadan önce journalctl -p err -b komutunu çalıştırmayı alışkanlık haline getirin.

Yorumlar

sado dedi ki…
çok güzel hocam
Nuri TIRAŞ dedi ki…
Teşekkür ederim Sadettin
Hocam çok güzel bilgilendirme, çok teşekkürler.
Nuri TIRAŞ dedi ki…
Teşekkür ederim Süleyman bey

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Başlangıç Onarma