OnWorks Linux ve Windows Çevrimiçi İş İstasyonları

Logo

İş İstasyonları için Çevrimiçi Ücretsiz Barındırma

<Önceki | İçerik | Sonraki>

5.4. Yönetim Hizmetleri‌‌


Kali'nin kullandığı systemd yalnızca önyükleme sırasından sorumlu olmayan, aynı zamanda kalıcı olarak tam özellikli bir hizmet yöneticisi, hizmetleri başlatma ve izleme işlevi gören init sistemi olarak.

systemd ile sorgulanabilir ve kontrol edilebilir sistemctl. Herhangi bir argüman olmadan, çalışır systemctl liste birimleri aktiflerin bir listesini veren komut birimleri. Eğer koşarsan sistemctl durumu, çıktı, çalışan hizmetlere hiyerarşik bir genel bakış gösterir. Her iki çıktıyı karşılaştırdığınızda, birden çok türde birim olduğunu ve hizmetlerin bunlardan yalnızca biri olduğunu hemen görürsünüz.

Her hizmet bir ile temsil edilir. servis birimigenellikle gönderilen bir hizmet dosyası tarafından açıklanan

/lib/systemd/system/ (veya /run/systemd/system/ veya /etc/systemd/system/; artan önem sırasına göre listelenirler ve sonuncusu kazanır). Her biri muhtemelen başkaları tarafından değiştirilmiş hizmet adı.service.d/*.conf dosyaları aynı dizin kümesindedir. Bu birim dosyaları, formatı Microsoft Windows'un iyi bilinen “*.ini” dosyalarından esinlenen düz metin dosyalarıdır. anahtar

= değer [ arasında gruplandırılmış çiftlerBölüm] başlıklar. Burada örnek bir servis dosyası görüyoruz. /lib/sistemd/sistem/ssh.hizmet:


[Birim]

Description=OpenBSD Secure Shell sunucusu After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[Hizmet]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=işlem

Restart=arıza durumunda RestartPreventExitStatus=255 Type=bildir


[Yükleme]

WantedBy=multi-user.target Alias=sshd.service

[Birim]

Description=OpenBSD Secure Shell sunucusu After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[Hizmet]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=işlem

Restart=arıza durumunda RestartPreventExitStatus=255 Type=bildir


[Yükleme]

WantedBy=multi-user.target Alias=sshd.service


Hedef birimler, systemd tasarımının başka bir parçasıdır. Etkinleştirilmiş birimler (hizmet birimleri söz konusu olduğunda çalışan bir hizmet anlamına gelir) cinsinden elde etmek istediğiniz arzu edilen durumu temsil ederler. Esas olarak diğer birimlere bağımlılıkları gruplandırmanın bir yolu olarak bulunurlar. Sistem başladığında, gerekli birimlerin hedefe ulaşmasını sağlar. varsayılan.hedef (ki bu bir sembolik bağlantıdır grafik.hedefve buna bağlı olarak çok kullanıcılı.hedef). Böylece, bu hedeflerin tüm bağımlılıkları, önyükleme sırasında etkinleştirilir.

Bu tür bağımlılıklar ile ifade edilir istiyor hedef birim direktifi. Ancak yeni bağımlılıklar eklemek için hedef birimi düzenlemeniz gerekmez, ayrıca

bağımlı birim / Etc / systemd / sistem /hedef-adı.hedef.istiyor/ dizin. Ve tam olarak bu systemctl etkinleştirme foo.servis yapmak. Bir hizmeti etkinleştirdiğinizde, systemd'ye aşağıdaki listede listelenen hedeflere bir bağımlılık eklemesini söylersiniz. AranıyorTarafından girişi [Yükleme] hizmet birimi dosyasının bölümü. Tersine, systemctl devre dışı foo.servis aynı sembolik bağlantıyı ve dolayısıyla bağımlılığı düşürür.

The etkinleştirmek ve Enable / Disable komutlar, hizmetlerin mevcut durumuyla ilgili hiçbir şeyi değiştirmez. Yalnızca bir sonraki açılışta ne olacağını etkilerler. Hizmeti hemen çalıştırmak istiyorsanız, çalıştırmalısınız. systemctl başlangıç foo.servis. Tersine, ile durdurabilirsiniz sistemctl durdurma foo.servis. Ayrıca bir hizmetin mevcut durumunu şuradan inceleyebilirsiniz: sistemctl durumu foo.servisilişkili günlüğün en son satırlarını yararlı bir şekilde içeren . Bir hizmetin yapılandırmasını değiştirdikten sonra, onu yeniden yüklemek veya yeniden başlatmak isteyebilirsiniz: bu işlemler şu şekilde yapılır: systemctl yeniden yükle foo.servis ve systemctl yeniden başlatma foo. hizmet respectivamente.


görüntü

# systemctl durumu postgresql

● postgresql.service - PostgreSQL RDBMS

Yüklendi: yüklendi (/lib/systemd/system/postgresql.service; devre dışı; satıcı ön ayarı:

devre dışı)

Aktif: aktif değil (ölü)

# ls -al /etc/systemd/system/multi-user.target.wants/postgresql.service

ls: '/etc/systemd/system/multi-user.target.want/postgresql.service' dosyasına erişilemiyor: Hayır

böyle bir dosya veya dizin

# systemctl postgresql'i etkinleştir

[...]

# ls -al /etc/systemd/system/multi-user.target.wants/postgresql.service

lrwxrwxrwx 1 kök kök 38 Nisan 21 16:21 /etc/systemd/system/multi-user.target.wants/

postgresql.service -> /lib/systemd/system/postgresql.service

# systemctl durumu postgresql

● postgresql.service - PostgreSQL RDBMS

Yüklendi: yüklendi (/lib/systemd/system/postgresql.service; etkin; satıcı ön ayarı:

devre dışı)

Aktif: aktif değil (ölü)

# systemctl start postgresql

# systemctl durumu postgresql

● postgresql.service - PostgreSQL RDBMS

Yüklendi: yüklendi (/lib/systemd/system/postgresql.service; etkin; satıcı ön ayarı:

devre dışı)

Aktif: 2016-04-21 16:22:29 EDT'den beri aktif (çıkışlı); 2s önce İşlem: 6355 ExecStart=/bin/true (kod=çıkıldı, durum=0/BAŞARI)

Ana PID: 6355 (kod=çıkıldı, durum=0/BAŞARILI)


21 Nisan 16:22:29 kali-rolling systemd[1]: PostgreSQL RDBMS başlatılıyor... 21 Nisan 16:22:29 kali-rolling systemd[1]: PostgreSQL RDBMS başlatıldı.

OnWorks'te En İyi OS Bulut Bilişimi: