Ero sivun ”Init-skriptit” versioiden välillä

Siirry navigaatioon Siirry hakuun
EgoLuser (keskustelu | muokkaukset)
Päivitetty artikkelia
EgoLuser (keskustelu | muokkaukset)
Systemd:n erot sysvinitiin: Lisätty taulukko, jossa on vastaavuudet systemd:n, OpenRC:n ja sysvinitin kanssa.
Rivi 11: Rivi 11:
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]].
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]].


== Systemd:n erot sysvinitiin ==
== Init-skriptien kanssa työskentely - Pikaohje ==
Oletetaan, että käytössä ei ole BSD-tyylinen init, vaan käytetään tavallista sysvinit-järjestelmää.
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ä 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 5.
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"
{| class="wikitable"
|+ Sysvinitin ja Systemd:n vastaavuudet
|+ Sysvinitin, Systemd:n ja OpenRC:n vastaavuudet
|-
|-
! Sysvinit komento !! Systemd Komento
! Sysvinit komento !! Systemd komento !! OpenRC komento
|-
|-
| /etc/init.d/ufw start || systemctl start ufw.service
| /etc/init.d/ufw start || systemctl start ufw.service || rc-service ufw start
|-
|-
| /etc/init.d/ufw stop|| systemctl stop ufw.service
| /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ä==