close

Sistem

Navigasyona git Aramaya git
sistem
Systemd-logo.svg
Systemd-on-fedora.svg
Fedora 17'de systemd'yi başlatma
Genel bilgi
program türü Başlat arka plan programı ( Başlat )
Yazar Lennart Poettering, Kay Sievers [ 1 ]
geliştirici Lennart Poettering, Kay Sievers ve diğerleri
İlk sürüm 30 Nisan 2010
Lisans GNU LGPL 2.1+ ( ücretsiz yazılım ) [ 3 ]
Teknik Bilgiler
Zamanlanmış C [ 2 ]
Sürümler
En son kararlı sürüm 251.6 ( bilgi ) (13 Ekim 2022 (5 gün))
Salıverme
Başlat
sistem
Bağlantılar

systemd , GNU/Linux işletim sisteminin çekirdeğiyle arabirim oluşturmak için merkezi bir yapılandırma ve yönetim platformu olarak tasarlanmış bir dizi sistem yönetimi arka plan programı, kitaplığı ve aracıdır . Yazarları tarafından bir işletim sistemi için "temel yapı taşı" olarak tanımlanan [ 4 ] systemd, Linux önyükleme sistemi ( kullanıcı alanını başlatmak için Linux çekirdeği tarafından çağrılan başlatma işlemi) olarak kullanılabilir. diğer tüm süreçleri yönetin). systemd adı, dosya adının son harfi olarak d harfini alarak cinleri kolayca ayırt etme Unix kuralına bağlıdır. [ 5 ] ​[ 6 ]

systemd, UNIX tarzı System V ve Berkeley Software Distribution (BSD) işletim sistemlerinden devralınan başlangıç ​​sisteminin yerini almak üzere geliştirilmiştir . Linux'ta önyükleme işleminde , kullanıcı alanında çalışan ilk işlemdir , bu nedenle kullanıcı alanındaki tüm alt işlemlerin ana işlemidir. systemd, Linux çekirdeği için tasarlanmış ve yalnızca Linux API'si için programlanmıştır. Lennart Poettering [ 1 ] tarafından yazılmıştır ve GNU Genel Kamu Lisansı (LGPL) sürüm 2.1 veya daha sonraki koşullar altında ücretsiz ve açık kaynaklı yazılım olarak yayınlanmıştır . [ 7 ] systemd'nin ana hedeflerinden biri, temel Linux yapılandırmasını ve hizmet davranışlarını dağıtımlar arasında birleştirmek. [ 8 ]

Tasarım fikri, Linux API ile hizmet bağımlılıklarını ifade eden, sistem başlangıcına paralel olarak daha fazla iş yapılmasına izin veren ve kabuk yükünü azaltan bir çerçeve sağlamaktır .

2015 itibariyle, çoğu büyük Linux dağıtımı , varsayılan önyükleme sistemi olarak systemd'yi benimsemiştir.

Tasarım

Image
Tizen tarafından kullanılan systemd mimarisi . Telefon , önyükleme modu , dlog ve tizen hizmeti dahil olmak üzere oldukça az sayıda bileşen Tizen'den gelir ve sistem bileşenleri değildir. [ 9 ]
Image
Birleşik hiyerarşi gruplarına, systemd-nspawn aracılığıyla yalnızca systemd tarafından erişilebilir [ alıntı gerekli ]

İlk olarak systemd'yi tasarlayan ve geliştiren yazılım mühendisleri Lennart Poettering ve Kay Sievers, init daemon'un verimliliğini farklı şekillerde aşmaya çalıştılar . Bağımlılıkları ifade etmek için çerçeveyi geliştirmek , sistem önyüklemesi sırasında aynı anda veya paralel olarak daha fazla işlemin yapılmasına izin vermek ve kabuk ek yükünü azaltmak istediler .

Poettering, systemd'nin gelişimini "hiç bitmeyen, asla tamamlanmayan, ancak teknolojideki ilerlemeyi izleyen bir teknoloji" olarak tanımlar. Mayıs 2014'te Poettering, aşağıdaki üç genel işlevi sağlayarak "dağıtımlar arasındaki anlamsız farklılıkları" birleştirme hedefiyle systemd'yi daha derinden tanımladı: [ 11 ]

  • Bir sistem ve hizmetler yöneticisi (çeşitli yapılandırmalar uygulayarak hem sistemi hem de hizmetlerini yöneten kişi). [ 12 ]
  • Bir yazılım geliştirme platformu (diğer programların geliştirilmesi için temel görevi görür).
  • Uygulamalar ve Linux çekirdeği (çekirdek tarafından sağlanan işlevleri ortaya çıkaran çeşitli arabirimler sunan) arasındaki bağlantı .

