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:

  1. Önce, systemd yapılandırma dosyalarını yükler, bunlar genellikle /etc/systemd/system veya /usr/lib/systemd/system konumunda bulunur

  2. Sonra boot goal’ünü belirler, bu genellikle default.target’tır

  3. 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