GNU/Linux >> Znalost Linux >  >> Linux

Pomocí Runitu na Devuanu

Devuan a různé distribuce Linuxu bez systemd poskytují alternativní init systémy. runit patří mezi nejbarebones a nejlehčí. Malá kódová základna usnadňuje údržbu a také audit na chyby a bezpečnostní problémy. Je schopen běžet i na jiných Unicích jako *BSD, MacOSX atd. V tomto článku se budu zabývat základy runitu init schéma s Devuanem jako základem. Většina konceptů a příkazů by však měla být stejná pro ostatní distribuce. Podrobnější informace naleznete v odkazech na konci.

Pracovní mechanismus

Podle oficiální dokumentace runit je iniciační schéma se servisním dohledem. To znamená, že zvládá automatické spouštění služeb během bootování a také je sleduje a restartuje. V souladu s filozofií UNIX se runit skládá z různých malých nástrojů a binárních souborů (i když ne do té míry, aby byly nafouklé *ehm* systemd *ehm* ) pro interakci s ním a dalšími démony.
Stejně jako u většiny systémů init jádro načte první proces – /sbin/init který poskytuje program runit-init(8). Poté se nahradí runitem(8). runit je to, co provádí spouštění, spouštění a vypínání systému, a to ve třech fázích:

  • Fáze 1 :
    Systém provádí jednorázové inicializační úlohy prostřednictvím /etc/runit/1 . Pokud tato fáze selže, dostaneme nouzový granát.
  • Fáze 2 :
    runit se spustí /etc/runit/2 který zpracovává úrovně běhu prostřednictvím runvdir(8). Toto je fáze, ve které náš systém zůstává, když běží. V této fázi můžeme také zadat Ctrl+Alt+Delete požadavek na restart.
  • Fáze 3:
    Pokud /etc/runit/2 vrátí se bez chyb, což se stane během zastavení nebo restartu systému, spustí se runit /etc/runit/3 . Úlohy vypnutí se provádějí ve fázi 3.

Úrovně běhu

Standardní instalace runitu má 2 úrovně běhu , default a single . Adresář úrovně běhu obsahuje symbolické odkazy na jiné adresáře služeb. Většina úloh se provádí a většina služeb se spouští v default runlevel. Můžeme si však vytvořit vlastní úrovně běhu vytvořením nové složky v/etc/runit/runsvdir/ a symbolické propojení našich požadovaných služeb s touto úrovní běhu. Moje instalace Devuan má vytvořeny další dvě úrovně běhu.

Runit změní úrovně běhu přepnutím adresáře runsvdir program je spuštěn. O to se stará runsvchdir příkaz.

Chcete-li například přepnout na single uživatelská úroveň běhu:
# runsvchdir single

Můžeme také požádat runit, aby se během spouštění spustil v určité úrovni běhu namísto default . Můžeme tak učinit přidáním runitdir=name parametr jádra. Je zřejmé, že úroveň běhu name by měl existovat, tj. adresář musí být dostupný na /etc/runit/runsvdir s tímto jménem.

Například pro přímé zavedení do režimu pro jednoho uživatele (tj. single runlevel), můžeme připojit runitdir=single na parametr jádra.

V GRUBu to můžeme udělat stisknutím e při zvýraznění položky v nabídce zavaděče.

Stiskněte Ctrl+X provede boot systému s danými parametry, čímž se efektivně dostaneme do režimu pro jednoho uživatele.

Správa služeb

Adresář služeb obsahuje soubory a nezbytné skripty pro správu démona. Adresáře služeb jsou umístěny v /etc/sv adresář.

Tyto adresáře služeb musí být symbolicky propojeny s /etc/service jinak runit nebudou mít přístup.

Vytvoření symbolického odkazu v /etc/service v podstatě enable tak, aby se spustil při spouštění. Můžeme disable službu vytvořením souboru s názvem down uvnitř adresáře služeb.

Přestože má runit několik programů, obvykle potřebujeme pracovat pouze s sv příkaz. Syntaxe je ekvivalentní systemd 's systemctl příkaz.

Spuštění služby:

# sv start <service_name>

Zastavení:

# sv stop <service_name>

Restartování nebo opětovné načtení služby:

# sv restart <service_name>

Zkontrolujte stav služby:

# sv status <service_name>

Je zde také přepsání sv příkaz v Rustu s názvem rsv . Tím se však v tomto článku nebudu zabývat. Zkontrolujte prosím odkaz mezi odkazy níže.


Odkazy:

  • Spustit domovskou stránku
  • rsv
  • Artix Wiki | Runit
  • Void Linux | Služby a démoni – runit

Linux
  1. Použití UFW jako IP Blacklist

  2. Použití mod_cluster v Apache

  3. Jaké DNS servery používám?

  1. Náhrada příkazů pomocí „?

  2. Používáte export v .bashrc?

  3. Použití rsync k synchronizaci souborů

  1. Použití grep pro vyhledávání obráceně

  2. Spuštění tmux pomocí gnome-terminálu

  3. Použití sftp jako scp