init helyett upstart

Címkék

Azt már tudjuk, hogy az Ubuntu fejlesztők (és a hírek szerint más disztribúció fejlesztői is) azon vannak, hogy a korosodó init-et lecseréljék valami olyasmire, ami szerintük ésszerűbb, tisztább és talán gyorsabb megoldást nyújt a linuxos rendszerindítás problémájára.

Hogy ez a csere nem csak "papíron létezik" és nem csak a szájuk jár, azt jól mutatja az a tény, hogy a napokban megjelent Ubuntu 6.10 "Edgy Eft" beta kiadásában már az upstart gondoskodik a rendszerindításról. A Linux.com most egyik cikkében az upstart-ot mutatja be. Érdemes az upstart-tal többet is foglalkozni, mert egészen valószínű, hogy az Ubuntu után lesz több Linux disztribútor is, aki fantáziát lát majd benne.

A cikk itt.

Hozzászólások

Kipróbáltuk, egyelőre csak a baj van vele, de látszik hogy mire lesz majd képes. Egyelőre ugyanazokat az initscripteket indítgatja... szerintem ez majd egy-két év múlva lesz aktuális.

btw. jó lenne, ha ez (vagy bármelyik más) szintén valami nemzetközileg elfogadott ajánlás lenne, és akkor tényleg áttérne mindenki egyfélére. Elég sok kockázatot látok ebben, hiszen nem kényszeríti senki a disztribúciókat az áttérésre, a fejlesztőknek meg eddig is épp elég bajuk volt, nem még a kétféle inithez igazodás is. Értem, hogy kompatíbilis lesz egy ideig, de akkor meg mi értelme?

---
"God doesn't limp"

Elég sok ellenérzést megfogalmaznak a hozzászólók és többnyire igazuk is van.
Otthon kipróbáltam az edgy bétáján, hát nem lett gyorsabb (mondjuk nem is ez a cél), de sajna szerintem még sokkal lasabb is lett a boot. Maradok a debiannal és az initng-nél.

Erről beszéltem én is.
Akkor inkább úgy fogalmazom meg, hogy: A cél nem a minél gyorsabb boot folyamat elérése, de az architektúrából adódóan "lehetséges", hogy gyorsabb boot folyamatot fog eredményezni a végén.
Még a legelső hír után olvastam el az ubuntu oldalán a fórumban, hogy mik a célok és ott nem a gyorsaság volt a fő szempont. Ezért írtam hogy nem is ez a cél.
Mindegy...

Egyelőre nem is lehet gyorsabb, mert amíg az indítandó szoftvereket nem írják át úgy, hogy képesek legyenek eseményeket kezelni, addig az Upstart emulálja az sysvinit-et feléjük, ami ugyanolyan "gyors", mint eddig.
(Lásd itt (upstart-compat-sysv csomag))

A changelog pedig itt követhető.

mondjuk szervert nem szoktak naponta ujrabootolni
masreszt megnezem amikor a kis gnu warrior nekiall ilyet kodolni abbol mi fog kisulni remelem lesz benne jopar kritikus bug

"mondjuk szervert nem szoktak naponta ujrabootolni"

igen, de ez nem csak a bootolásról szól.

Nem ismerem a szóban forgó cuccot, de Solaris 10-ben is lecserélték a régi módszert újra (SMF), és tényleg jobb. Figyeli az indított szervízeket, ha megdöglik megkíséreli újraindítani, ismeri és -átláthatóan - kezeli a függőségeket, stb,stb. Tényleg hasznos.

csináljunk HUPinit-et! :) írjuk össze mit kell tudjon, és kezdjük el :) Illetve kezdjétek... sajnos van elég más gondom/dolgom is...

és mi a helyzet a runit-el? próbáltátok már?

Én három éve használom ;-)
(Linux-on és *BSD-n)

Sajnos pont az egyszerűsége nem jön át az upstart -ba.
Bár az is igaz, hogy nem pont ugyanazt a területet célozzák meg az upstart-nál az események kezelése fontos cél, de az a rész amit a runit tud az upstart-on belül se teljesen egyezik meg.

Illetve a fő probléma a runit képes programok írása:
1. nem fork-ol, foreground -ban fut tovább, nem csatlakozik le a terminálról (detach)
2. a hibaüzeneteket a stdout-ra írja

Amennyire én értem a még nemlétező upstart dokumentációt az 1. pont nekik is szükséges. A második nem tudom mennyire, ugyanis nyújtanak egy logd szolgáltatást, de nem teljesen tiszta, hogy az hogyan működik.

Szóval kicsit kár, hogy külön szántanak, de az aratásnál itt-is ott-is lehet előny.

Szóljatok, ha eljut a upstart odáig, hogy átlátható doksija lesz példa:
http://smarden.org/runit/ (El fog egyébként jutni idáig.)

Ja igen néztem a cikkben található linket, de az nekem kevés...

Most az upstart eljutott egy "az init-et kidobtuk, de az upstart-ot init-ként használjuk szintre" kérdés, hogyan fognak továbblépni ...

Igen, azt nem mondtam, hogy több módban is lehet a runit-et használni lehet az init kiegészítőjeként és lecseréléseként.

Én mindkettőt használom, de az előző kényelmesebb, mert nem kell a programot haxxolni, hogy a fentebb írt szabályok szerint fusson. Amit fontos szolgáltatás (pl. server daemon) annak írok *run* script-et (ami általában 3 sor!), a többi hadd pusztuljon.