Linux Sistemlerinde Servis Yönetimi: systemctl Rehberi

Modern Linux dağıtımlarında arka plan servislerini yönetmek için kullanılan systemctl komutunun temel kullanımını, servis durumlarını ve yapılandırma yöntemlerini öğrenin.

L
Linuxize
10 görüntülenme
Linux Sistemlerinde Servis Yönetimi: systemctl Rehberi

Giriş

Modern Linux dağıtımlarında SSH, web sunucuları ve veritabanları gibi birçok servis arka planda çalışır. Bu servislerin yönetimi, systemd sisteminin ön yüzü olan systemctl aracı ile gerçekleştirilir. Bu rehber, servisleri başlatma, durdurma, etkinleştirme ve hata ayıklama süreçlerini kapsamaktadır.

Temel Sözdizimi

Genel kullanım yapısı şu şekildedir:

systemctl [SEÇENEKLER] KOMUT [BİRİM...]

Çoğu işlem (başlatma, durdurma, etkinleştirme) root yetkisi gerektirdiğinden sudo ile çalıştırılmalıdır.

Servis Durumunu Kontrol Etme

Bir servise müdahale etmeden önce mevcut durumunu incelemek önemlidir:

systemctl status nginx

Çıktıda Loaded (birim dosyasının durumu) ve Active (servisin çalışma durumu) satırlarına odaklanılmalıdır.

Servis Yönetim Komutları

  1. Servisi Başlatma: sudo systemctl start nginx
  2. Servisi Durdurma: sudo systemctl stop nginx
  3. Servisi Yeniden Başlatma: sudo systemctl restart nginx
  4. Yapılandırmayı Yeniden Yükleme: sudo systemctl reload nginx

İpucu: reload komutu, aktif bağlantıları koparmadan ayarların güncellenmesini sağlar. Eğer servis desteklemiyorsa reload-or-restart kullanılabilir.

Otomatik Başlatma (Enable/Disable)

Bir servisin sistem açılışında otomatik başlamasını sağlamak için:

sudo systemctl enable nginx

Servisi sistem açılışından kaldırmak için disable kullanılır. Hem mevcut oturumda başlatıp hem de kalıcı hale getirmek için --now bayrağı tercih edilmelidir:

sudo systemctl enable --now nginx

Maskeleme ve Güvenlik

Bir servisin manuel olarak bile başlatılmasını engellemek istiyorsanız mask komutunu kullanın:

sudo systemctl mask apache2

Bu işlem, birim dosyasını /dev/null adresine yönlendirir. Geri almak için unmask kullanılmalıdır.

Birim Dosyası Değişiklikleri

Bir servis dosyasını düzenlediğinizde, systemd bu değişiklikleri otomatik algılamaz. Ayarları güncelletmek için şu komutu çalıştırın:

sudo systemctl daemon-reload

Hata Ayıklama ve Günlükler

Servis hatalarını görmek için journalctl kullanılır:

sudo journalctl -u nginx -f

Bu komut, servise ait günlük kayıtlarını canlı olarak takip etmenizi sağlar.

Kaynak

Linuxize