30 Nisan 2025 - 10:37
Linux'ta Systemd ile Servis Yönetimi Görseli
Linux

Linux'ta Systemd ile Servis Yönetimi

Yorumlar
Linux işletim sistemlerinde servislerin yönetimi büyük önem taşır. Systemd, modern Linux dağıtımlarında varsayılan olarak kullanılan bir sistem ve servis yöneticisidir. Servisleri başlatmak, durdurmak, otomatik çalıştırmak ve logları incelemek için güçlü araçlar sunar. Bu yazıda, Systemd ile servis yönetimini, önemli komutları ve özel servis dosyaları oluşturmayı anlatmaya çalışacağım.

1. Systemd Nedir ve Neden Önemlidir?

Systemd, Linux’ta başlangıç sürecini (init system) yöneten bir sistem hizmetidir. Daha önce SysVinit ve Upstart gibi sistemler kullanılıyordu, ancak Systemd daha hızlı, daha güvenilir ve esnek olduğu için Linux dünyasında standart hale gelmiştir.

Systemd’nin Avantajları

  • ✅ Paralel başlatma ile daha hızlı boot süresi sağlar.
  • Servislerin bağımlılıklarını yönetebilir.
  • ✅ Log yönetimi ve analiz için journalctl sunar.
  • ✅ Dinamik servis başlatma ve takip etme desteği bulunur.

2. Systemd ile Servis Yönetimi (systemctl Komutları)

Systemd servisleri yönetmek için kullanılan ana araç systemctl komutudur. İşte temel systemctl komutları:

Servisleri Başlatma, Durdurma ve Yeniden Başlatma

İşlem Komut
Servisi başlat sudo systemctl start servis_adı
Servisi durdur sudo systemctl stop servis_adı
Servisi yeniden başlat sudo systemctl restart servis_adı
Servisin durumunu kontrol et systemctl status servis_adı
Servisi yeniden yükle sudo systemctl reload servis_adı

Örnek Kullanım:

Bir web sunucusunun durumunu görmek için:
BASH
systemctl status apache2
Eğer Apache çalışmıyorsa başlatmak için:
BASH
sudo systemctl start apache2

3. Servislerin Otomatik Başlatılması

Bazı servislerin sistem açılışında otomatik olarak başlamasını isteyebilirsiniz. Bunun için:
  • 🔹 Otomatik Başlatmayı Etkinleştirme:
BASH
sudo systemctl enable servis_adı
  • 🔹 Otomatik Başlatmayı Devre Dışı Bırakma:
BASH
sudo systemctl disable servis_adı
  • 🔹 Sistemde Yüklü Tüm Servisleri Listeleme:
BASH
systemctl list-units --type=service

4. Özel Servis Dosyası (.service) Oluşturma

Linux üzerinde özel bir servis oluşturmak için Systemd servis dosyaları kullanılır.

Örnek: Basit Bir Servis Dosyası

Bir Python scriptini Systemd servisi olarak çalıştırmak için: 1️⃣ Servis Dosyası Oluşturma:
BASH
sudo nano /etc/systemd/system/ornekservis.service
2️⃣ Servis İçeriğini Ekleyin:
INI
[Unit]
Description=Örnek Systemd Servisi
After=network.target

[Service]
ExecStart=/usr/bin/python3 /home/kullanici/script.py
Restart=always
User=kullanici
Group=kullanici

[Install]
WantedBy=multi-user.target
3️⃣ Servisi Aktif Hale Getirme:
BASH
sudo systemctl daemon-reload
sudo systemctl enable ornekservis
sudo systemctl start ornekservis
Bu adımlardan sonra Python scriptiniz sistem açıldığında otomatik olarak çalışacaktır! 🚀

5. Systemd Loglarını İnceleme (journalctl)

Servislerin hata loglarını görmek için journalctl komutu kullanılır.
  • 🔍 Tüm Systemd Loglarını Görüntüleme:
BASH
journalctl -xe
  • 🔍 Belirli Bir Servisin Loglarını Görme:
BASH
journalctl -u servis_adı --no-pager
Örneğin, Apache servisine ait son logları görmek için:
BASH
journalctl -u apache2 --no-pager
  • 🔍 Gerçek Zamanlı Log İzleme:
BASH
journalctl -u servis_adı -f
Bu komut, ilgili servisin loglarını canlı olarak takip etmenizi sağlar.

6. Systemd ile Hata Kurtarma ve Debugging

Eğer bir servis düzgün çalışmıyorsa, şu adımları takip edebilirsiniz:
  • Servisin durumunu kontrol edin:
BASH
systemctl status servis_adı
  • Logları detaylı inceleyin:
BASH
journalctl -u servis_adı -xe
  • Servisi yeniden yükleyin:
BASH
sudo systemctl restart servis_adı
  • Daemon’u yenileyin:
BASH
sudo systemctl daemon-reexec

Systemd, Linux sistemlerinde servisleri başlatma, durdurma ve izleme için güçlü bir araçtır.

Benzer Yazılar

Yorumlar ()

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap