Systemd’ye Giriş 101

Linux için günümüzde popüler olan bir servis yöneticisidir. İnsanlar her ne kadar sevmeyip Systemd’ye küfürlerde etse kullanmak zorunda. Şuan piyasada en çok kullanılan servis yöneticisi. Eski sistemler haricinde özel distrolar dışında kullanılmaz.

Gelin birlikte temel seviyede Systemd nin komut ve parametrelerine bakalım.

Komut Açıklama
systemctl status ssh.service Durum
systemctl is-active ssh.service Durum
systemctl start ssh.service Başlatma
systemctl stop ssh.service Durdurma
systemctl restart ssh.service Yeniden Başlatma
systemctl disable ssh.service Açılıştan Kaldırma
systemctl enable ssh.service Açılışa ekleme
systemctl is-enabled ssh.service Açılışta başlayacak mı
systemctl mask ssh.service Başlatılmasını yasaklama
systemctl unmask ssh.service Başlatılmasını sağlama
systemctl daemon-reload Servisi yeniden yukleme
systemctl list-timers Timer listesi
systemctl cat nginx Unit dosyası görüntüleme

Unit adlı dosyanın /lib/systemd/system klasöründe yer alması lazım linkleme işlemi yaparak eklemeyiniz./lib/systemd/system altında bulunanlar direk olarak işletim sistemini kurduğunuz anda gelir.

Örnek bir servis UNIT

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Servis Unit Parametreleri

Komut Açıklama
Requires= Servisin çalışabilmesi için ihtiyaç duyulan servis
After= Hangi servisden sonra başlatılması gerektiği
Type= Servis Tipi
Restart=on-failure Servis crash olursa yeniden başlatılsın
EnvironmentFile=-/etc/default/nginx environment değişkenleri
PrivateTmp=yes servise özel /tmp olsun
InaccessibleDirectories=/home Erişemeyeceği klasör
ReadOnlyDirectories=/var read-only olan klasör
MemoryLimit=1G Servis için bellek limiti
CPUShares=1500 CPU kullanım oranı
OnBootSec=10min Açılıştan 10 dakika sonra çalışma
OnUnitActiveSec=1h 1 saat ara ile yeniden çalış

Farklı kullanımlar ile parametreleri tekrarlayabilirsiniz.

Bootda ki log kayıyları

journalctl --boot

Bir servise ait log kayıtları

journalctl --unit ssh.service

Performans Analizi

Sistemin açılma performansını analiz eder.

Sistemin açılma süresi

systemd-analyze time

Servisin açılması ne kadar sürdü

systemd-analyze blame

Kritik servislerin açılışı

systemd-analyze critical-chain

Svg şeklinde grafiksel çıktı

systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg

Sistem Uzmanı, Linux Hacısı, El-Kernel

Yorum yapın