Miben különbözik az Upstart?
Az Upstartnak van egy modellje a rendelkezésre álló munkák megkezdésére, amikor az esemény bekövetkezik. Hasonlítsa össze ezt a systemd-vel, amely elindítja azokat a folyamatokat, amelyeken az összes többi rendszer fut. A fő különbség az, hogy az Upstart eseményeket vár, a systemd pedig a függőségeket koordinálja. Mindkét rendszer képes normál szkriptek futtatására, és mindkettő párhuzamosan próbál elindulni. Mivel a különbségek olyan kicsiek, az Upstart szkripteket általában csak egy systemd szolgáltatásfájl segítségével lehet meghívni. Azt is megtehetik, hogy változatlan systemV fájlokat futtatnak. Valójában mindkettő alapértelmezés szerint egy régi systemV fájlszerkezetet keres. A nagy különbség az, hogy az Upstart meghatározott eseményeket keres, hogy bármit is elindítsanak. Tehát, ha hozzá szeretné adni a saját szolgáltatását, akkor meg kell találnia, hogy milyen összefüggésben van szüksége a szolgáltatására. Általában ez könnyű, mivel olyasmit szeretne, amely például az asztalon fut. Az asztal az 5. futási szinttel kezdődik, ezért ezt be kell állítania a szkriptbe. Ezzel szemben a systemd esetében ez a grafikus cél. Az upstartban más eseményeket is használhat, mint például felszerelés, csatlakoztatás és billentyűzet kérés. Ezeket a systemd-vel kezeljük a foglalatokon és a dbuson keresztül.
Hogyan lehet migrálni a szkripteket?
Minden Upstart szkripted van az / etc / init könyvtárban, nevük job neve, 'conf' kiterjesztéssel. A parancsfájlok nem futtathatóak, csak egy vagy több futtatható fájlra mutatnak, amelyet futtatni kellene. Bármely Upstart szkriptben meghatároztad, hogy a szkript melyik eseménynek induljon és mikor álljon le. Ezenkívül rendelkeznie kell indítás előtti és leállítás előtti bejegyzésekkel. Ezek előkészítik a környezetet és megtisztítják a végrehajtást. Az alábbiakban egy minta szkript található
leírás "Egyszerű szkript"indulás futási szinten [2345]
megáll a futási szinten [06]
újjáélesztés
env SCRIPT_ENV_VAR = '/ elérési út / fájlhoz.konfig '
chdir / path / to / script /
exec bash szkript.SH
Az 'exec' utasítás megmondja, mi fog történni, amikor manuálisan elindítja. A start és stop irányelv meghatározza, hogy a szkript mikor indul el automatikusan. Amint láthatja, beállíthatja azt a könyvtárat is, amelyben futni fog. Az Upstartnak még sok szempontja van, de meg kell tanulnia, hogyan kell kivándorolni.
Ahhoz, hogy ez a szkript a systemd-ben működjön, létre kell hoznia egy szolgáltatásfájlt.
Mértékegység]Leírás = Egyszerű szkript
[Szolgáltatás]
Környezet = SCRIPT_ENV_VAR = / elérési út / fájlhoz.konfig
WorkingDirectory = / elérési út / a / szkripthez
ExecStart = / usr / bin / bash szkript.SH
Újraindítás = mindig
[Telepítés]
WantedBy = többfelhasználós.cél
Itt láthatja, hogy ugyanazok történnek, de más kulcsszavakkal. A formátum egyszerű és lényegre törő. A futási szintek helyett megadhatja, hogy melyik cél szeretné a szkriptet. Ez rávilágít arra, hogy a systemd lényege a függőség és a dolgok elindítása az adott környezet számára. Vegye figyelembe azt is, hogy az ExecStart globális elérési útra mutat, soha nem használ helyi elérési utat.
Hol remekel?
Az Upstart-ot párhuzamos viselkedésre tervezték, de azt is, hogy kicsi legyen. Ha ezt bárhol megtalálja, akkor az beágyazott rendszerekben és a ChromeOS-ban lesz. Igen, a ChromeOS-nak megvolt. Ennek oka az, hogy az Ubuntu tetejére épült a kezdetektől fogva, amikor az Ubuntu alapértelmezett kezdeti rendszerként indult. A ChromeOS azóta átállt a Gentoo alapjául.
Következtetés
Az Upstart érdekes téma, de főleg történelmi. Szüksége lehet rá, ha régi rendszerekbe ütközik. A Linuxon a leggyakoribb alternatíva a systemd. Ha fenntartásai vannak a systemd-vel kapcsolatban, keressen más minimális rendszereket. Az egyik érdekes a szoptatós, sinit. Három jelet támogat, és az összes szkriptet magának kell megírnia, vagy mástól kell módosítania a szkripteket. Ez érdekes gyakorlat lehet, de csak akkor hasznos, ha nagyon minimális és speciális rendszeren dolgozik.