Ero sivun ”Init” versioiden välillä
Pb (keskustelu | muokkaukset) p (wikilinkki, upstart myös fedorassa) |
Pb (keskustelu | muokkaukset) p (→Käyttö: wikilinkki) |
||
Rivi 16: | Rivi 16: | ||
==Käyttö== | ==Käyttö== | ||
Esimerkiksi [[käynnistyslatain|käynnistyslataimessa]] voidaan [[ | Esimerkiksi [[käynnistyslatain|käynnistyslataimessa]] voidaan [[ytimen käynnistysparametrit|ytimen parametrilla]] <tt>init</tt> määrittää oletuksesta poikkeava init-ohjelma. Hyvin yleinen käyttökohde tälle on järjestelmän käynnistäminen vikatilanteessa suoraan root-komentotulkkiin. Esimerkiksi parametrilla | ||
init=/bin/bash | init=/bin/bash | ||
voitaisiin järjestelmä määrittää käynnistymään suoraan [[Bash]]-[[komentotulkki]]in ilman varsinaisen initin lataamista. | voitaisiin järjestelmä määrittää käynnistymään suoraan [[Bash]]-[[komentotulkki]]in ilman varsinaisen initin lataamista. |
Versio 18. elokuuta 2008 kello 18.07
Init on Unix-järjestelmissä ohjelma, jonka tehtävänä on kaikkien muiden ohjelmien (prosessien) käynnistäminen. Tyypillisesti järjestelmän ydin käynnistää init-ohjelman ensimmäisenä ulkoisena prosessina (PID 1).
Perinteiset initit
Linux-järjestelmissä on perinteisesti ollut käytössä kahden tyyppisiä init-ohjelmia, System V Unixin (sysvinit) ja BSD-Unixin initin toimintaa jäljitteleviä. Lähes kaikki jakelut käyttävät nykyisin System V -tyylistä initiä poikkeuksena esimerkiksi Slackware ja Arch Linux jotka käyttävät BSD-initiä.
System V -initin toiminta pohjautuu ns. ajotasoihin (runlevel), joiden avulla määritellään järjestelmän eri tilojen (esim. monen käyttäjän tekstipohjainen, monen käyttäjän graafinen, yhden käyttäjän tila sekä uudelleenkäynnistys ja sulkeminen) yhteydessä käynnistettävät ja suljettavat prosessit. Käytännössä nämä määritellään yleensä /etc/rc?.d-hakemistojen alle sijoitettavilla symlinkeillä. BSD-init taas pohjautuu /etc-hakemiston alle sijoitettaviin rc-skripteihin. BSD-initin valttina on nopeus ja yksinkertaisuus.
Uusia init-toteutuksia
On myös olemassa uudempia initejä kuten Initng sekä Upstart, jotka pohjautuvat järjestelmän palveluiden käynnistämiseen rinnakkain. Rinnakkain käynnistäminen nopeuttaa jossain määrin käynnistysprosessia, kun esimerkiksi DHCP-palvelimelta vastausta odotellessa järjestelmän resursseja voidaan käyttää jonkin muun palvelun käynnistämiseen.
Upstartiin sisältyy perinteisten init-ominaisuuksien lisäksi mahdollisuus hallita palveluiden käynnistämistä joustavasti erilaisten järjestelmätapahtumien pohjalta. Siihen on suunnitteilla myös komentojen ajastusominaisuuksia, jotka korvaisivat perinteiset at:n, cronin ja anacronin.
Initng ei ole toistaiseksi saavuttanut kovin suurta suosiota. Upstart on käytössä Fedorassa ja Ubuntussa. Näiden lisäksi on olemassa myös eräitä vähemmän tunnettuja initejä, kuten runit, eINIT ja minit (kevyt init).
Käyttö
Esimerkiksi käynnistyslataimessa voidaan ytimen parametrilla init määrittää oletuksesta poikkeava init-ohjelma. Hyvin yleinen käyttökohde tälle on järjestelmän käynnistäminen vikatilanteessa suoraan root-komentotulkkiin. Esimerkiksi parametrilla
init=/bin/bash
voitaisiin järjestelmä määrittää käynnistymään suoraan Bash-komentotulkkiin ilman varsinaisen initin lataamista.
Muita ytimelle annettavia parametreja ovat mm.
S
joka käynnistää initin yhden käyttäjän tilassa sekä
rdinit=<polku initrd:llä initiin>
joka ajaa initrd:n initin ohjelman /init sijaan.