Chkconfig

From EIK wiki

Sissejuhatus

Chkconfig on käsurea utiliit, mis on kasutusel erinavates Unix’i ja Linux’i operatsioonisüsteemides. See vahend võimaldab lisada, kustutada, sisse ja välja lülitada erinevaid süsteemi teenuseid. Lisaks on üheks peamiseks ülesandeks säilitada /etc/rc[0-6].d(nendes kataloogides asuvad erinevate runlevelite kaustad) kataloogide hierarhiat ja hallata nendes kataloogides olevaid nimelinke(Symbolic Link).

Antud juhend on koostatud kasutades opsüsteemina Ubunut Server versiooni 12.04.3 LTS ning utiliiti chkconfig versiooniga 11.0-79.1-2

Oluline on teada, et erinevate toimingute teostamiseks(nt teenuste väljalülitamine) on vaja olla juurkasutaja õigustes(kasutades sudo korraldust)[1].


Paigaldamine

Alates Ubuntu versioonist 12.10 ja edasi on vaja tööriist käsitsi paigaldada[2].

apt-get install chkconfig


Peamiste töörežiimide kirjeldused

Chkconfig töötab peamiselt 6 erinevas režiimis, mis võimaldavad teha erinevaid toiminguid, kontrollida teenuste oleku hetkeseisu või neid muuta.

  • Terse List mode - kuvatakse kõikide teenuste nimed ja iga nime järel hetkel aktiivse runleveli sätted
  • Set mode – võimaldab määrata, millisel runlevelil teenus käivitatakse. Parameetriteks on teenuse nimi ja selle väärtus
  • Edit mode – siin kirjutatakse kõik olemas olevate teenuste nimed ja parameeetrid ajutisse faili ning avatakse tekstieditor muudatuste tegemiseks
  • Check mode – võimaldab kontrollida teenuse hetke seisu runlevelite kaupa
  • List mode – siin kuvatakse kõikide teenuste kõikide runlevelite(0-st 6-ni, osadel juhtudel 7. kohal S) väärtused
  • Add ja Del mode – võimaldab teenuseid, mis käivitatakse mingil kindlal runlevelil, kas lisada või eemaldada


Näited

1) Chkconfig'i süntaks

chkconfig --help


2) Kontrollime, millised on teenuste olekud kasutusel oleval runlevelil

chkconfig -t

Chkconfig t.PNG


3) Kontrollime, millised on teenuste sätted kõikidel runlevelitel

chkconfig -l

Chkconfig l.PNG


4) Lülitame välja teenuse bluetooth, eeldusel et pakett bluetooth on paigaldatud

chkconfig bluetooth off


5) Lülitame uuesti sisse bluetooth'i teenuse

chkconfig bluetooth on

Selle peale saame suure tõenäosusega aga veateate: /sbin/insserv: No such file or directory

Chkconfig on error.PNG

Kuna tegemist on bug'iga, mis on omane just versioonidele Ubuntu Server 12.04 ja 12.04.3, siis tuleb ise tekitada nimelink:

ln -s /usr/lib/insserv/insserv /sbin/insserv


Proovime uuesti sisselülitada bluetooth'i teenuse, näiteks 2. runlevelil(vaikeseadena on opsüsteemis kasutusel 2. runlevel [3])

chkconfig --level 2 bluetooth on

ning kontrollime, et teenus oleks 2. runlevelil sisselülitatud

chkconfig -l | grep bluetooth

Chkconfig on ok.PNG


6) Teenuse lisamine alglaadimise nimekirja

Lisada saab ainult paigaldatud teenuseid, vastasel juhul tuleb esmalt teenus installeerida ja seejärel kasutada chkconfig -a käsku [4]

chkconfig -a bluetooth


7) Teenuse eemaldamine alglaadimise nimekirjast

chkconfig -d bluetooth


8) Kontrollime, milline on bluetooth'i teenuse olek 6.-ndas runlevelis

chkconfig --level 6 bluetooth

Chkconfig c.PNG


Teised sarnased programmid

Lisaks chkconfig-ile on olemas veel samalaadseid programme, mis teostavad samu ülesandeid. Näitena võiks tuua update-rc.d ja sysv-rc-conf.

  • update-rc.d - suurimaks erinevuseks chkconfig-ist võib pidada asjaolu, et see programm võimaldab määrata ka prioriteete teenustele käivitamisel ja sulgemisel. Madalama prioriteedinumbriga teenus käivitatakse varem ja kõrgema prioriteediga teenus suletakse varem [5].
  • sysv-rc-conf - suuresti sarnane chkconfig-iga, kuid teenuste haldamine(sisse/välja lülitamine) on teostatud tekstipõhise graafilise kasutajaliidesega[6].


Kokkuvõte

Kuna teenuste haldamine on süsteemiadministraatori üheks tööülesandeks, siis oleks oluline, et selle töö jaoks oleks olemas ka õiged tööriistad, mis võimaldavad teha tööd vähema ajakuluga ja mugavamalt. Üheks selliseks tööriistaks võib kindlasti ka pidada utiliit-i chkconfig.


Kasutatud kirjandus/lingid

http://linuxcommand.org/man_pages/chkconfig8.html
http://www.thegeekstuff.com/2011/06/chkconfig-examples/
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-services-chkconfig.html
http://askubuntu.com/questions/221293/why-is-chkconfig-no-longer-available-in-ubuntu
http://manpages.ubuntu.com/manpages/natty/man8/chkconfig.8.html
http://www.uni.edu/~prefect/devel/chkconfig/index.shtml
https://launchpad.net/ubuntu/+source/chkconfig/+publishinghistory
eRaamat: Beginning Ubuntu LTS Server Administration: From Novice to Professional


Autor: Hendrik Milt AK41 2013