Server bez grafické karty?
Petr Šnajdr snajdr@cpress.cz
Na další stranuNávrat na titulní stranuVyhledávání informacíNa další stranu

Ačkoliv se nejspíše všichni shodují v tom, že není nad grafické rozhraní, nutně to neznamená, že server musí být vybaven grafickou kartou s 4MB RAM nebo vůbec nějakou grafickou kartou. Na server nainstalujeme operační systém a od té doby je grafická karta v mnoha případech holou zbytečností stejně jako klávesnice nebo monitor. Zdá se vám to divné ? Jak tedy takový server ovládat, konfigurovat ? Pokud se jedná o OS Unix nebo konkrétně OS Linux, půjde to velice jednoduše. Téměř základní vlastností všech operačních systémů, které jsou typu Unix je možnost vzdálené práce a to i v grafickém prostředí X Window, kde není prakticky rozdíl v práci na lokálním počítači nebo počítači na druhé straně zeměkoule (snad s výjimkou rychlosti odezvy).

Důležité je ovšem mít na paměti, že někdy je přímý přístup k serveru přece jen nutný (například v případě výpadku sítě apod. ). Jak se tedy vyhnout tomu, že bychom byli nuceni počítač v tomto kritickém případě vypnout, nainstalovat grafickou kartu a znovu spustit ? Poměrně jednoduše a to vytvořením konzoly přes sériový port. Některé OS Unix tuto alterantivu tj. počítač bez grafické karty přímo podporují. Mezi nimi i Linux, ale standardně pouze vývojová řada jader 2.1. Pokud používáte oficiálně stabilní řadu 2.0, je třeba několik úprav a to hned na několika místech.

Zprávy jádra
Vše co jádro 2.0 vypisuje je směrováno na /dev/tty1 tj. v případě, že nemáte grafickou kartu někam "do prostoru". Bylo by vhodné, aby se tedy tyto zprávy vypisovaly na sériový port. Toho dosáhneme malou a velice jednoduchou úpravou jádra Linux 2.0. Otevřeme editorem soubor /usr/src/linux/drivers/char/console.c , kde dopíšeme definici konstanty:

#define CONFIG_SERIAL_ECHO

Dále je třeba nalézt řádek, který obsahuje text:

#define SERIAL_ECHO_PORT

a upravit ho na jednu z těchto možností podle toho, který sériový port máte v plánu použít:

#define SERIAL_ECHO_PORT 0x3f8 /* COM 1 */
#define SERIAL_ECHO_PORT 0x2f8 /* COM 2 */

Posledním krokem je rekompilace jádra (cd /usr/src/linux;make config; make dep;make clean;make zImage) a instalace nového jádra.

Zprávy skriptů v /etc/rc.d/*
Tyto zprávy vytváří program, které v systému často běží jako "daemoni" a vypisují je při startu. Nejjednodušší metodou je přesměrovat jejich výstup z /dev/tty1 na /dev/ttySx, kde x je 1 nebo 2.

http -f /etc/httpd/conf/httpd.conf >>/dev/ttyS1

Konfigurace Lilo
LiLo (Linux Loader) je boot manager, který kromě toho, že umožňuje spustit při startu libovolný operační systém dle výběru uživatele, umí také předávat parametry jádru Linux. Konfigurační soubor programu LiLo je /etc/lilo.conf a je třeba do něj přidat tuto řádku:

serial=SERIAL_LINE, SPEED PARITY BITS

kde

SERIAL_LINE= 0-4 ( pro porty COM1 až COM4)
SPEED=rychlost sériového portu
PARITA=n,o nebo e (none, odd, even)
BITS= 7 nebo 8

Příklad:

serial= 1,9660n8

Vytvoření terminálu
Posledním krokem je samozřejmě spuštění programů, které realizují terminál tak, aby pracovaly, se sériovým portem.Těchto programů může být víc ( agetty, minigetty atd. ). V principu stačí pouze řádek do souboru /etc/inittab:

s2:12345:respawn:/esbin/agetty -L 9660 ttyS1 vt100

První položka s1 identifikuje port (možnosti jsou s1 nebo s2), 9600 je pak rychlost portu a vt100 typ terminálu. Toto může být stejné nebo podobné i na jiných OS Unix než je Linux. Úprava zdrojových kódů jádra je naprosto specifická pro OS Linux a v jiných OS je nutno zvolit postup odlišný.


Na další stranuNávrat na titulní stranuVyhledávání informacíNa další stranu
Copyright Computer Press s.r.o. 1998
reprinted and translated with
the author's permission
Connect!
Listopad 1997 str.48