Ero sivun ”Init-skriptit” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Ei muokkausyhteenvetoa |
Lisätty Katso Myös -osio. |
||
| (4 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä) | |||
| Rivi 3: | Rivi 3: | ||
System V -tyylistä initiä ([[sysvinit]]) käyttävissä järjestelmissä init-skriptit löytyvät [[Linuxin hakemistorakenne|hakemistosta]] <tt>/etc/init.d</tt> ja BSD-tyylistä initiä käyttävissä hakemistosta <tt>/etc/rc.d</tt>. | System V -tyylistä initiä ([[sysvinit]]) käyttävissä järjestelmissä init-skriptit löytyvät [[Linuxin hakemistorakenne|hakemistosta]] <tt>/etc/init.d</tt> ja BSD-tyylistä initiä käyttävissä hakemistosta <tt>/etc/rc.d</tt>. | ||
Käynnistettävien init-skriptien hallintaan löytyy useita valikkopohjaisia käyttöliittymiä. Monilla jakeluilla on tähän omia ohjelmiansa. Esimerkiksi [[Fedora]]- ja [[Red Hat]] -pohjaisista järjestelmistä | Käynnistettävien init-skriptien hallintaan löytyy useita valikkopohjaisia käyttöliittymiä. Monilla jakeluilla on tähän omia ohjelmiansa. Esimerkiksi [[Fedora]]- ja [[Red Hat]] -pohjaisista järjestelmistä ennen löytyi[[system-config-services]] ([[GUI|graafinen]]) ja [[ntsysv]] ([[TUI|tekstipohjainen]]). Nykyään ne käyttävät [[systemd]]tä [[sysvinit]]in sijaan. [[openSUSE]]ssa käynnistettäviä palveluita voi säätää [[YaST]]in kautta. | ||
[[Komentorivi]]ltä init-skriptejä voi käynnistää ja sulkea lennosta siirtymällä skriptit sisältävään hakemistoon ja käyttämällä komentoja <tt>./skriptinnimi start</tt>, <tt>./skriptinnimi restart</tt> tai <tt>./skriptinnimi stop</tt>. | [[Komentorivi]]ltä init-skriptejä voi käynnistää ja sulkea lennosta siirtymällä skriptit sisältävään hakemistoon ja käyttämällä komentoja <tt>./skriptinnimi start</tt>, <tt>./skriptinnimi restart</tt> tai <tt>./skriptinnimi stop</tt>. | ||
Sysvinitiä käyttävissä järjestelmissä eri [[ajotaso]]illa käynnistettäviä skriptejä hallitaan <tt>/etc/rc''?''.d</tt>-hakemistoissa olevilla [[symbolinen linkki|symbolisilla linkeillä]]. <tt>S</tt> linkin nimessä tarkoittaa ajotasoon siirtymisen (käynnistyksen) yhteydessä ajamista ja <tt>K</tt> ajotasosta poistumisen yhteydessä ajamista. Näiden jälkeen tuleva numero ilmaisee järjestyksen, jossa skriptit suoritetaan. | Sysvinitiä käyttävissä järjestelmissä eri [[ajotaso]]illa käynnistettäviä skriptejä hallitaan <tt>/etc/rc''?''.d</tt>-hakemistoissa olevilla [[symbolinen linkki|symbolisilla linkeillä]]. <tt>S</tt> linkin nimessä tarkoittaa ajotasoon siirtymisen (käynnistyksen) yhteydessä ajamista ja <tt>K</tt> ajotasosta poistumisen yhteydessä ajamista. Näiden jälkeen tuleva numero ilmaisee järjestyksen, jossa skriptit suoritetaan. | ||
Jos päätät ottaa pois jonkin käynnistysskriptin tarpeettomana, kannattaa ehkä poistaa samalla koko ohjelmapaketti, kun se kerta on tarpeeton. Esimerkiksi [[Debian]]-pohjaisissa jakeluissa (kuten [[Ubuntu]]) voi tarkistaa mihin pakettiin tietty tiedosto kuuluu esim. komennolla <tt>dpkg-query -S /etc/init.d/exim4</tt>, tuloksena saadun paketin voi poistaa esimerkiksi komennolla <tt>sudo [[apt-get]] purge exim4-base</tt>, lisätietoja artikkelissa [[ohjelmien asentaminen]]. | |||
== Init-skriptien kanssa työskentely - Pikaohje == | |||
Oletetaan, että käytössä ei ole BSD-tyylinen init, vaan käytetään tavanomaista sysvinit asennusta. | |||
Oletetaan myös, että käytössä ei ole sysvinitin käyttöä helpottavia työkaluja (kuten '''service''' tai esim. '''update-rc.d'''). | |||
Oletetaan myös, että haluttu sysvinit [[ajotaso]] on 3. | |||
Sysvinit noudattaa tapaa, jonka mukaan init-skriptit nimetään tietyllä tavalla. Init-skriptit, jotka käynnistävät taustaprosessin nimetään esimerkiksi ''S42foobar''. Siinä "S" tarkoittaa käynnistä (eli "start"), "42" merkitsee järjestystä jossa ko. init-skripti suoritetaan ja lopuksi "foobar" on esimerkki taustapalvelun nimestä. Init-skriptit, jotka pysäyttävät taustapalvelun nimetään muutoin samalla tavalla, mutta ensimmäinen kirjain ei ole "S", vaan se on on "K", joka tulee englanninkielen sanasta "kill". | |||
Alla olevassa taulukossa käytetään [[ufw|ufw:ta]] esimerkkinä. | |||
{| class="wikitable" | |||
|+ Sysvinitin, Systemd:n ja OpenRC:n vastaavuudet | |||
|- | |||
! Sysvinit komento !! Systemd komento !! OpenRC komento | |||
|- | |||
| /etc/init.d/ufw start || systemctl start ufw.service || rc-service ufw start | |||
|- | |||
| /etc/init.d/ufw stop || systemctl stop ufw.service || rc-service ufw stop | |||
|- | |||
| ln -siv /etc/init.d/ufw /etc/rc3.d/S42ufw <br> ln -siv /etc/init.d/ufw /etc/rc0.d/K42ufw || systemctl enable ufw.service || rc-update add ufw default | |||
|- | |||
| rm -iv /etc/rc3.d/S42ufw || systemctl disable ufw.service || rc-update del ufw default | |||
|} | |||
Huom! Viimeisessä esimerkissä olisimme voineet myös poistaa UFW:n lopettavan init-skriptin ajotasosta ''0'', mutta ennen kuin sen voi poistaa, tulee olla varma että mikään muu ajotaso ei käynnistä ufw:n taustapalvelua (muutoin tulisi ongelmia). | |||
Jos haluaa käyttää sysvinitiä, on suositeltavaa käyttää jotakin edellä mainituista työkaluista, koska ne merkittävästi helpottavat sen käyttämistä ja sysvinit on silloin lähes yhtä helppokäyttöinen kuin Systemd. | |||
==Yleisiä init-skriptejä== | ==Yleisiä init-skriptejä== | ||
| Rivi 347: | Rivi 374: | ||
| wacom tai xserver-xorg-input-wacom || [[Wacom]]-piirtopöydät || | | wacom tai xserver-xorg-input-wacom || [[Wacom]]-piirtopöydät || | ||
|} | |} | ||
== Katso myös == | |||
* [[systemd]] | |||
* [[OpenRC]] | |||
* [[Runit]] | |||
* [[BSD-init]] | |||
* [[sysvinit]] | |||
[[Luokka:Järjestelmä]] | [[Luokka:Järjestelmä]] | ||