Proqramlaşdırma

systemd

systemd nədir?

systemd-i Lennart Poettering və Kay Sievers yazılıb. İlk buraxılış 2010-cu ildir. Bir çox Linux paylanğıcı açılışda onu işə salır. Ubuntu da onlardandır. Hər xidmətin unit faylı var. Ən çox görülən sonluq .service-dir. systemctl start xidməti indi açır. systemctl enable onu növbəti açılışa bağlayır. Bu ikisi eyni deyil. Jurnalı journalctl göstərir. Nüvə dəmirlə danışır. systemd isə nüvə açıldıqdan sonra xidmətlərin sırasını saxlayır. Alpine kimi bəzi sistemlər onu işlətmir.

systemd nə üçün istifadə olunur?

systemd saytın, bazanın və arxa plan proqramının həmişə açıq qalması üçündür.

  • Veb serverini açılışda başlatmaq
  • Düşən xidməti yenidən qaldırmaq
  • Jurnalda son səhvi oxumaq
  • Bir xidməti digərindən sonra açmaq

systemd ilə nə etmək olar?

systemd ilə xidməti açıb bağlayır, açılışa bağlayır və jurnalı oxuyursan. O, proqramın kodunu yazmır. Səhv yol və ya səhv istifadəçi olanda xidmət düşür. enable etmədən start etmək yalnız indi açır. Maşın sönəndə həmin xidmət özü qayıtmır.

systemd öyrənmək çətindirmi?

Bir start əmri asandır. Çətinlik unit faylının yolundadır. Proqramın tam yolu yazılmazsa systemd onu tapa bilmir. İşçi qovluq sənin terminal qovluğun olmaya bilər. Restart səhv qurulanda düşən proqram fasiləsiz yenidən açılır və jurnalı doldurur. Alpine-də systemctl yoxdursa əmr başqa alətə aiddir.

Üstünlükləri və məhdudiyyətləri

Üstünlük: açılış sırası bir yerdədir, düşən xidmət qaldırıla bilər, jurnal ayrıca oxunur. Məhdudiyyət: hər Linux-da yoxdur və unit səhvi xidməti səssiz saxlayır. systemd nüvə deyil və cron deyil.

Əsas anlayışlar

Unit xidmətin faylıdır. start indi açır. enable növbəti açılışa yazır.

  • systemctl status vəziyyəti göstərir
  • journalctl jurnalı oxuyur
  • .service ən çox görülən unit-dir
  • Nüvə systemd-dən əvvəl açılır

Qısa nümunə

Bu əmr bir xidmətin indi açıq olub-olmadığını göstərir. Onu yaratmır.

systemctl status nginx

Tez-tez verilən suallar

  • systemd və Linux nüvəsi eynidir? Xeyr. Nüvə dəmirlə danışır. systemd xidmətlərin sırasını saxlayır.
  • systemd və cron eynidir? Xeyr. cron vaxtı çatanda əmr çağırır. systemd xidməti açıq saxlayır.
  • start və enable eynidir? Xeyr. start indi açır. enable növbəti açılışa bağlayır.