Sistemin hedefi, servisi ve soketi nedir?


35

Hepsinin birim dosyası olduğunu biliyorum, ancak bunların özel anlamını anlayamıyorum. Hedeflerin arka planlara benzer olduğunu ve soketlerin aynı soketle (IP + bağlantı noktası) aynı zamanda inode numaralarıyla aynı olduğunu düşünüyorum. Birileri lütfen bunları basit kelimelerle açıklayabilir mi?


3
Sistem mansayfaları örnek niteliğindedir: Baktınız man systemd.{service,socket,target}mı?
jasonwryan

@ jasonwryan Aslında baktım ve tam cevabı yok. Ben de öğrenebilmem için bu konuya bakıyorum. Bir servisin ne olduğunu biliyorum, soket ama hedef olarak geldiğinde bir boşluk var. Hala araştırıyorum ve eğer bana yeterince netleşirse soruyu cevaplayacağım.
LD James

Yanıtlar:


40

Servis birimleri:

A unit configuration file whose name ends in .service encodes
information about a process controlled and supervised by systemd.

- sistem servisi (5)

Sistem servis birimleri, programları ve gündemleri gerçekten uygulayan ve izleyen birimlerdir ve hizmetlerin doğru sırada başlatıldığından emin olmak için bağımlılıklar kullanılır. En sık kullanılan birim türüdür.

Soket birimleri:

A unit configuration file whose name ends in ".socket" encodes
information about an IPC or network socket or a file system FIFO
controlled and supervised by systemd, for socket-based activation.

- sistem soketi (5)

Öte yandan soket üniteleri aslında kendi başlarına daemon başlatmazlar. Bunun yerine sadece orada oturuyorlar ve bir IP adresini ve bir portu veya bir UNIX etki alanı soketini dinliyorlar ve bir şey ona bağlandığında, soketin olduğu arka plan programı başlatılıyor ve bağlantı ona veriliyor.

Bu, çok fazla kaynak alan ancak nadiren kullanılan büyük ödemelerin her zaman kaynakları çalıştırmadığından ve almadığından emin olmak için yararlıdır, ancak bunun yerine yalnızca gerektiğinde başlatılırlar.

Hedef birimleri:

A unit configuration file whose name ends in ".target" encodes
information about a target unit of systemd, which is used for grouping
units and as well-known synchronization points during start-up.

- systemd.target (5)

Hedefleme ve birimlerin gruplanması için hedefler kullanılır. Bunlar, farklı hedeflerde, farklı servislerde, soketlerde ve diğer ünitelerde başlatılmış olan çalışma seviyelerine biraz kaba bir eşdeğerdir. Çalışma seviyelerinin aksine, daha serbest formdalar ve sipariş birimleri için kolayca kendi hedeflerinizi oluşturabilirsiniz ve hedeflerin kendi aralarında bağımlılıkları var.

Mesela, multi-user.targetçoğu daemonun altında gruplandırılmış olan ve basic.targetaktif hale getirilmesi gereken şeydir , yani, altında toplanan tüm servislerin basic.targetiçinde olanlardan önce başlatılacağı anlamına gelir multi-user.target.


11

Sistemd dökümantasyonu, nispeten yeni bir proje için mükemmel. Başlangıç olarak hedefler , gelen man systemd.target:

Hedef birimler, birimler tarafından sağlanan genel işlevler üzerine ek bir işlev sunmazlar. Yalnızca bağımlılıklar yoluyla birimleri (önyükleme hedefleri olarak yararlıdır) gruplandırmak ve birimler arasındaki bağımlılıklarda kullanılan senkronizasyon noktaları için standartlaştırılmış adlar oluşturmak için vardırlar. Diğer şeylerin yanı sıra, hedef üniteler klasik SysV init sistemindeki SysV çalışma seviyeleri için daha esnek bir alternatiftir.

Bu "ünite grupları", basic.targetesasen sistem önyüklemesini kapsayan, dbus, getty'ler, bağlama noktalarından takas ve zamanlayıcılara kadar her şeye kadar uzanan bir dizi farklı işlevselliği kapsar. İle tam listesini görebilirsiniz man systemd.special.

Servis dosyaları, systemd tarafından kontrol edilen işlemlerin yürütülmesi için temel ünitelerdir. Yine, kimden man systemd.service:

Adı servisiyle biten bir birim konfigürasyon dosyası, systemd tarafından kontrol edilen ve denetlenen bir işlem hakkındaki bilgileri kodlar.

Bunlar başlatılabilir, durdurulabilir, yeniden başlatılabilir, yeniden yüklenebilir.

Son olarak, prizler , gelen man systemd.socket:

Adı ".socket" ile biten bir ünite konfigürasyon dosyası, IPC veya ağ soketi veya soket tabanlı aktivasyon için sistem tarafından kontrol edilen ve denetlenen bir FIFO dosya sistemi hakkındaki bilgileri kodlar.

Bunlar dosya sistemindeki veya Internet'teki bir soketi ve ayrıca taşıma için klasik FIFO'ları kapsar. Her soket ünitesinde, ilk bağlantı sokete veya FIFO'ya girerse başlayan bir servis birimi bulunur.

Dışında ilave mansayfalarda, bu blog yayınları, değerinde okuma Lennart serileri de olduğu Yöneticileri için systemd mimarisi ve systemd uygulanması (20 mesaj seride şu anda) de derinlemesine bir görünüm sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.