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:
journalctl
Bu komut, sisteminizde kayıtlı olan tüm günlükleri en eskiden en yeniye doğru listeler.
Gezinme:
Spacetuşu ile sayfa sayfa ilerleyebilir,Yukarı/Aşağıok tuşları ile satır satır gezebilirsiniz.Çıkış:
qtuş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:
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.
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:
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:
# 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:
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ı:
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:
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:
Eski logları temizlemek (Vacuuming):
Eğer loglar çok yer kaplıyorsa, aşağıdaki komutlarla temizlik yapabilirsiniz:
sudo journalctl --vacuum-size=500M
# Veya 2 haftadan eski olanları silsudo journalctl --vacuum-time=2weeks6. İ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:
/etc/systemd/journald.confdosyasını açın.Storage=satırını bulun veStorage=persistentolarak değiştirin (veya başındaki#işaretini kaldırın).Servisi yeniden başlatın:
sudo systemctl restart systemd-journald
Özet Tablo
| Amaç | Komut |
| Canlı İzle | journalctl -f |
| Hataları Gör | journalctl -p err -b |
| Servis Logu | journalctl -u [servis_adi] |
| Son Boot | journalctl -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