Ar ko atšķiras Upstart?
Upstart ir modelis, kā sākt jebkuru pieejamo darbu, kad notiek notikums. Salīdziniet to ar systemd, kas sāk procesus, kuros darbojas visas pārējās sistēmas. Galvenā atšķirība ir tā, ka Upstart gaida notikumus un systemd koordinē atkarības. Abas sistēmas var palaist regulārus skriptus, un abas mēģina startēt paralēli. Tā kā atšķirības ir tik mazas, Upstart skriptus parasti var vienkārši izsaukt ar systemd servisa failu. Viņi var arī palaist nemainītus systemV failus. Faktiski abi pēc noklusējuma meklē vecu systemV failu struktūru. Lielā atšķirība ir tā, ka Upstart meklē noteiktus pasākumus, lai kaut ko sāktu. Tātad, ja vēlaties pievienot pats savu pakalpojumu, jums ir jāizdomā, kādā kontekstā jums ir nepieciešams jūsu pakalpojums. Parasti tas ir viegli, jo vēlaties kaut ko tādu, kas darbojas, piemēram, darbvirsmā. Darbvirsma sākas ar notikumu 5. līmeni, tāpēc jūs to iestatāt savā skriptā. Turpretī systemd tas ir grafiskais mērķis. Sākotnējā versijā jums ir arī citi pasākumi, kurus varat izmantot, piemēram, montāža, uzstādīšana un tastatūras pieprasīšana. Tie tiek apstrādāti ar systemd caur ligzdām un dbus.
Kā jūs migrējat skriptus?
Jums ir visi Upstart skripti mapē / etc / init, to nosaukumi ir darba nosaukumi ar paplašinājumu 'conf'. Skripti nav izpildāmi, tie tikai norāda uz vienu vai vairākiem izpildāmiem failiem, kurus vajadzētu palaist. Jebkuros Upstart skriptos esat definējis, kurā notikumā skripts jāsāk un kad jāpārtrauc. Jums vajadzētu būt arī ierakstiem pirms sākuma un pēc apstāšanās. Tie sagatavos vidi un attīrīs pēc izpildes. Skripta paraugs ir zemāk
apraksts "Vienkāršs skripts"sākums pēc līmeņa [2345]
apstāties uz darbības līmeņa [06]
atjaunošana
env SCRIPT_ENV_VAR = '/ ceļš / uz / failu.konfigurēt '
chdir / path / to / script /
exec bash skripts.sh
Izraksts “exec” norāda, kas notiks, kad to sāksit manuāli. Sākuma un beigu direktīvas nosaka, kad skripts tiks palaists automātiski. Kā redzat, varat arī iestatīt direktoriju, kurā tas darbosies. Upstart ir daudz vairāk aspektu, taču jums vajadzētu uzzināt, kā migrēt.
Lai šis skripts darbotos sistēmād, jums ir jāizveido servisa fails.
Vienība]Apraksts = Vienkāršs skripts
[Apkalpošana]
Vide = SCRIPT_ENV_VAR = / ceļš / uz / failu.konfigurēt
WorkingDirectory = / ceļš / uz / skriptu
ExecStart = / usr / bin / bash skripts.sh
Restartēt = vienmēr
[Uzstādīt]
WantedBy = daudzlietotāju.mērķis
Šeit jūs varat redzēt, ka notiek tās pašas lietas, bet ar citiem atslēgvārdiem. Formāts ir vienkāršs un atbilstošs. Tā vietā, lai būtu darbības līmeņi, jūs norādāt, kurš mērķis vēlas jūsu skriptu. Tas uzsver, ka systemd viss ir atkarīgs no atkarības un lietas uzsākšanas konkrētajā vidē. Ņemiet vērā arī to, ka ExecStart norāda uz globālu ceļu, tas nekad neizmanto lokālu ceļu.
Kur tas izceļas?
Upstart tika izstrādāts paralēlai uzvedībai, bet arī mazs. Ja to atradīsit jebkurā vietā, tas būs iegultās sistēmās un ChromeOS. Jā, ChromeOS bija. Iemesls ir tas, ka tas tika uzbūvēts uz augšu, ja Ubuntu jau no paša sākuma, laikā, kad Ubuntu bija palaidusi kā noklusējuma sākotnējo sistēmu. Kopš tā laika ChromeOS ir pārcēlies uz Gentoo izmantošanu kā savu bāzi.
Secinājums
Upstart ir interesanta tēma, bet galvenokārt vēsturiska. Jums tas var būt vajadzīgs tikai tad, ja jūs darbojaties ar vecām sistēmām. Visizplatītākā Linux alternatīva tagad ir systemd. Ja jums ir atrunas par systemd, jums vajadzētu meklēt citas minimālās sistēmas. Viens interesants ir zīdains, grēks. Tas atbalsta trīs signālus, un jums pašiem ir jāraksta visi skripti vai jāmaina skripti no kāda cita. Tas var būt interesants uzdevums, bet ir noderīgs tikai tad, ja strādājat pie ļoti minimālas un specializētas sistēmas.