Uruchom
Oryginalni autorzy | Gerrit Pape |
---|---|
Pierwsze wydanie | 10 lutego 2004 |
Wersja stabilna | 2.1.2 / 10 sierpnia 2014
|
Napisane w | C , Skorupa |
System operacyjny | Linux , FreeBSD , OpenBSD , NetBSD , macOS , Solaris |
Typ | Uruchom demona |
Licencja | Nowa licencja BSD |
Strona internetowa |
|
runit to schemat zarządzania inicjowaniem i usługami dla systemów operacyjnych typu Unix, który inicjuje, nadzoruje i kończy procesy w całym systemie operacyjnym. Runit to reimplementacja zestawu daemontools , który działa w wielu systemach operacyjnych opartych na systemie Linux, a także systemach operacyjnych BSD i Solaris. Runit oferuje zrównoleglenie uruchamiania usług systemowych, co może przyspieszyć czas uruchamiania systemu operacyjnego.
Działając jako demon init , Runit jest bezpośrednim lub pośrednim przodkiem wszystkich innych procesów. Jest to pierwszy proces uruchamiany podczas uruchamiania i trwa do momentu zamknięcia systemu. Jest często używany z innymi systemami init jako oddzielny menedżer usług. W roli menedżera usług może być używany przez nieuprzywilejowanych użytkowników do organizowania usług osobistych, a także przez użytkownika root do zarządzania usługami, którymi w inny sposób nie zarządza obecnie używany system init.
Projekt
Runit koncentruje się na byciu małą, modułową i przenośną bazą kodu. W roli początkowej Runit jest podzielony na trzy etapy: jednorazowa inicjalizacja, nadzór nad procesem oraz zatrzymanie lub ponowne uruchomienie. Podczas gdy pierwszy i trzeci etap muszą być dostosowane do konkretnego systemu operacyjnego, na którym działają, drugi etap jest przenośny we wszystkich systemach operacyjnych zgodnych z POSIX . Te 3 etapy można skonfigurować za pomocą 3 plików wykonywalnych (zwykle są to skrypty powłoki) o nazwach odpowiednio 1, 2 i 3.
Etap 2 zwykle wywołuje plik binarny o nazwie runsvdir, który jest procesem odpowiedzialnym za globalne zarządzanie demonami: dla każdego demona znalezionego w folderze przekazanym mu przez argument, następnie tworzy indywidualnego strażnika, z którego każdy uruchamia demona (i program rejestrujący usługa ostatecznie z nią powiązana) i uruchamia ją ponownie, jeśli umrze. W przypadku dodania lub usunięcia demona zabija on strażnika lub uruchamia nowy. Pliki wykonywalne o określonych nazwach są używane do opisywania różnych faz życia demona (uruchamianie, sprawdzanie, kończenie, ...), może on przechwytywać wysyłane sygnały i uruchamiać określone skrypty, jeśli takie istnieją, a nazwane potoki są tworzone w celu udostępnienia interfejsów kontrolować demona.
Stosowanie
Runit może być używany jako bezpośredni zamiennik dla sysvinit lub jako nadzorca usług (z sysvinit jako nadrzędnym procesem PID 1, który uruchamia procesy określone w pliku inittab lub innym systemem init). Pakiet oprogramowania RubyWorks, który może obsługiwać Ruby on Rails, włączył Runit do swojego pakietu.
Przyjęcie
Runit to domyślny system inicjujący:
- antiX ( oparty na Debianie , od wersji 19)
- Dragora GNU/Linux-Libre (od Dragora 2)
- Linuksa Venoma
- Pusty Linux
Runit to „oficjalnie” dostępny system inicjujący dla:
- Artix Linux ( oparty na Arch )
- Devuan ( oparty na Debianie , od wersji 3.1.0)
Linki zewnętrzne