Ve třetí části seriálu věnovanému distribuci Slackware Linux se budeme
zabývat konfigurací Linuxového zaváděče LiLo, konfigurací sítě
a upgradem již nainstalovaných balíčků.
14.3.2004 13:00 | o.k. | přečteno 14622×
S konfigurací zavaděče LiLo (dále budu používat jenom zkrácený název LiLo)
jsme se již částečně setkali v minulé části a to konkrétně při dokončování
instalace. Tady bych rád poznamenal, že nástroje se kterými jsme se setkali při
dokončování instalace lze samozřejmě použít kdykoliv - tyto nástroje jsou
nedílnou součástí systému. Jsou to vlastně jediné systémové konfigurační
nástroje, které ve Slackwaru jsou. Všechny tyto nástroje využívají pro
zobrazování výstupu program dialog
, který je napsán s využitím
knihovny ncurses. Má to tu výhodu, že tyto nástroje můžeme spustit jak ve
virtuální konsoli, tak i v grafickém prostředí, například v programu
xterm
nebo konsole
. Změny v systému pomocí těchto
nástrojů může provádět pouze uživatel root
.
Vraťme se ale zpět k LiLu. V minulé části jsme pro konfiguraci a zapsání LiLa použili pro jednoduchost autodetekci a nechali vše plně v rukou systému. Někomu z vás se tak mohlo stát, že po ukončení instalačního procesu a následném restartu systému s hrůzou zjistil, že se systém nechová tak jak by měl. Třeba nabootoval Linux, ale nejde nabootovat do Windows nebo počítač nebootoval vůbec. Jak toto vyřešit? Nic není ztraceno, pokud vám systém vůbec nenabootoval budete muset nabootovat z prvního instalačního CD Slackwaru nebo z disket, pokud vaše mechanika CD-ROM neumí bootovat. Oba dva postupy bootování (z CD nebo z disket) jsou uvedeny v první části seriálu. Tentokrát je však výhodné připojit si hned při bootu kořenový souborový systém a to příkazem
bare.i root=/dev/hda1 noinitrd
Pokud se vám toto z nějakého důvodu
nedaří, tak nabootujte normálně jako při instalaci
a po úspěšném nabootování se přihlašte jako
root
, čímž se dostanete do příkazového řádku. Zde musíte
připojit váš disk s
oddílem obsahujícím kořenový adresář. V mém případě je to
/dev/hda1
a disk připojím příkazem
mount /dev/hda1 /mnt
Nyní použiji příkaz chroot
a to
následujícím způsobem:
chroot /mnt
Tento program mně umožní spouštět příkazy v mém připojeném systémovém oddílu
disku tak jako kdybych byl nabootovaný přímo v tomto systému.
Zde již můžu spustit například příkaz pkgtool
(viz obr.) nebo
jednodušeji liloconfig
a mohu se pustit do opravy LiLa. Spustíme tedy pkgtool
a
vybereme volbu Setup
, v ní označíme mezerníkem položku
liloconfig
(viz obr.) a potvrdíme
tlačítkem OK
. Dostaneme se do nám již známého menu, kterým jsme
procházeli minule při dokončování samotné instalace Slackwaru. Teď narozdíl od
minule zvolíme volbu expert
místo simple
(viz obr.).
Menu pro expertní instalaci LiLa
(viz obr.)
vypadá o něco složitěji než pro volbu
simple
, ale nemusíte se nijak bát, zase o tolik složitější
to není - uvidíte sami. Začneme hned první položkou, tedy volbou
Begin
. Tato volba
(viz obr.)
nám umožní při bootu vložit do jádra spoustu různých parametrů. Jednotlivé
parametry se oddělují mezerou, já je zde nebudu podrobně rozebírat a odkáži vás
pouze na dokumentaci. Já zde jako parametr používám například
hdc=ide-scsi
což umožňuje emulovat CD-RW zařízení (leží na druhém kanálu IDE a je jako
master zařízení) jako SCSI zařízení, což je potřeba v jádrech řady 2.4.x
pro vypalování. Po zapsání parametrů můžeme pokračovat dále a dostaneme se k
výběru umožňujícím nastavení frame bufferu v konsoli
(viz obr.).
Zde nastavuji standardní konsoli, tedy bez framebufferu. Přijdu tím sice o
tučňáka v levém horním rohu, ale to oželím :-) Dostáváme se k výběru umístění
primárního zavaděče, zde zvolím volbu MBR
tedy Master Boot
Record (viz obr.). Tímto se
primární zavaděč nainstaluje do bootovací stopy primárního pevného disku (tedy
pokud v následující volbě nezvolíte jiný disk). Pokud
používáte již nějaký ten zavaděč, třeba Boot Manager, tak zvolte volbu
Root
. Následuje volba ve které můžete určit kam se bude primární
zavaděč instalovat
(viz obr.). U starších
počítačů bych jednoznačně doporučil ponechat tuto volbu defaultní, protože při
zadání jiné volby byste pak už pravděpodobně z disku nenabootovali a museli
byste tento postup opakovat. Novější desky (BIOS) umožňují bootovat z
libovolného disku. Následuje volba
(viz obr.) v níž můžeme
nastavit časový interval v průběhu něhož bude systém očekávat změnu požadavku
na bootování jiného systému než defaultního. Protože zatím předpokládám jenom
jeden systém (Linux) zadám volbu None
, aby bootování automaticky
pokračovalo v co možná nejkratším čase. Tímto jsme nastavili základní chování
zavaděče a nyní je načase nastavit systémy, které budeme díky LiLu chtít
zavádět.
V hlavní nabídce jsou dvě možnosti díky kterým můžeme do LiLa přidávat
jednotlivé systémy, které chceme pomocí LiLa zavádět. Jsou to položky
Linux
a DOS
. Začneme položkou Linux
(viz obr.), systém nám
nabídne všechny oddíly na nichž nalezne (přečte z tabulky oddílů) Linuxový
systém. Napíšeme zde tedy jeden z nabídnutých oddílů a to konkrétně ten, který
obsahuje kořenový (root) systém oddílů (v mém případě /dev/hda1
).
Dále musíme specifikovat jak se tato
naše vytvořená položka bude jmenovat
(viz obr.). Název by měl
být jednoznačný bez speciálních znaků a rozhodně bez mezer (tedy třeba
slack
nebo slack-2.4.24
). Pokud máte více Linuxových
distribucí, tak tento krok podle potřeby zopakujte. Pokud máte na počítači
ještě operační systém DOS nebo Windows (doufám, že ne :-)), tak v hlavním menu
zvolte položku DOS
a zadejte zde opět oddíl na kterém se tento
nepřívětivý systém nachází a opět nezapomeňte tuto volbu nějak pojmenovat
(třeba DOS
nebo Win
).
Zatím jsme provedli pouze editaci souboru /etc/lilo.conf
. Pokud
jste si jisti správností své konfigurace můžete bez obav v hlavním menu přejít
na položku Install
, která provede zapsání konfigurace do MBR
disku. Pokud se něco nepovedlo zopakujte výše uvedený postup a případně se
podívejte do souboru /etc/lilo.conf
a pokuste se nalézt chybu.
Pokud po instalaci Linuxu provádíte instalaci Windows je možné, že vám tento
systém přepíše váš MBR, pak stačí nabootovat do Linuxu (pomocí CD, diskety),
nastavit LiLo a zapsat jej.
Pro ilustraci zde ještě přikládám výpis mého souboru
/etc/lilo.conf
. Je částečně okomentován a okleštěn
pro jednoduchost o některé položky.
# LILO configuration file # generated by 'liloconfig' # # Start LILO global section append="hdc=ide-scsi" # emulace vypalovacky jako SCSI # (zarizeni je sekundarni master) boot = /dev/hda # MBR je primarni master disk #prompt # vypis promptu pri bootu # (jinak bootoje bez promptu defaultni jadro) default=slack # system, ktery se bude defaultne zavadet #timeout = 50 # doba prodlevy (v milisekundach) # Normal VGA console vga = normal # nepouzivam frame buffer # ramdisk = 0 # paranoia setting # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz # umisteni jadra Linuxu root = /dev/hda1 # korenovy souborovy system label = slack # popiska read-only # Non-UMSDOS filesystems should be mounted read-only for checking # Linux bootable partition config ends
Jak vidíte výše, není to vůbec nic složitého a klidně můžete soubor
/etc/lilo.conf
editovat ručně bez použití nástroje
liloconfig
. Pro zapsání nové konfigurace nezapomeňte zadat příkaz
lilo
, na to se velice často zapomíná :-)
Myslím si, že pro začátek to bylo celkem osvětlující a pro další informace
můžete sáhnout do manuálových stránek: man lilo
a především
man lilo.conf
nebo se zeptat ne některé detaily přímo v diskuzi
pod článkem.
Síť je možné stejně tak jako zavaděč LiLo konfigurovat buď pomocí grafického
nástroje netconfig
nebo pomocí ruční editace příslušných souborů.
Já zde pro větší názornost použiji paralelně oba způsoby nastavení, tedy
veškeré kroky co provedu v programu netconfig
budu zároveň
provádět i ruční editací, aby bylo názorně vidět, jak pracuje program
netconfig
. Nikoho nenutím nastavovat síť pomocí ruční editace
souborů, ale je dobré si uvědomit, že zvládnutí ruční konfigurace sítě vám
umožní tuto potom provádět v jakékoliv Linuxové distribuci bez znalosti
konkrétních grafických konfiguračních nástrojů pro tuto distribuci vlastních a
v neposlední řadě vám i pomůže lépe pochopit funkci systému.
Nuže, spusťme tedy konfigurační nástroj netconfig
a to za
použití stejného příkazu (nezapomeňte, že musíte být přihlášeni jako
uživatel root
).
V prvním kroku konfigurace musíme zadat jméno našeho počítače (viz obr.). Toto jméno se zadává ve zkrácené formě bez doménové části (ta se bude zadávat v následujícím kroku). Pokud bude náš počítač součástí pouze nějaké malé lokální sítě s občasným připojením na Internet přes modem nebo klasickou síť, tak je prakticky možné zvolit toto jméno libovolně. Pozor však na to, že se bude toto jméno objevovat i navenek (v síti Internet) a to díky službám typu smtp, http,..., které toto jméno využívají pro identifikaci počítače.
Další položkou, kterou budeme nastavovat je nastavení doménového jména. Zde platí stejná pravidla jako jsem již uvedl výše. Pokud leží váš počítač v síti, která je součástí nějaké domény (většinou tomu tak je), tak je vhodné jako doménové jméno samozřejmě zvolit název této domény (viz obr.).
Ruční editací dosáhneme změny v nastavení jména počítače buď příkazem
hostname jmeno_naseho_pc
nebo editací souboru /etc/HOSTNAME
do něhož zapíšeme naše jméno
(a to i s doménovou částí).
hatatitla.example.net
Toto jméno by mělo být samozřejmě bez diakritiky, mezer a zvláštních znaků.
Kontrolu našeho nastavení můžeme provést příkazem hostname -f
.
Dále je potřeba editovat soubor
/etc/hosts
192.168.1.2 hatatitla.example.net hatatitla
Po nastavení doménového jména se dostaneme k zajímavější a důležitější části
nastavování a to konkrétně k nastavení IP adresy. V mé malé síti neleží žádný
DHCP server, který by mně přiděloval IP adresy, takže použiji statické
nastavení IP adresy mého počítače
(viz obr.).
Protože jsem v lokální síti, nastavuji zde lokální IP adresu (tedy neveřejnou), konkrétně pak 192.168.1.2
(viz obr.). Síťovou masku
ponechávám nastavenou systémem, protože je správně
(viz obr.). Bránu do další
sítě (třeba do Internetu) nastavuji 192.168.1.1
(viz obr.) a jmenný server
mám umístěn na tomtéž stroji, takže IP adresu ponechávám stejnou, systémem
automaticky již navolenou
(viz obr.).
Tímto je veškerá konfigurace skončena a výsledek si ještě můžete zkontrolovat v
závěrečném okně
(viz obr.)
a buď nastavení akceptovat nebo udělat ještě případné změny v
nastavení.
Pokud provádíte nastavení ručně, tak výše uvedené kroky nastavení IP adresy a
brány se provádí (nově od verze Slackwaru 9.1) v souboru
/etc/rc.d/rc.inet1.conf
, jehož obsah nepotřebuje žádný další
komentář.
# Config information for eth0: IPADDR[0]="192.168.1.2" NETMASK[0]="255.255.255.0" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" # Default gateway IP address: GATEWAY="192.168.1.1"
Nastavení jmenného serveru (tedy služby zajišťující překlad jmenných názvů
adres na IP adresy) se
provádí v souboru /etc/resolv.conf
.
search example.net nameserver 192.168.1.1
Pro aktivaci tohoto vašeho ručního nastavení stačí spustit skript
/etc/rc.d/rc.inet1 start
, případně
/etc/rc.d/rc.inet1 restart
, pokud již běžel.
Ještě zde zmíním jednu možnost konfigurace sítě, která se hodí v případě, že
si chcete někde jenom krátkodobě připojit do sítě váš počítač.
Pokud již máte nastavenou nějakou adresu (to zjistíte příkazem
ifconfig
), tak je zapotřebí toto nastavení rozhraní
mající přiřazenou
síťovou adresu (tedy pokud není vhodná i pro připojení v nové dočasné síti)
zrušit a to příkazem ifconfig eth0 down
. Pozor, možná vás napadlo
proč to nezrušit příkazem /etc/rc.d/rc.inet1 stop
. To není dobrý
nápad, protože tím si zrušíte i loopback zařízení, které je potřeba.
Nové dočasné nastavení sítě nastartujeme těmito dvěma příkazy
ifconfig eth0 192.168.2.250 netmask 255.255.255.0 route add default gw 192.168.2.1
a případně ještě přenastavíme soubor /etc/resolv.conf
na adresu
jmenného serveru dané sítě. K původnímu nastavení sítě se dostaneme jednoduše
tím, že restartujeme síťové rozhraní, opět příkazem
/etc/rc.d/rc.inet1 restart
. Jednoduché, že :-)
Protože již uplynul nějaký ten pátek od doby, kdy byla verze 9.1 vypuštěna
oficiálně do světa existuje již i spousta oprav některých balíčků, ať již oprav
bezpečnostních chyb nebo oprav v chybách funkčnosti. Tyto opravené balíčky je
možné nalézt na ftp serverech mirrorů Slackwaru (seznam těchto mirrorů
naleznete na adrese
http://www.slackware.com/getslack/) a to konkrétně v
adresáři patches/packages/
. Změny v balíčcích a důvody oprav
naleznete v souboru patches/ChangeLog.txt
.
Pokud v této kolekci nalezneme některé z balíčků, které v systému máme
nainstalované, tak si je stáhneme někam na lokální disk do vhodného adresáře
(třeba /usr/src
nebo /usr/local/src
). Ještě před
samotným upgradem je dobré se přepnout do úrovně běhu systému 1 ve kterém máme
jistotu, že nám běží pouze základní služby a tedy je spuštěn minimální počet
procesů a přihlášen je pouze jeden uživatel (root
) a ani síťové
připojení není k dispozici. Přepnutí do úrovně běhu systému 1 provedeme
příkazem (samozřejmě jako uživatel root
)
telinit 1
Samotný upgrade potom provedeme příkazem
upgradepkg nazev_upgradovaneho_balicku
Pokud balíček, který chcete upgradovat v systému není, tak systém upgradování přeruší. Poté co jsme provedli upgrade všech potřebných balíčků, tak se přepneme zase zpátky do normální úrovně běhu systému
telinit 3
Pokud máte nějaké náměty nebo nápady, tak neváhejte a napište je do diskuze pod článkem.