Distributori, ecco perché dovreste adottare Upstart
In News il 8/02/08 @ 19:33 trackback
Dopo l’interessante discussione nata con la notizia che “Fedora 9 tenta di adottare Upstart di Ubuntu“, ho appena letto un articolo di Aaron Toponce che capita quasi a fagiuoloDiciamo… a “lenticchia”. Scusate -.- e quindi non posso non proporne la lettura.
Se ricordate, in quell’articolo si segnalava l’inclusione di Upstart in Fedora 9, notizia molto interessante più che altro in prospettiva: ciò significa che più o meno presto potremmo avere Upstart in RHEL (la soluzione Linux enterprise ditribuita da Red Hat) e quindi in CentOS, eccetera. Da qui all’affermazione di Upstart come nuovo standard il passo sarebbe breve.
Aaron offre una breve (ma intensa) panoramica di cosa è Upstart, descrivendo i motivi per cui ogni distribuzione dovrebbe adottarlo come rimpiazzo per SysVinit, che tutti additano come obsoleto ma che resta ancora in uso. Stranamente non si fa alcun cenno ad InitKit.
|
|
— Pagine forse correlate:


Commenti »
Tu che sei in multilingua, una traduzioncina veloce veloce?
Non ho voglia di leggermelo….. :D
Non mi piace.
Non mi piace che uno standard prenda piede dalla massa. E non mi piace Upstart: per quel poco che l’ho usato, e per quel poco che l’ho palpeggiato, trovo che sia la cosa più complicata da sei anni a ’sta parte.
Sto invecchiando.
Tipo 2 o 3 anni fa ho sentito parlare di (e l’ho anche provato, seppur per brevissimo tempo) InitNG.
Ricordo che al tempo era ancora in via di sviluppo selvaggio, non so come sia ora, ma già allora permetteva (realmente: ne ho esperienza) di ridurre i tempi di avvio del 60% (e anche di più, a costo di smanettarci un pochino).
Da quanto so io, nessuna distribuzione l’ha mai considerato…
boh…
InitNG forse fa parte di quella sezione di "concept car" che poi non vengono mai usate, ma solamente sfruttate come base ideologica per altre produzioni.. tipo Upstart…
Mi permetto di consigliarvi runit (www.smarden.org/runit).
E’ semplicissimo da usare, niente xml e sposa la filosofia dei daemontools di D.J.Bernstein.
A mio parere è di gran lunga superiore.
Da quando in giro c’è ubuntu sembra quasi che a ogni cosa ci sia una sola soluzione…
Intanto mi chiedo come mai Ubuntu si avvia in 100 secondi con l’avanzato (e quasi avariato) Upstart, Mentre Slackware, Frugalware e Arch ci mettono meno di 40 secondi…
Mi riprendo da solo: facevo più bella figura se stavo zitto… ^_^’
Upstart e InitNG sono concettualmente molto simili, in quanto entrambi gestiscono il caricamento dei processi in maniera asincrona, e sì: Ubuntu ha considerato l’adozione di InitNG quando ha deciso che SysVinit andava sostituito.
Un dubbio però mi rimane: ricordo bene che senza minimamente sforzarmi di ottimizzare InitNG potevo avviare in 20 secondi (davvero) una slackware che normalmente partiva in quasi un minuto. La differenza del tempo di avvio era davvero eclatante, mentre da quando Ubuntu è passata a Upstart non ho notato proprio nulla…
@Dcromato
perché probabilmente Ubuntu di default carica molti più servizi delle distribuzioni che citi.
@emix
ehm…no….anche riducendo tutti i servizi all’osso ubuntu non riesce ad avviarsi in 20 secondi come fa arch, ubuntu è persino più lenta nell’avvio di windows vista….(booooom)
@emix
Non credo, io per accomodare una installazione Slackware ad un amico "novellino" ho settato l’indescrivibile all’avvio, eppure i tempi di avvio non cambiavano di molto.
E vabbè, si sa che sono partigiano, init BSD-like a vita :D
@tutti
Ad ogni modo bisogna anche considerare che il tempo di avvio non dipende esclusivamente dal sistema di init. Semplificando il discorso al massimo (e supponendo che tutti i sistemi di init facciano un avvio sequenziale dei servizi) la maggior parte del tempo di boot è occupato dai servizi stessi (fam, dbus, ecc.). Per dirla in parole grezze se su Arch Apache parte in 3 secondi mentre su Ubuntu parte in 5 (a causa di opzioni di configurazione o di ottimizzazioni varie) non è merito del sistema di init.
E ovvio che un init lineare come quello di Arch sia più veloce, ma è anche vero che init più raffinati come Upstart abbiano dei vantaggi non strettamente legati al tempo di avvio. In realtà il problema è che su Ubuntu viene usato Upstart, ma gli script sono in gran parte quelli di SysV, quindi di fatto è come non averlo.
Io uso da qualche tempo initNG, caricando gli stessi servizi che usavo col sysV e devo dire che l’avvio è davvero molto molto più veloce, circa -50% escluso il kernel time. Quando avevo provato ubuntu feisty non avevo invece notato una sostanziale riduzione del tempo di avvio. Non ho avuto fortuna con Einit invece, sob. Ora non mi resta che provare runit, suggerito da Roberto, ma finora io tiferei alla grande per initNG.
Come dice emix il sistema di init di arch (usata per 5 mesi) è davvero semplificato e dunque è normale che l’avvio sia rapido
Upstart non è che sia questa rivoluzione in confronto a SysVInit, InitNG sarebbe molto meglio. Ma purtroppo con uno sponsor come Canonical, c’è poco da fare.
@gommosgol
Be’ dal punto di vista della "filosofia" sono due sistemi completamente diversi. Il problema è (come ho detto prima) che al momento viene usato in modalità compatibile SysV e quindi non cambia praticamente nulla.
A me sembra che initkit sia un’insieme di specifiche di cui upstart è un’implementazione. Upstart è nato per raggiungere degli obiettivi, tipo eliminare la relazione temporale tra gli stati di esecuzione dei demoni. InitNG è solo una reimplementazione di sysvinit.
@ 11. emix
"E ovvio che un init lineare come quello di Arch sia più veloce"
In un init "lineare" i servizi vengono caricati in sequenza, ovvero: se un servizio si avvia in 30 secondi, il sistema sarà operativo in 30 secondi + il tempo di avvio di tutti gli altri servizi.
Se un servizio impiega 5 secondi a partire, è spesso dovuto al fatto che sia configurato con 4 secondi di sleep. In un init lineare, questi 4 secondi di sleep sono 4 secondi in cui il sistema aspetta senza far niente.
L’innovazione più importante di InitNG consiste proprio nello sfruttare questi "tempi morti" per portarsi avanti e caricare altri servizi.
Anche Upstart dovrebbe farlo: il motivo per cui non lo vedo correre come initNG non lo capisco ancora.
Ma tutta questa nostra polemica riguarda soltanto il tempo di avvio del sistema…
Seguite i link e vedrete che non è questa la ragione per cui Ubuntu ha preferito Upstart e non le altre soluzioni elencate.
Si vocifera da qualche tempo il fatto di avere l’evoluzione dell’attuale sistema di avvio che anziché essere dei script in bash, sono dei veri e propri programmi compilati in C, questo comporterebbe il fatto di non dover cambare il gestore di init ed avere degli script che sono dei veri e propri programmi (che volendo si possono prelinkare per rendere più veloci) su gentoo l’ho provato e va benissimo (anche se pieno di bug visto che è classificato tra gli hard masked)
@Matiee
In realtà volevo dire che tra gli init tradizionali (ovvero quelli che non fanno un avvio "parallelo" dei servizi) quello di arch risulta veloce perché è molto semplice (a differenza ad esempio di SysV).
[...] un parco software aggiornatissimo, l’adozione di Upstart di Ubuntu, criticata da alcuni e applaudita da altri come me, l’adozione di PolicYKit, dell’ultima versione del Kernel Linux, di GNOME, di KDE 4 e [...]
ma nessuno che abbia provato baselayout2+openrc?
fanno paura!!! :|