Sistem
| sistem | ||
|---|---|---|
|
| ||
|
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
İ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
Portal: Özgür yazılım . Özgür Yazılım ile ilgili içerik .- sonradan görme
Referanslar
- ↑ a b Lennart Poettering. "SSS" . sistem _ 0 işaretçi . 16 Haziran 2011'de alındı .
- ^ "systemd" , Analiz Özeti ( Ohloh ) , alınan 2011-06-16 .
- ^ "GNU LGPL 2.1" . gnu.org .
- ↑ Lennart Poettering (Eylül 2010). "Init'in Ötesinde: systemd (LinuxKongress 2010)" . Erişim tarihi: 28 Ekim 2014 .
- ↑ 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 .
- ↑ "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. »
- ↑ Lennart Poettering (21 Nisan 2012). "systemd Durum Güncellemesi" . 2012-04-28 alındı .
- ^ "Arayüz Kararlılığı Sözü" . freedesktop.org .
- ^ 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. »
- ↑ "systemd README" , freedesktop.org , erişildi 9 Eylül 2012 .
- ↑ 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ı .
- ↑ "Linux'ta hizmetleri durdurma, başlatma ve yeniden başlatma." .
- ↑ Poettering, Lennart (26 Ocak 2013). "En Büyük Mitler" .
- ↑ Lennart Poettering (30 Nisan 2010), systemd FAQ , alındı 14 Aralık 2011 .
- ↑ "F15 tek sayfalık sürüm notları" , fedoraproject.org, 2001-05-24
- ↑ Debian Projesi, Debian 8 "Jessie" yayınlandı , Debian Projesi .
- ^ 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ı .
- ↑ Phayz (17 Ocak 2012), 2011 İncelemesi , Frugalware Projesi , alındı 2012-08-22 .
- ↑ 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 .
- ^ 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 .
- ↑ 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 .
- ↑ systemd artık yeni kurulumlarda varsayılandır , Arch Linux News, 13 Ekim 2012 , alındı 29 Ekim 2012 .
- ↑ http://news.siduction.org/2013/12/siduction-2013-2-rc1-released-with-systemd/
- ^ "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 .
- ^ "Yorum #210" , systemd – bug #318365 (Gentoo'nun Bugzilla'sı) , 5 Temmuz 2011'de alındı .
- ↑ systemd , Gentoo'nun Belgeleri , alındı 2011-07-05 .
- ^ "systemd (İspanyolca)" . ArchWiki . 12 Eylül 2018 . Erişim tarihi: 24 Mayıs 2020 .
- ↑ "Genel Çözünürlük: init sistemleri ve systemd" (html) . Debian . 31 Aralık 2019 . Erişim tarihi: 31 Aralık 2019 .
- ↑ 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. »
- ↑ Vaughan-Nichols, Steven. "Linus Torvalds ve diğerleri Linux'un systemd'sinde" .
Dış bağlantılar
- resmi internet sitesi
- GitHub'daki resmi depo
- systemd , 0 işaretçi.
- systemd projesi , Fedora.
- systemd için ileriye giden yol , LWN.
- cgit ,.
- SystemD'nin nasıl kullanılacağına ve majaiti.es aracılığıyla çalıştırılmasına ilişkin eğitim
Kaynaklar
Bu 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 .