zavaděč

Upstart - Jak je to lepší nebo horší než ostatní?

Upstart - Jak je to lepší nebo horší než ostatní?
Když byl Upstart poprvé koncipován společností Canonical, převládajícím systémem byl stále sysvinit, který začal vše v pořadí a poté se víceméně zastavil. Zajistilo to také to, že se systém elegantně zavřel také. Díky tomu bylo nutné mít k dispozici další řešení pro zařízení připojitelná za provozu, jako jsou USB flash disky apod. Hlavní myšlenkou designérů bylo, aby to bylo řízeno událostmi, což usnadnilo zvládnutí zmíněných událostí připojování za provozu. Upstart může také spouštět neupravené skripty sysvinit, takže můžete migrovat na Upstart pouze s instalací. Tento projekt je pouze v režimu údržby, proto použijte tento příspěvek jako zajímavý kus. Do tohoto systému můžete narazit ve starých aktualizovaných systémech.

Jak se Upstart liší?

Upstart má model spuštění jakékoli dostupné úlohy, když se událost stane. Porovnejte to s systemd, které spouští procesy, které mají spuštěny všechny ostatní systémy. Hlavní rozdíl je v tom, že Upstart čeká na události a systemd koordinuje závislosti. Oba systémy mohou spouštět běžné skripty a oba se pokoušejí spouštět paralelně. Vzhledem k tomu, že rozdíly jsou tak malé, lze skripty Upstart obvykle volat pouze se souborem služby systemd. Mohou také spustit oba nezměněné soubory systemV. Ve skutečnosti oba ve výchozím nastavení hledají starou strukturu souborů systemV. Velkým rozdílem je, že Upstart hledá definované události, aby cokoli spustil. Pokud tedy chcete přidat vlastní službu, musíte zjistit, v jakém kontextu svou službu potřebujete. Obvykle je to snadné, protože budete chtít něco, co běží například na ploše. Plocha začíná úrovní událostí 5, takže ji nastavíte ve svém skriptu. Pro systemd je to naopak grafický cíl. Na začátku máte také další události, které můžete použít, jako je montáž, připojení a požadavek na klávesnici. Ty jsou řešeny systemd přes zásuvky a dbus.

Jak migrujete skripty?

Máte všechny skripty Upstart v / etc / init, jejich názvy jsou název úlohy s příponou 'conf'. Skripty nelze spustit, pouze ukazují na jeden nebo více spustitelných souborů, které by měly být spuštěny. V jakýchkoli skriptech Upstart jste definovali, u které události se má skript spustit a kdy se má zastavit. Měli byste také mít položky před spuštěním a po zastavení. Ty připraví prostředí a uklidí se po provedení. Ukázkový skript je uveden níže

popis "Jednoduchý skript"
start on runlevel [2345]
zastavit na runlevel [06]
respawn
env SCRIPT_ENV_VAR = '/ cesta / k / souboru.konfigurace '
chdir / cesta / do / skriptu /
exec bash skript.sh

Příkaz 'exec' říká, co se stane, když jej spustíte ručně. Direktivy start a stop definují, kdy se skript spustí automaticky. Jak vidíte, můžete také nastavit adresář, ve kterém bude spuštěn. Upstart má mnoho dalších aspektů, ale měli byste se naučit, jak migrovat.

Aby tento skript fungoval v systemd, musíte vytvořit servisní soubor.

Jednotka]
Popis = Jednoduchý skript
[Servis]
Prostředí = SCRIPT_ENV_VAR = / cesta / k / souboru.konfigurace
WorkingDirectory = / cesta / do / skriptu
ExecStart = / usr / bin / bash skript.sh
Restartovat = vždy
[Nainstalujte]
WantedBy = více uživatelů.cílová

Zde vidíte, že se dějí stejné věci, ale s jinými klíčovými slovy. Formát je jednoduchý a věcný. Místo toho, abyste měli úroveň běhu, ukazujete na to, který cíl chce váš skript. To zdůrazňuje, že systemd je o závislosti a spouštění věcí pro konkrétní prostředí. Všimněte si také, že ExecStart ukazuje na globální cestu, nikdy nepoužívá místní cestu.

Kde to vyniká?

Upstart byl navržen pro paralelní chování, ale byl také navržen tak, aby byl malý. Pokud to kdekoli najdete, bude to ve vestavěných systémech a ChromeOS. Ano, ChromeOS to měl. Důvodem je to, že byl postaven nahoře, pokud Ubuntu od začátku, v době, kdy byl Ubuntu spuštěn jako výchozí počáteční systém. ChromeOS se od té doby přesunul k používání Gentoo jako své základny.

Závěr

Upstart je zajímavé téma, ale hlavně historické. Možná budete potřebovat, pouze pokud narazíte na staré systémy. Nejběžnější alternativou v systému Linux je nyní systemd. Pokud máte výhrady k systemd, měli byste hledat jiné minimální systémy. Jeden zajímavý je bezcitný, hříšný. Podporuje tři signály a musíte k tomu napsat všechny skripty sami, nebo upravit skripty od někoho jiného. Může to být zajímavé cvičení, ale je užitečné, pouze pokud pracujete na velmi minimálním a specializovaném systému.

Přidejte gesta myši do Windows 10 pomocí těchto bezplatných nástrojů
V posledních letech se počítače a operační systémy značně vyvinuly. Bývaly doby, kdy uživatelé museli procházet správci souborů pomocí příkazů. Stejně...
Ovládejte a spravujte pohyb myši mezi více monitory ve Windows 10
Správce myší se dvěma displeji umožňuje ovládat a konfigurovat pohyb myši mezi více monitory zpomalením jeho pohybů poblíž hranice. Windows 10/8 vám u...
WinMouse vám umožňuje přizpůsobit a vylepšit pohyb ukazatele myši na PC s Windows
Chcete-li vylepšit výchozí funkce ukazatele myši, použijte freeware WinMouse. Přidává další funkce, které vám pomohou vytěžit ze své skromné ​​myši ma...