bootloader

Upstart - Hvordan er det bedre eller værre end de andre?

Upstart - Hvordan er det bedre eller værre end de andre?
Da Upstart først blev udtænkt af Canonical, var det fremherskende system stadig sysvinit, som startede alt i rækkefølge og mere eller mindre stoppede efter det. Det sørgede for, at systemet også lukkede yndefuldt. Dette gjorde det nødvendigt at have andre løsninger til hot-plug-enheder såsom USB-sticks og lignende. Hovedideen fra designerne var at gøre det begivenhedsdrevet, det gjorde det let at håndtere de nævnte hot-plugging begivenheder. Upstart kan også køre umodificerede sysvinit-scripts, så du kan migrere til Upstart med kun en installation. Dette projekt er kun i vedligeholdelsestilstand, så brug dette indlæg som et interessant stykke. Du kan komme ind på dette system i gamle opdaterede systemer.

Hvordan adskiller Upstart sig?

Upstart har en model til at starte ethvert ledigt job, når begivenheden sker. Sammenlign dette med systemd, der starter processer, hvor alle andre systemer kører. Hovedforskellen er, at Upstart venter på begivenheder, og systemd koordinerer afhængigheder. Begge systemer kan køre regelmæssige scripts, og begge prøver at starte parallelt. Fordi forskellene er så små, kan Upstart-scripts normalt bare kaldes med en systemd-servicefil. De kan også begge køre uændrede systemV-filer. Faktisk ser begge efter en gammel systemV-filstruktur som standard. Den store forskel er, at Upstart ser efter definerede begivenheder til at starte noget. Så hvis du vil tilføje din egen tjeneste, skal du finde ud af, i hvilken sammenhæng du har brug for din service. Normalt er dette let, da du vil have noget, der f.eks. Kører på dit skrivebord. Skrivebordet starter med event runlevel 5, så du indstiller det i dit script. For systemd er dette derimod det grafiske mål. I upstart har du også andre begivenheder, du kan bruge, såsom montering, monteret og tastaturanmodning. Disse håndteres med systemd gennem sockets og dbus.

Hvordan migrerer du scripts?

Du har alle Upstart-scripts i / etc / init, deres navne er jobnavn med en 'conf' udvidelse. Scripts er ikke eksekverbare, de peger bare på en eksekverbar eller flere, der skal køres. I alle Upstart-scripts har du defineret, hvilken begivenhed scriptet skal starte, og hvornår det skal stoppe. Du skal også have pre-start og post-stop poster. Disse vil forberede miljøet og rydde op efter udførelse. Et eksempel på script er nedenfor

beskrivelse "Et simpelt script"
start på køreplan [2345]
stop på køreplan [06]
respawn
env SCRIPT_ENV_VAR = '/ sti / til / fil.konfigurere '
chdir / sti / til / script /
exec bash script.sh

'Exec' udsagnet siger, hvad der vil ske, når du starter det manuelt. Start- og stop-direktiverne definerer, hvornår scriptet starter automatisk. Som du kan se, kan du også indstille den mappe, den kører i. Der er mange flere aspekter ved Upstart, men du bør lære at migrere ud.

For at dette script skal fungere i systemd, skal du oprette en servicefil.

Enhed]
Beskrivelse = Et simpelt script
[Service]
Miljø = SCRIPT_ENV_VAR = / sti / til / fil.config
WorkingDirectory = / sti / til / script
ExecStart = / usr / bin / bash script.sh
Genstart = altid
[Installere]
WantedBy = flerbruger.mål

Her kan du se, at de samme ting sker, men med andre nøgleord. Formatet er enkelt og til det punkt. I stedet for at have runlevels peger du på, hvilket mål der ønsker dit script. Dette fremhæver, at systemd handler om afhængighed og start ting for det specifikke miljø. Bemærk også, at ExecStart peger på en global sti, den bruger aldrig en lokal sti.

Hvor udmærker det sig?

Upstart blev designet til parallel adfærd, men det var også designet til at være lille. Hvis du stadig finder dette overalt, vil det være i indlejrede systemer og ChromeOS. Ja, ChromeOS havde det. Årsagen er, at den blev bygget ovenpå, hvis Ubuntu fra starten, på det tidspunkt, hvor Ubuntu havde upstart som det oprindelige standardsystem. ChromeOS er siden gået over til at bruge Gentoo som deres base.

Konklusion

Upstart er et interessant emne, men hovedsageligt historisk. Du har muligvis kun brug for det, hvis du løber ind i gamle systemer. Det mest almindelige alternativ på Linux er nu systemd. Hvis du har forbehold med hensyn til systemd, skal du kigge efter andre minimale systemer. En interessant er den sutter, sinit. Det understøtter tre signaler, og du skal skrive alle scripts til det selv eller ændre scripts fra en anden. Dette kan være en interessant øvelse, men er kun nyttig, hvis du arbejder på et meget minimalt og specialiseret system.

Mus Sådan bruges Xdotool til at stimulere museklik og tastetryk i Linux
Sådan bruges Xdotool til at stimulere museklik og tastetryk i Linux
Xdotool er et gratis og open source kommandolinjeværktøj til simulering af museklik og tastetryk. Denne artikel dækker en kort vejledning om brug af x...
Mus Top 5 ergonomiske computermusprodukter til Linux
Top 5 ergonomiske computermusprodukter til Linux
Forårsager langvarig brug af computeren smerter i dit håndled eller fingre? Lider du af stive led og er konstant nødt til at ryste hænderne? Føler du ...
Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...