systemd, init arka plan programının adından çok daha fazlasıdır, ancak aynı zamanda , systemd init arka plan programına ek olarak , diğer düşük kaliteli bileşenlerle birlikte Journald , logind ve networkd arka plan programlarını içeren, çevresindeki tüm yazılım paketine de atıfta bulunur. seviye. Ocak 2013'te Poettering, systemd'yi başka bir program olarak değil , 69 ayrı ikili dosya içeren bir uygulama paketi olarak tanımladı. [ 13 ] Hepsi bir arada bir yazılım paketi olarak systemd, kendi kontrolü altındaki kabuk komut dosyalarının yürütülmesiyle birlikte, geleneksel başlangıç ​​arka plan programı tarafından kontrol edilen Linux önyükleme sırasını ve çalışma seviyelerini değiştirir. systemd ayrıca kullanıcı girdisini , komut satırı arabirimini , aygıt çalışırken takmayı ( bkz .

System V init ile karşılaştırıldığında , systemd yeni tekniklerden yararlanabilir:

  • Bağımsız hizmetlerin daha iyi paralelleştirilmesine yol açan soket etkinleştirme hizmetleri ve veri yolu etkinleştirme.
  • Hizmet süreçlerini takip etmek için PID'ler yerine cgroups kullanılır . Bu, cinlerin çift çatallı olsalar bile sistemden "kaçamayacakları" anlamına gelir .

systemd, cgroups ve fanotify gibi özelliklere bağlı olduğundan tasarım gereği yalnızca Linux'tur. [ 14 ]

Benimseme

Mayıs 2011'de Fedora, systemd'yi varsayılan olarak etkinleştiren ilk büyük Linux dağıtımı oldu. [ 15 ]

systemd'nin varsayılan olarak etkinleştirildiği dağıtımlar:

systemd'nin mevcut olduğu dağıtımlar:

systemctl'nin temel kullanımı

systemd hakkında bilgi edinmek ve kontrol etmek için kullanılan ana komut systemctl'dir . Olası kullanımlardan bazıları, sistem durumunu incelemek ve sistem veya hizmetleri yönetmektir. [ 27 ]

Sistem durumunu analiz edin

Sistem durumunu görüntülemek için şunu kullanın:

$ sistemctl durumu

Çalışan birimleri listelemek için :

$ sistemctl

herhangi biri:

$ systemctl liste birimleri

Başarısız olan sürücüleri listelemek için :

$ systemctl --başarısız

Aşağıdakilerle kurulu birimlerin bir listesini görebilirsiniz :

$ systemctl liste-birim dosyaları

Birimleri kullanın

Birimler örneğin hizmetler ( .service ) , bağlama noktaları ( .mount ), aygıtlar ( .device ) veya yuvalar ( .socket ) olabilir.

systemctl'yi kullanırken , genellikle sonek dahil olmak üzere birimin tam adını belirtmeniz gerekir. Ancak, aşağıdaki systemctl komutlarında birimi belirtirken birkaç kısayol vardır :

  • Sonek belirtilmemişse, systemctl bunu .service olarak kabul edecektir .
  • Bağlama noktaları, ilgili .mount sürücüsüne otomatik olarak çevrilecektir .
  • Montaj noktalarına benzer şekilde, cihazlar otomatik olarak ilgili .device birimine çevrilir .

Bir birimi hemen etkinleştirin :

# systemctl başlatma birimi

Bir birimi hemen durdurun :

# systemctl durdurma birimi

Üniteyi yeniden başlatın :

# systemctl yeniden başlatma birimi

Bir birimin yapılandırmasını yeniden yüklemesine neden olur:

# systemctl yeniden yükleme birimi

Çalışıp çalışmadığı da dahil olmak üzere bir sürücünün durumunu gösterir:

$ systemctl durum birimi

Sürücünün zaten etkin olup olmadığını kontrol edin :

$ systemctl etkin birim

Önyüklemede başlamak için bir sürücüyü etkinleştirin :

# systemctl birimi etkinleştir

Bir sürücünün önyüklemede başlamasını sağlar ve hemen başlatır :

# systemctl etkinleştir -- şimdi birim

Önyüklemede otomatik başlatmayı devre dışı bırakın :

# systemctl devre dışı bırakma birimi

Başlatmayı imkansız kılmak için bir sürücüyü maskeleyin (hem elle hem de bağımlılık, maskelemeyi tehlikeli hale getirir) :

# systemctl maske birimi

Bir birimin maskesini kaldır :

# systemctl unmaske birimi

Bir sürücüyle ilişkili kılavuz sayfasını görüntüleyin (bu, sürücü dosyası tarafından desteklenmelidir):

$ systemctl yardım birimi

Yeni veya değiştirilmiş birimleri kontrol ederek sistem yapılandırmasını yeniden yükleyin :

# systemctl arka plan programı yeniden yükle

Enerjiyi yönet

Sistem kapatma ve yeniden başlatma:

$ systemctl yeniden başlatma

Sistem kapatma:

$ systemctl kapatma

Sistem askıya alma:

$ systemctl askıya alma

Sistemi hazırda bekletme moduna geçirin:

$ systemctl hazırda bekletme

Sistemi hibrit uykuya alın — "karma uyku" — (veya birleşik uyku — "ikisine birden askıya al" —):

$ systemctl karma uyku

Eleştiri

Uygulanması, özgür yazılım topluluğu içinde büyük tartışmalara yol açtı. Eleştirmenler en az iki düzeyde tartışırlar: [ 28 ]

1. İç mimari:

  • systemd'nin zaten çok karmaşık olduğunu ve sürekli olarak yeni özelliklerin istilasından muzdarip olduğunu eleştiriyorlar. [ 29 ]
  • Ayrıca, mimarisinin Unix benzeri işletim sistemlerinin tasarım ilkelerini ihlal ettiğine itiraz ediyorlar.

2. Gelecekteki uygulama:

  • Birbirine bağlı bağımlılıklardan oluşan bir sistem haline geleceğine dair endişeler de var, böylece daha fazla kullanıcı alanı yazılımı parçası bileşenlerine güvenmeye devam ettikçe dağıtım sağlayıcılarını systemd'yi benimsemekten başka seçeneği kalmaya zorluyor. [ 30 ]

Ayrıca

Referanslar

  1. a b Lennart Poettering. "SSS" . sistem _ 0 işaretçi . 16 Haziran 2011'de alındı . 
  2. ^ "systemd" , Analiz Özeti ( Ohloh ) , alınan  2011-06-16 .
  3. ^ "GNU LGPL 2.1" . gnu.org . 
  4. Lennart Poettering (Eylül 2010). "Init'in Ötesinde: systemd (LinuxKongress 2010)" . Erişim tarihi: 28 Ekim 2014 . 
  5. Lennart Poettering, Kay Sievers, Thorsten Leemhuis (8 Mayıs 2012), Control Center: The systemd Linux init system , The H, orijinalinden 14 Ekim 2012'de arşivlendi , alındı ​​9 Eylül 2012  .
  6. "systemd Sistem ve Servis Yöneticisi" [systemd: sistem ve servis yöneticisi] (html) . freedesktop.org (İngilizce) . 12 Haziran 2020. 15 Ekim 2020 tarihinde kaynağından arşivlendi . 20 Ekim 2020'de alındı . “Evet, systemd yazılmıştır, sistem D veya Sistem D veya hatta SystemD değil. Ve sistem d de değil. Neden? Çünkü bu bir sistem arka plan programıdır ve Unix/Linux altında bunlar küçük harflidir ve küçük harf d ile eklenir. Ve sistemi systemd yönettiği için buna systemd denir. Bu kadar basit. »  
  7. Lennart Poettering (21 Nisan 2012). "systemd Durum Güncellemesi" . 2012-04-28 alındı . 
  8. ^ "Arayüz Kararlılığı Sözü" . freedesktop.org . 
  9. ^ Gundersen, Tom E. (25 Eylül 2014). "Linux'un Sonu" . 25 Ekim 2014 tarihinde alındı . “Kesinlikle yukarı akıştan systemd ile gelen bir şey değil. » 
  10. "systemd README" , freedesktop.org , erişildi 9 Eylül 2012  .
  11. Poettering, Lennart (Mayıs 2014). "Sistem için Bir Perspektif: Neler Yapıldı ve Neler Önümüzde" . 30 Kasım 2014'te alındı . 
  12. "Linux'ta hizmetleri durdurma, başlatma ve yeniden başlatma." . 
  13. Poettering, Lennart (26 Ocak 2013). "En Büyük Mitler" . 
  14. Lennart Poettering (30 Nisan 2010), systemd FAQ , alındı ​​14 Aralık 2011  .
  15. "F15 tek sayfalık sürüm notları" , fedoraproject.org, 2001-05-24
  16. Debian Projesi, Debian 8 "Jessie" yayınlandı , Debian Projesi  .
  17. ^ Dj Walker-Morgan (24 Mayıs 2011), Fedora 15'in Lovelock'u yayınlandı , The H, 12 Temmuz 2012'de orijinalinden arşivlendi, 26 Mayıs 2011'de alındı  .
  18. Phayz (17 Ocak 2012), 2011 İncelemesi , Frugalware Projesi , alındı  ​​2012-08-22 .
  19. Fabian Scherschel (23 Mayıs 2012), Mageia 2, GNOME 3 ve systemd , The H, orijinalinden 8 Aralık 2013 tarihinde arşivlenmiş, 26 Mayıs 2012 tarihinde alınmıştır  .
  20. ^ Dj Walker-Morgan (29 Ağustos 2011), Mandriva 2011 systemd , The H ile geliyor , orijinalinden 9 Temmuz 2012'de arşivlendi , alındı ​​29 Ağustos 2011  .
  21. ↑ Chris von Eitzen (16 Kasım 2011), openSUSE 12.1, systemd ve Btrfs , The H, 20 Nisan 2012'de arşivlenmiş, 16 Kasım 2011'de alınmıştır  .
  22. systemd artık yeni kurulumlarda varsayılandır , Arch Linux News, 13 Ekim 2012 , alındı ​​29 Ekim 2012  .
  23. http://news.siduction.org/2013/12/siduction-2013-2-rc1-released-with-systemd/
  24. ^ "Bölüm 9. Servisleri systemd ile Yönetme - Red Hat Müşteri Portalı" . access.redhat.com (İngilizce) . Erişim tarihi: 8 Aralık 2017 . 
  25. ^ "Yorum #210" , systemd – bug #318365 (Gentoo'nun Bugzilla'sı) , 5 Temmuz 2011'de alındı  .
  26. systemd , Gentoo'nun Belgeleri , alındı ​​2011-07-05  .
  27. ^ "systemd (İspanyolca)" . ArchWiki . 12 Eylül 2018 . Erişim tarihi: 24 Mayıs 2020 . 
  28. "Genel Çözünürlük: init sistemleri ve systemd" (html) . Debian . 31 Aralık 2019 . Erişim tarihi: 31 Aralık 2019 .  
  29. McKay, Dave (11 Haziran 2020). "Linux'un systemd'si Bunca Yıldan Sonra Neden Hala Ayrışıyor" (html) . Nasıl Yapılır Geek . 11 Haziran 2020 tarihinde kaynağından arşivlendi . 11 Haziran 2020'de alındı . ""O çok büyük. Çok İşe Yarar." systemd'nin karşıtları, kapsadığı geniş, ilginç işlevsellik karışımına dikkat çekiyor. Bu özelliklerin tümü Linux'ta zaten mevcuttu ve belki de bazılarının yenilenmesi veya yeni bir yaklaşıma ihtiyacı vardı. Ancak, tüm bu işlevselliği bir başlangıç ​​sistemi olması gereken bir sistemde bir araya getirmek mimari açıdan kafa karıştırıcıdır. »  
  30. Vaughan-Nichols, Steven. "Linus Torvalds ve diğerleri Linux'un systemd'sinde" . 

Dış bağlantılar

Kaynaklar

Özgür Kültür Eserlerinin Tanımı logo notext.svgBu makale, ücretsiz bir içerik çalışmasından  metin içermektedir . GNU Özgür Belgeleme Lisansı 1.3 veya üzeri Lisans beyanı altında lisanslanmıştır : systemd (İspanyolca) , ArchWiki. Wikipedia makalelerine nasıl özgürce lisanslanmış metin ekleyeceğinizi öğrenmek için Wikipedia:Wikipedia'da özgür lisanslı metin ekleme bölümüne bakın . Wikipedia'daki metnin nasıl yeniden kullanılacağı hakkında daha fazla bilgi için kullanım şartlarına bakın .