INIT
Init je program, který se spouští v poslední fázi bootování. Nabízí několik módů (states), konkrétně jich je 7. Pro nás jsou nejdůležitější první dva. První je jednouživatelský režim, kdy se nestartují některé daemony, rc skripty, jádro je přepnuto do „insecure“, tedy nezabezpečeného režimu a pracujete přímo pod rootem. Je to tedy vlastně nouzový mód, ve kterém má administrátor možnost opravit, co je potřeba (například když jste něco špatně nastavili v rc skriptech).
Pozor na to, že v jednouživatelském režimu jsou automaticky se připojující diskové oddíly připojeny jen pro čtení. Abyste mohli cokoli změnit, musíte systémové oddíly na disku připojit pro čtení i zápis ( mount -w /dev/...
) Druhý je víceuživatelský režim, kdy se startuje navíc především /etc/rc.
Pro více informací tu jsou k dispozici manuály; man init.
RC SKRIPTY
rc
rc
je řídicí skript, který řídí spouštění různých služeb a je vyvolán programem init
. Samotný rc
vyvolává další rc
skripty: rc.shutdown; rc.conf; rc.local; rc.subr;
a dále skripty v adresářích */rc.d; */defaults; */rc.conf.d
Všechny tyto soubory a adresáře jsou umístěny v /etc
.
Než se začnu zabývat jednotlivými skripty, chtěl bych vás upozornit na to, že neuváženým zásahem do některého z rc skriptů si můžete poškodit svůj systém NetBSD.
/etc/rc.shutdown:
Jde o příkazový skript, který je volán programem shutdown
. /etc/rc.shutdown
se tedy podílí na procesu vypínání systému. Samotný skript zajišťuje vypnutí pouze některých služeb.
/etc/rc.local:
Tento soubor je poslední volaný rc
skript při bootování. Slouží ke spouštění místních daemonů, které nezapadají do systému rc.d
/etc/rc.subr:
Obsahuje funkce, které běžně používá program rc
a také funkce, které používají skripty v adresáři /etc/rc.d
/etc/defaults
V tomto adresáři se nachází mj. i soubor rc.conf
. Ten v žádném případě needitujte! K editaci totiž slouží soubor /etc/rc.conf
. V /etc/defaults/rc.conf
jsou výchozí systémová nastavení, která můžete měnit právě v /etc/rc.conf
. Pokud něco v souboru /etc/rc.conf
opravdu rozbijete a ani nevíte co, je nejjednodušší cestou nahradit /etc/rc.conf
souborem rc.conf
z defaults
.
/etc/rc.d
Jde o adresář, ve kterém jsou umístěny sh
skripty. Ty jsou při startu, vypínání nebo přímo při běhu systému volány řídícím skriptem rc
. Nastavení pro volání těchto skriptů majoritním skriptem rc
jsou uložena v /etc/defaults/rc.conf
; respektive v /etc/rc.conf
. Jednotlivé skripty se dají samozřejmě spustit také při běhu systému. Příklad uvedu na xdm
:
# /etc/rc.d/xdm onestart
Po zadání tohoto příkazu se spustí xdm
, vy se přihlásíte a dostanete se tak do výchozího grafického prostředí. V NetBSD je jako výchozí nastaven správce oken twm
.
Kromě argumentu onestart
lze použít ještě další. Popíšu všechny základní:
- start – zkontroluje se, zda je příslušná služba (program) spuštěná, pokud ne, spustí se Pozn.: Spustí se pouze program povolený v
rc.conf
nebo povolený ve výchozím stavu! - stop – zastaví spuštěný program
- onestart – spustí program jednorázově, přestože není povolen v
rc.conf
- restart – funguje, jako byste zadali stop a poté start
- status – zobrazí stav zvolené služby
Poslední uvedený argument ukážu na příkladu:
# /etc/rc.d/xdm status $xdm is not enabled - see rc.conf(5). Use the following if you wish to perform the operation: /etc/rc.d/xdm onestatus
Z výpisu je vidět, že start xdm
není povolen (v rc.conf
je tedy položka xdm=NO
). Pro zobrazení stavu tedy musím zadat následující příkaz:
# /etc/rc.d/xdm onestatus xdm is not running.
Základní skripty v /etc/rc.d
, které zajišťují běh dalších služeb:
- NETWORKING
- SERVERS
- LOGIN
- DAEMON
Nyní se konečně dostáváme k již tolikrát zmíněnému /etc/rc.conf
.
/etc/rc.conf
Je to systémový konfigurační soubor, který specifikuje, jaké služby se mají spouštět při startu systému.
Službu lze povolit více způsoby, jsou to tyto:
YES; ON; TRUE; 1
Zakázat se pak dá takto:
NO; OFF; FALSE; 0
Do rc.conf
tedy můžete zapsat například xdm=YES
, stejně jako xdm=ON
atd.
Aby systém vůbec začal bootovat do víceuživatelského režimu a začaly se spouštět postupně rc
skripty, je nutné mít v rc.conf
tuto položku:
rc_configured=YES
Kompletní seznam toho, co můžete povolit či zakázat, najdete na manuálových stránkách.
Nyní pojďme na konfiguraci sítě, u které využijeme i rc skripty.
Konfigurace sítě
Základní konfigurace sítě pro připojení k internetu se dá provést už při samotné instalaci NetBSD. Pro konfiguraci sítě vašeho systému pomocí DHCP
do /etc/rc.conf
vložte dhclient=YES
. Před tímto krokem musíte nicméně povolit DHCP
(taky v rc.conf
).:
ifconfig_*=dhcp
Za * dosadíte rozhraní vašeho připojení (např. lo0
). Ten poznáte z výpisu ifconfig
.
Dále byste měli zadat svůj hostname
, a to opět do /etc/rc.conf
.
hostname=váš_hostname
Výchozí routu přidáte opět pomocí jednoho řádku do /etc/rc.conf
:
defaulroute=IP_adresa
Do /etc/resolv.conf
přidejte IP adresu nameserveru. K práci se sítí určitě využijete program ifconfig
. Další konfigurace se dají provést v /etc/hosts
.
Se sítí by podle mých zkušeností neměly být větší problémy. Snad jen, že pokud nemáte definovaný hostname
, tak systému při snažení se připojit k internetu trvá, než najde správnou IP adresu. Otravné je to zejména při instalaci softwaru pomocí pkgin
(binární balíky), ale i přes pkgsrc
. Proto byste měli svůj hostname
definovat.
V příštím díle rozeberu možnosti instalace softwaru na NetBSD, kterých je opravdu mnoho.