metrics.gokgoz.net

yüksek çözünürlüklü linux görseli

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.

KomutAçıklama
systemctl status ssh.serviceDurum
systemctl is-active ssh.serviceDurum
systemctl start ssh.serviceBaşlatma
systemctl stop ssh.serviceDurdurma
systemctl restart ssh.serviceYeniden Başlatma
systemctl disable ssh.serviceAçılıştan Kaldırma
systemctl enable ssh.serviceAçılışa ekleme
systemctl is-enabled ssh.serviceAçılışta başlayacak mı
systemctl mask ssh.serviceBaşlatılmasını yasaklama
systemctl unmask ssh.serviceBaşlatılmasını sağlama
systemctl daemon-reloadServisi yeniden yukleme
systemctl list-timersTimer listesi
systemctl cat nginxUnit 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
Plaintext

Servis Unit Parametreleri

KomutAçıklama
Requires=Servisin çalışabilmesi için ihtiyaç duyulan servis
After=Hangi servisden sonra başlatılması gerektiği
Type=Servis Tipi
Restart=on-failureServis crash olursa yeniden başlatılsın
EnvironmentFile=-/etc/default/nginxenvironment değişkenleri
PrivateTmp=yesservise özel /tmp olsun
InaccessibleDirectories=/homeErişemeyeceği klasör
ReadOnlyDirectories=/varread-only olan klasör
MemoryLimit=1GServis için bellek limiti
CPUShares=1500CPU kullanım oranı
OnBootSec=10minAçılıştan 10 dakika sonra çalışma
OnUnitActiveSec=1h1 saat ara ile yeniden çalış

Farklı kullanımlar ile parametreleri tekrarlayabilirsiniz.

Bootda ki log kayıyları

journalctl --boot
ShellScript

Bir servise ait log kayıtları

journalctl --unit ssh.service
ShellScript

Performans Analizi

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

Sistemin açılma süresi

systemd-analyze time
ShellScript

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

systemd-analyze blame
ShellScript

Kritik servislerin açılışı

systemd-analyze critical-chain
ShellScript

Svg şeklinde grafiksel çıktı

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