SysRq
SysRq on näppäimistön nappi, jolla on Linuxissa hyödyllinen käyttötarkoitus. Linuxin jäädessä jumiin voi SysRq:n avulla tehdä vielä paljonkin asioita ja palauttaa järjestelmän vakauden. Esimerkiksi jumittuneen koneen käynnistämisen uudelleen voi tehdä turvallisesti liittäen ensin levyosiot vain luku -tilaan SysRq:n avulla. SysRq on siis todellinen "taikanappula", jolla näennäisesti jumiutunut järjestelmä voidaan palauttaa aisoihin.
Käyttöönotto
SysRq-toiminnon käyttö edellyttää, että CONFIG_MAGIC_SYSRQ -asetus on ollut päällä käytössä olevaa ydintä käännettäessä. Monien jakeluiden oletusydinten tapauksessa SysRq on käännetty kerneliin mukaan, mutta sitä ei ole otettu erikseen käyttöön. Tila voidaan tarkastaa /proc/sys/kernel/sysrq -tiedostosta:
$ cat /proc/sys/kernel/sysrq
Arvo | Tila |
---|---|
0 | Kaikki SysRq:n funktiot ovat pois käytöstä |
1 | Kaikki SysRq:n funktiot ovat käytössä |
16 | sync on käytössä |
Sopiva arvo voidaan asettaa esimerkiksi /etc/sysctl.d/90-sysrq.conf -tiedostoon, jolloin kernel ottaa sen käyttöön aina järjestelmän käynnistyessä. Tiedostoon voidaan esimerkiksi lisätä rivi:
kernel.sysrq = 1
Käyttö
Seuraavat komennot siis alt+SysRq ja mainittu nappula (vaikkapa alt+SysRq+ctrl).
ctrl näyttää lyhyen ohjeen ja muistuttaa pikanäppäimistä
r - Kytkee näppäimistön XLATE-tilaan
k - Tappaa kaikki aktiivisessa virtuaalikonsolissa olevat ohjelmat
b - Käynnistää järjestelmän uudestaan välittömästi, siis synkronoimatta tai irroittamatta tiedostojärjestelmiä. Tyyliin reset-nappi.
o - Sammuttaa järjestelmän ACPI:n kautta, vaatii toki tuen ytimeltä.
s - Yrittää synkronoida kaikki liitetyt tiedostojärjestelmät.
u - Yrittää uudelleenliittää kaikki liitetyt tiedostojärjestelmät vain luku -tilaan.
p - Tulostaa nykyiset rekisterit ja liput.
t - Tulostaa ajossa olevat tehtävät ja niiden tiedot.
m - Tulostaa muistitiedot.
0-9 - Asettaa konsolin "lokitason" (log level), eli mitkä kernelin virheilmot tulostetaan konsoliin. Esimerkiksi 0-tasolla ainoastaan hätäviestit kuten OOPS ja PANIC päätyvät konsoliin asti.
e - Lähettää SIGTERMin kaikille prosesseille paitsi initille.
i - Lähettää SIGKILLin kaikille prosesseille paitsi initille.
l - Lähettää SIGKILLin kaikille prosesseille, myös initille. Tekee järjestelmästä käyttökelvottoman seuraavaan käynnistykseen asti.
Yleensä jumittuneen järjestelmän uudelleenkäynnistys kannattaa tehdä yhdistelmällä r-e-i-s-u-b.