Init: Difference between revisions
Line 226: | Line 226: | ||
*http://citforum.ru/operating_systems/manpages/INIT.1.shtml | *http://citforum.ru/operating_systems/manpages/INIT.1.shtml | ||
*http://www.linuxquestions.org/questions/ubuntu-63/since-we-have-no-etc-inittab-506281/ | *http://www.linuxquestions.org/questions/ubuntu-63/since-we-have-no-etc-inittab-506281/ | ||
*http://kuutorvaja.eenet.ee/wiki/Debiani_alglaadimine#Sissejuhatus | |||
== Video näided == | == Video näided == |
Revision as of 11:47, 15 April 2011
Artikli autor ja logi
Nimi: Vladimir Kolesnik
Grupp: A22
Viimati muudetud: 14.04.2011
Versioon Lisatud Kommentaar 0.1 5.04.2011 Artikli loomine 0.2 14.04.2011 Sissejuhatus, lingid, sisu, tabelid 0.3 15.04.2011 Artikli täiendamine test date3 Valmis
Sissejuhatus
Artikli eesmärg
Tutvuda lugejäid Linuxi bootimise protsessiga. Kuidas käiv...
Artikli sisu
Artikkel on jagatud kaheks osasks: esimene osa on teoreetiline. Selles osas õppime... Teine osa on praktiline, kus saab proovida ja rakendada käivitada erinevaid init runleveli erinevates Linuxi süsteemidel.
Artikli vajalikus
Vahel on vaja kiiresti mingid teenused käivitama, näiteks Apache või MySQL, või on vaja alustada oma võrguühenduse. Vahel mingid teenused ise hakkavad töötama, isegi kui teie ei ole seda käskinud ja te tahate need teenused katkestama. Kui on olemas sellised protsessid või teenused, mis automaatselt käivitatakse siis kui teie linux bootib ja teie tahate need protsessid eemaldada. Kõike selle jaoks UNIXi maailmas on olemas direktori /etc/init kus hoiatatakse teie startip konfig failid ja need saab muuta vastavalt vajadusele.
Artikkel on kasulik ja vajalik nendele, kes tahavad rohkem teada sellest, kuidas saab kontroleerida kõike teenused mis on paigaldatud teie masinal. Lisaks artikkel annab juhendid kuidas saab käivitada sinu linux distro erinevates režiimides.
Artikli nõuded
Init eksisteerib kõikidel Linux distrobutsioonidel, seetõttu mingid lisavahendeid või rakendusi pole vaja.
PS: Kuna tegu on Linuxi startup-iga ja üldiselt väga tähtsama protsessiga, on mõislikum esiteks proovida oma oskusi virtuaal masinas.
Teoreetiline osa
Teoreetilises osas kuvatatakse põhimõisted...
Üldine ülevaade
Init (ehk initialization) on rakendus mõelnud UNIX süsteemidele mis käivitab kõike teiste protsessi. Igal UNIX operatsioonsüsteemis init konfig on natukene teistsugune, aga üldiselt võib öelda, et tegu on runlevel-itega. Igal runlevel-il on oma PID, ehk number mis vastutab kuidas käivitatakse operatsioonsüsteemi.
Erinevates Linuxi derivatiivides on sisseehitatud oma rakendus, kuidas init-i funktsioonlsust rakendatatakse. Enamus Linuxi distrod kasutavad selle jaoks System V, aga on olemas ka teisid programmid, näiteks Ubuntu kasutab Upstart, Fedoras on... jne.
Teiste sõnadega, init on kõige olulisem protsess mis hoiab ja kogub kõike OP süsteemide
Kuidas töötab init
Selleks on aru saada, kuidas töötab init, on vaja teada kuidas üldse toimub süsteemi käivitamine (ehk buutimine) Linuxis.
Laadimise põhietapid
- Toite sisselülitamise järel omandab kontrolli püsimälus olev firmware (PC puhul BIOS)
- BIOS laadib ja käivitab alglaaduri (nt GRUB - GRand Unified Bootloader, LILO või Loadlin)
- Alglaadur laadib tuuma ja initrd/initramfs'i (initial ramdisk/initial ram file system)
- Alglaadur käivitab tuuma ning operatsioonisüsteemi käivitamiseks olulised seadmed initsialiseeritakse initramfs'is asuvate programmide abil
- Initramfs annab oma töö lõpuks juhtimise üle operatsioonisüsteemi programmile init
- Operatsioonisüsteemi init käivitab süsteemis protsessid
- Süsteem on kasutamiseks valmis (nt saab kasutaja sisse logida)
Init runlevelid erinevates UNIXi süsteemides
Ubuntu
Distro: Ubuntu pärast 6.10
Selgitus Runlevel number test 1 test 2 test 3 test 4 test 5 test 5
Red Hat Linux / Fedora Core (version)
Distro: Fedora 14 Desktop Edition
Selgitus Runlevel number test 1 test 2 test 3 test 4 test 5 test 5
SUSE Linux
Distro: Open SUSE
Selgitus Runlevel number test 1 test 2 test 3 test 4 test 5 test 5
Init alternatiivid
Various efforts have been made to replace the traditional init daemons with something better. Below is a list of these alternatives in no particular order.
SystemStarter
a process spawner started by the BSD-style init in Mac OS X prior to Mac OS X v10.4
launchd
a replacement for init introduced in Mac OS X v10.4 (it launches SystemStarter to run old-style 'rc.local' and SystemStarter processes)
Initng
a full replacement of init designed to start processes asynchronously
Upstart
a full replacement of init designed to start processes asynchronously initiated by Ubuntu
Service Management Facility
a complete full replacement/redesign of init from the ground up in Solaris starting with Solaris 10
runit
a cross-platform full replacement for init with parallel starting of services
BootScripts
in GoboLinux
DEMONS
a modification of the init start process by KahelOS, where daemons are started only when the DE (desktop environment) started.
Mudur
an init replacement written in Python and designed to start process asynchronously in use by the Pardus Linux distribution.
Vähem tuntud alternatiivid
Siin on alltootud veel igasuguseid init... Kui tunnete huvi vastu, võite uurida...
eINIT, a full replacement of init designed to start processes asynchronously, but with the potential of doing it without shell-scripts svscan from daemontools used as process 1 - seems to be superseded by runit cinit twsinit, partly written in x86 assembler, more a proof of concept minit ninit OpenRC systemd, a replacement for init with parallel starting of services, initiated by Red Hat.
Init-i rakendamine praktikas
info... blablabla
Ubuntu
Fedora
OpenSUSE
Kasutatud materjaalid
Veebipõhised allikad
- http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
- http://en.wikipedia.org/wiki/Init
- http://www.linux.com/archive/feature/114107
- http://linux.about.com/od/commands/l/blcmdl8_init.htm
- http://www.linux.com/news/enterprise/systems-management/8116-an-introduction-to-services-runlevels-and-rcd-scripts
- http://man.he.net/man8/init
- http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html
- http://www.erlang.org/doc/man/init.html
- https://help.ubuntu.com/community/UbuntuBootupHowto
- http://upstart.ubuntu.com/
- http://upstart.ubuntu.com/faq.html
- http://www.comptechdoc.org/os/linux/startupman/linux_suinit.html
- http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_Linux
- http://citforum.ru/operating_systems/manpages/INIT.1.shtml
- http://www.linuxquestions.org/questions/ubuntu-63/since-we-have-no-etc-inittab-506281/
- http://kuutorvaja.eenet.ee/wiki/Debiani_alglaadimine#Sissejuhatus
Video näided
- http://www.youtube.com/watch?v=OcX7FaTAFV4 - hea ja väga põhjalik inglise-keelne ülevaade kõikidest runlevel-idest Ubuntu
- http://www.youtube.com/watch?v=1YlPFMqhiZg - hea ja väga põhjalik inglise-keelne ülevaade kõikidest runlevel-idest Red Hat/Fedora