Systemd Genel Bakış
Systemd, init için yavaşça ortaya çıkan standart haline geliyor. Eğer bir /usr/lib/systemd dizininiz varsa, büyük olasılıkla systemd kullanıyorsunuzdur.
Systemd, sisteminizi ayağa kaldırmak için goals kullanır. Temelde ulaşmak istediğiniz bir target vardır ve bu target’ın gerçekleştirmemiz gereken bağımlılıkları da vardır. Systemd son derece esnek ve sağlamdır, process’leri başlatmak için katı bir sıralamayı takip etmez. Tipik bir systemd boot sırasında olanlar şunlardır:
Önce, systemd yapılandırma dosyalarını yükler, bunlar genellikle /etc/systemd/system veya /usr/lib/systemd/system konumunda bulunur
Sonra boot goal’ünü belirler, bu genellikle default.target’tır
Systemd, boot target’ın bağımlılıklarını çözer ve onları etkinleştirir
Sys V runlevel’larına benzer şekilde, systemd farklı target’lara boot eder:
poweroff.target - sistemi kapat
rescue.target - single user mode
multi-user.target - networking ile multiuser
graphical.target - networking ve GUI ile multiuser
reboot.target - yeniden başlat
default.target’ın varsayılan boot goal’ü genellikle graphical.target’ı işaret eder.
Systemd’nin çalıştığı ana nesneler units olarak bilinir. Systemd sadece servisleri başlatıp durdurmaz, filesystem’leri mount edebilir, network socket’lerinizi izleyebilir, vb.; bu sağlamlık nedeniyle farklı türde units üzerinde çalışır. En yaygın units şunlardır:
Service units - Bunlar başlatıp durdurduğumuz servislerdir, bu unit dosyaları .service ile biter
Mount units - Bunlar filesystem’leri mount eder, bu unit dosyaları .mount ile biter
Target units - Bunlar diğer unit’leri bir arada gruplar, dosyalar .target ile biter
Örneğin, default.target’a boot ettiğimizi varsayalım, bu target networking.service unit’ini, crond.service unit’ini vb. bir araya getirir, yani tek bir unit’i etkinleştirdiğinizde, o unit’in altındaki her şey de etkinleştirilir.
Last updated