Monkey - Mini Linux

Oficiální stránka Release Version 06

9.5.1997
Úvod Jak na to? Závěr
Co je Monkey?
Vaše hardware a Monkey
Přehled software v základní distribuci
Instalační balíčky
Výpis souborů v Monkey
Download
Instalace
Konfigurace
Práce s OS systémem Linux
FAQ - často kladené otázky
Co by mohlo být příště nového?
Proč vznikl Monkey?
Prohlášení autora
Děkuji
Změny v nových distribucích

 

Co je Monkey?

Pro spoustu lidí, kteří slyšeli o Linuxu a používají na svém počítači M$DOG nebo 95 Woken, je většinou obtížné kvalitní operační systém, jakým Linux bezesporu je, vyzkoušet. Zpravidla to znamená kompletní zálohu dat na HDD a vytvoření další partition. Protože však existuje možnost instalovat Linux přímo do DOS-filesystému (tzv. UMSDOS), zbývá jen použít některou z distribucí MiniLinuxů, například Monkey:

 

Vaše hardware a Monkey

Hardware je technické vybavení počítače (dále jen HW), se kterým musí Váš operační systém (OS) umět zacházet. Jsou to například pevné disky, disketové mechaniky, myš, klávesnice, monitor, síťová karta a další. OS Linux, který je v Monkey použit, umí pracovat s drtivou většinou běžného HW, které pro PC existuje.

Minimální HW konfigurace

HW podporovaný přímo v distribuci Monkey

HW podporovaný pomocí instalačních balíčků

Samozřejmě lze použít jakýkoliv HW, který je podporován kernelem. Kernel si pak můžete přesně na míru k tomuto hardware zkompilovat.

 

Přehled software v základní distribuci Monkey

Software je programové vybavení počítače. Jsou to tedy všechny programy, které používáte. Většina programů použitá v Monkey je volně šiřitelná, jsou tedy zadarmo. Vyjímkou je třeba WWW browser Netscape, který je komerčním programem (pro školy a studenty zdarma). Doporučuji se vždy seznámit s konkrétními licenčními podmínkami.

Monkey obsahuje například:

umsdos základní filesystém Monkey (rozšíření DOS FAT o Unixové vymoženosti)
dos základní filesystém DOSů
vfat rozšíření DOS FAT pro dlouhé názvy od Micro$oftu pro Windows 95
včetně tzv. FAT32 pro velké disky a 4kB alokační jednotky
iso9660 filesystém pro CD-ROM
ext2 nejrozšířenější filesystém pro malé Unixy
minix starší verze Unixového filesystému (dnes je užíván zejména pro diskety)
NFS sdílení disků po síti od firmy SUN Microsystem (klasika ze světa Unixů)
ncpfs sdílení disků po síti od firmy Novell (z NetWare serverů)
smbfs sdílení disků po síti používané v M$ Windows (pouze přes TCP/IP)

 

Instalační balíčky

Instalační balíčky jsou připravené tak, abyste je mohli bez větší námahy nainstalovat. Obsahují užitečné programy, které někteří uživatelé nebudou používat. Proto je možné je instalovat odděleně a volitelně. Popis jejich instalace najdete v oddíle popisujícím instalaci Monkey na Váš pevný disk. Instalační balíčky jsou součástí distribuce Monkey, URL jsou uvedeny v části Download.

Následující tabulka podává stručný přehled o všech připravených instalačních balíčcích pro Monkey:

Název balíčku Stručný popis Jméno archívu MB na HDD
 Apache  WWW server  apache.tgz
 DosEmu  DOS Emulátor  dosemu.tgz
 GCC  pro kompilaci vlastního kernelu  gccall.tgz 18
 Kernel 2.0.30  zdrojové kódy jádra OS Linux  kern2030.tgz 32
 Manpages  Manuálové stránky  manpages.tgz
 Netscape 3.01  WWW browser  netscape.tgz 6
 Sendmail  Poštovní agent + klient Pine  sendmail.tgz
 Mach 64  akcelerovaný X server  x32ma64.tgz 2
 S3  akcelerovaný X server  x32s3.tgz 2

Popis jednotlivých instalačních balíčků

Apache 1.1.3
Před spuštěním WWW serveru je potřeba mít dobře nakonfigurovanou síť, aby se rozběhl. V opačném případě skončí s hlášením, že nemůže zjistit jméno svého počítače.
Kořen WWW serveru se nachází v adresáři /usr/lib/httpd/htdocs
Pravděpodobně budete chtít upravit hodnoty v souboru /var/lib/httpd/conf/srm.conf:
    # UserDir: jméno adresáře, který je přidán k domovskému adresáři
    # jestliže je přijat dotaz na ~uživatel

    UserDir public_html

    # DirectoryIndex: jméno souboru použitého jako index v adresáři,
    # položky oddělujte mezerami

    DirectoryIndex index.html
DosEmu 0.64.4
DosEmulátor emuluje prostředí DOSu v multitaskingovém prostředí Linuxu. K dispozici zatím není xdos. S DosEmulátorem zacházejte opatrně, v případě pádu aplikace může dojít k poškození Vašich dat.

Instalace:

  1. vytvořte systémovou disku DOSu s programy SYS.COM a FDISK.EXE. Doporučuji ještě nějaký editor či Volkov Commander ;-)
  2. nainstalujte tento balíček
  3. přihlaste se do systému jako root
  4. opravte /etc/dosemu.conf, pokud Vaše disketová jednotka A: není 3.5'
  5. vložte systémovou disketu DOSu do mechaniky a spusťte: dos -A
  6. po nabootovaní DOSu spusťte příkazy (Nemají vliv naváš HDD, pouze na soubor /lib/dosemu/hdimage, který je po nabootování DOSu zdánlivý disk C:):
        FDISK /MBR
        SYS C:
        C:
        EXITEMU
    
    Ješte před ukončením DosEmu můžete modifikovat soubory AUTOEXEC.BAT a CONFIG.SYS
  7. vytvořte soubor /etc/dosemu.users se jmény uživatelů, kteří budou moci DosEmu používat (po jednom na řádku)
  8. přečtěte si dokumentaci k DosEmu či Dosemu-HOWTO
  9. při dalším spuštění DOSu stačí pouze přikaz dos
Tip: Zkuste CTRL+^ h (CTRL+SHIFT+6 h) jako nápovědu k používání speciálních kláves.
GCC (gccall.tgz)
Kompilátor s pomocnými utilitami nutnými pro kompilaci kernelu. Kompilátor obsahuje jen nezbytně nutné součásti pro tento úkol. Nemohu tedy zaručit, že s ním půjde kompilovat cokoliv jiného.
Kernel (kern2030.tgz)
Zdrojové kódy kernelu Linuxu verze 2.0.30, pouze s podporou architektury i386 (pro PC). Do kernelu je aplikován patch pro FAT32. Driver karet 3Com (3c59x) je verze 0.30-all (místo 0.40), protože nový je nestabilní pro karty 3C900. Tento balíček také obsahuje konfigurační soubor, který byl použit při kompilaci kernelu Monkey. Při kompilaci vlastního kernelu stačí tedy provést jen drobné úpravy.
Manuálové stránky (manpages.tgz)
Manuálové stránky pro utility v Monkey. Stránky jsou předformátovány.
Netscape (netscape.tgz)
Nejrozšířenější prohlížeč pro WWW. Pracuje pod X Window.
Netscape je licenční software, balíček obsahuje originální distribuční soubor - po instalaci čtěte licenční ujednání.
Sendmail (sendmail.tgz)
Sendmail jako přepravní poštovní agent a PINE jako uživatelský agent.
Před instalací Sendmailu si řádně nakonfigurujte síť.
Mach 64 (x32ma64.tgz)
Akcelerovaný X Window server pro čipy Mach 64
S3 (x32s3.tgz)
Akcelerovaný X Window server pro čipy S3

 

Download

Základem distribuce Monkey je 5 disket s archívy komprimovanými pomocí programu ARJ. Připravené instalační balíčky najdete podadresáři packages archívu Monkey. Jak Monkey nainstalovat se dozvíte o kousek níž.
WWW homepage: http://www.spsselib.hiedu.cz/monkey/
Primární zdroj: ftp://ftp.spsselib.hiedu.cz/pub/monkey/
Mirrors: ftp://ftp.vslib.cz/pub/unix/linux/monkey/
ftp://sunsite.mff.cuni.cz/OS/Linux/Distributions/Monkey/
ftp://sunsite.unc.edu/pub/Linux/distributions/monkey/
Samozřejmě můžete použít jakékoliv jiné zrcadlo výše uvedených míst.

 

Instalace

  1. Počítač musí splňovat minimální nároky na HW. Instalace není možná na komprimovaný disk (Stacker, Doublespace). Pokud některý z těchto programů používáte, musíte instalovat na disk, který komprimovaný není.
  2. Základní distribuci tvoří 5 souborů (ARJ, A01, A02, A03, A04) Zkratka mlinuxNN značí MiniLinux (nebo Monkey Linux), NN číslo verze. Vytvoříme adresář C:\LINUX, rozbalíme distribuci (NN nahraďte skutečným číslem verze):
        mkdir C:\LINUX
        arj x -v -y mlinuxNN c:\linux
      
    POZOR!
    Nezasahujte do souborů umístěných v tomto adresáři, pokud opravdu nevíte, co děláte. Textové soubory jsou uloženy trošku odlišném formátu, než je běžné v DOSu. Proto je potřeba použít editory, které to respektují.
    Nemažte soubory --linux-.---, které obsahují doplňující informace o souborech v adresářích (dlouhá jména, práva, atp.). Defragmentace disku pomocí programů SPEEDISK, DEFRAG a podobných, nemá na Linux vliv.
  3. Jestliže instalujete na jiný disk než C:, zkontrolujte nastavení root filesystému v souboru LINUX.BAT, kde naleznete i nápovědu.
  4. Soubor LINUX.BAT upravte také v případě, že používáte jinou diskovou cache než SMARTDRV, nebo SMARTDRV není v PATH.
  5. Po případných upravách souboru LINUX.BAT, dále:
        C:
        CD \LINUX
        LINUX.BAT
      
  6. Cross you fingers...
    Když Monkey nenabootuje, je důležité prohlédnout, případně opsat chybová hlášení, abyste si mohli přečíst nápovědu nebo Vám mohl někdo pomoci. Důležitá pasáž se nachází za řádkou podobné následující:
    Linux version 2.0.29 (root@monkey) (gcc version 2.7.2) #1 Fri Feb 21 06:46:08 1997
    Typický výpis hlášení kernelu při úspěšném bootu (startu) Monkey si můžete prohlédnout v oddíle věnovanému problémům s bootováním. Nejčastější chybou je opomenutí úpravy LINUX.BAT, která se projevuje hlášeními: unable to mount root filesystem, kernel panic a podobně. Pokud v takovéto situaci nevidíte některá hlášení, která "utekla nahoru", stiskněte kombinaci kláves SHIFT+PgUp.
  7. Protože X Window jsou náročné na pamět, je automaticky vytvořen při bootu /SWAP o velikosti 8MB. Pokud /SWAP jiz existuje, je použit. Swap se nevytváří, pokud je nalezen (a je možné ho použít) SWAP M$ Windows. Na systému s více než cca 30MB RAM se SWAP nepoužije.
  8. Uživatel root se může přihlásit bez hesla. Doporučuji ihned heslo nastavit příkazem passwd. Další uživatele zavedeme pomocí příkazu adduser. Věnujte prosím pozornost textu, který se při prvním spuštění zobrazí na obrazovce. Tento krátký text najdete v souboru /etc/rc.d/rc.local.
  9. Instalace připravených instalačních balíčků je prostá. Vytvoříme adresář C:\LINUX\INSTALL a do něj balíček nakopírujeme. Při následujícím bootu Monkey balíček smaže a nainstaluje (nebo že by to bylo obráceně?). K dispozici jsou výše uvedené balíčky.
  10. Pokud vlastníte grafickou kartu podporovanou SVGA X serverem, máte po starostech, protože Monkey SVGA X server obsahuje. Pokud vlastníte grafickou kartu s čipem Mach 64 nebo S3, pak musíte nainstalovat příslušný balíček.
  11. Chcete-li Monkey konfigurovat, přečtete si stručnou dokumentaci v češtině obsaženou v tomto dokumentu.
  12. Občas se zvedneme od počítače, políbíme partnerku a vyspíme se....
  13. ....
  14. Práci se systémem ukončíme pomocí kombinace kláves CTRL+ALT+DEL v textové konzoli. Nedoporučuji počítač vypínat, protože může dojít ke ztrátě dat, která jsou ve vyrovnávacích pamětech. Jako root můžete také použít příkaz:
    shutdown -r now
  15. Všechny soubory distribuce se nacházejí v adresáři C:\LINUX, proto je možno celou Monkey odstranit pouhým smazáním tohoto adresáře (Např: DELTREE /y C:\LINUX).

 

Konfigurace

Detekce síťového rozhraní
Konfigurace síťového rozhraní
Změna jména počítače
Kompilace vlastního kernelu
Konfigurace myši
Konfigurace sítě pomocí souboru IP-CFG.DOS
Spolupráce se servery NetWare
Další dostupná dokumentace

Jak správně nakonfigurovat síťové rozhraní?

Předem bych chtěl upozornit, že konfigurace sítě není triviální záležitost. Je potřeba mít příslušné znalosti, nebo si nechat VŠE odsouhlasit Vaším síťovým administrátorem. Připadná špatná konfigurace může uvést Vaši síť zcela mimo provoz. Administrátor Vás pak vynese v zubech.

Konfigurace síťového rozhraní je složena ze dvou kroků: z detekce síťového rozhraní a pak jeho vlastní konfigurace. Oba kroky si probereme blíže.

Detekce síťového rozhraní

Abychom síťové rozhraní mohli vůbec konfigurovat, musíme nějaké mít. Jinými slovy - kernel musí naši síťovou kartu detekovat. Toho můzeme dosáhnout několika způsoby. První, nejjednodušší a nejméně univerzální, je mít potřebné ovladače přímo v kernelu. Kernel pak kartu detekuje ihned při bootu. Druhá, univerzálnější a trošku složitější, je mít několik ovladačů předem připravených zvlášť a v případě potřeby je ke kernelu připojit. Takovýmto předem připraveným ovladačům se říká moduly. Všechny předem připravené moduly síťových ovladačů najdete v adresáři /lib/modules/2.0.30/net. Číslo 2.0.30 udává verzi kernelu. Tu můžete zjistit příkazem uname -r. Obecný postup, jak se dostat do správného adresáře tedy může vypadat například takto:
cd /lib/modules/`uname -r`/net
Vypsáním adresáře zjistíme, že máme k dispozici ovladače pro karty 3C509, 3C59x, NE1000/NE2000 a WD800x (soubory 3c509, 3c59x, ne, wd). Příslušný modul můžeme zavést ručně pomocí příkazu modprobe:
    modprobe 3c59x
    modprobe ne io=0x280
  
Pokud kernel kartu detekuje, máme vyhráno. Některé moduly potřebují dodatečné parametry (např. I/O), jak je vidět na druhém řádku v příkladu.

Pokud není k dispozici příslušný modul, bude potřeba překompilovat jádro buď s podporou Vaší karty přímo v kernelu nebo jako modul.

Připravená síťové rozhraní si můžeme nechat vypsat příkazem:

    cat /proc/net/dev

Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo:      0    0    0    0    0        0    0    0    0     0    0
  eth0:      0    0    0    0    0        0    0    0    0     0    0
První řádek indikuje tak zvaný loopback (vše, co na něj vyšleme, se vrátí zpět). Pro nás je důležitá přítomnost druhého řádku začínajícího zkratkou 'eth0' (první detekované síťové rozhraní). Pokud je ve výpisu přítomen, lze toto rozhraní dále konfigurovat.

Ruční zavádení modulů lze nahradit automatickým pomocí démona kerneld. Tento démon má k dispozici tabulku relací mezi zařízeními a moduly, které je potřeba k jejich obsloužení nahrát. Jestliže se pokusíte konfigurovat zařízení, pro které v kernelu modul není, sám ho nahraje. Je ovšem nutné říci, jaký modul přísluší kterému zařízení. Většina relací je správně předem nastavena, potřebujete-li ovšem vlastní nastavení, musíte je zapsat do souboru /etc/modules.conf (typický případ jsou právě síťové karty). Pak nebude nutné používat před konfigurováním výše zmíněné modprobe. Kerneld navíc sám modul z kernelu odstraní, až nebude potřeba (čímž šetří operační paměť pro naše programy).

Seznam aktivních modulů v kernelu získáme pomocí lsmod. Odstranit modul můžeme pomocí rmmod.

Konfigurace síťového rozhraní

Síťové rozhraní, které je kernelem detekováno, můžeme nakonfigurovat. K tomu potřebujeme vědět několik základních údajů:
    IP              (adresa síťového rozhraní)
    NETMASK         (maska sítě)
    DEFAULT GATEWAY (adresa routeru směrem do Internetu)
    NAMESERVER      (IP adresa DNS serveru)
IP adresu si nelze vymyslet, ani použít adresu jiného existujícího počítače. Pokud není IP adres nedostatek, zpravidla má každá stanice pevně přidělenou IP adresu, kterou trvale využívá. Při nedostatku adres je někdy IP přidělována dynamicky a stanice má pak pokaždé jinou IP. V tomto případě je nezbytně nutné domluvit se s administrátoren Vaší sítě.

Údaje o pevné IP lze vyčíst např. ze zpráv DOSového TELNETu při startu, nebo z Trumpeta ve Windows. Ovšem VŽDY záleží na konkrétní implementaci na Vaší síti. V každém případě je nejjistější zeptat se administrátora Vaší sítě.

Řekněme, že požadované údaje budou následující:

    IP              192.168.1.100
    NETMASK         255.255.255.0
    DEFAULT GATEWAY 192.168.1.254
    NAMESERVER      192.168.1.1
Pak je potřeba použít příkazy:
    ifconfig eth0 192.168.1.100 broadcast 192.168.1.255 netmask 255.255.255.0
    route add -net 192.168.1.0 netmask 255.255.255.0
    route add default gw 192.168.1.254 metric 1
    ping 192.168.1.10
Posledním řádkem otestujeme funkčnost našeho síťového rozhraní na nějakém sousedovi. Jestliže máme vše dobře, budou se nám na obrazovce ve vteřinových intervalech objevovat zprávy o jeho odpovědích. Ping ukončíme stiskem CTRL+C.

Informaci o nameserveru zaneseme do souboru /etc/resolv.conf, který pak bude obsahovat:

    nameserver 192.168.1.1
    domain frop.org
Řádku domain opravíme podle naší skutečné domény, tedy například místo zde uvedené domény frop.org zde uvedeme doménu kin.vslib.cz (bez jména počítače).

Způsob převodu jmen a IP adres ovlivňuje soubor /etc/host.conf. První řádek v příkladu obsahuje informaci o pořadí převodu jmen (v našem případě se nejprve prohledá soubor /etc/hosts a pak se provede dotaz na DNS. Soubor /etc/host.conf bude tedy nejspíše obsahovat tyto řádky:

    order host, bind
    multi on
Funkčnost převodu doménových jmen na IP adresy vyzkoušíme například pomocí příkazů:
    nslookup www.whitehouse.gov
    ping ftp.mcafee.com
    traceroute www.spsselib.hiedu.cz

Jméno našeho počítače můžeme změnit v souboru /etc/HOSTNAME, uvedeme zde plné jméno počítače včetně domény (např: monkey.spsselib.hiedu.cz). Změna se projeví až po rebootu. Takto samozřejmě změníme jen vnitřní jméno našeho počítače. Pokud chcete změnit jméno počítače "doopravdy" (tedy i navenek), musíte provést změnu relace mezi IP a jménem na Vašem DNS serveru, aby při převodu IP adresy na jméno byla změna funkční na celém světě a ne jenom na Vašem počítači. Tuto změnu si musíte dojednat s administrátorem Vaší sítě.

IP adresu a jméno našeho počítače je ještě potřeba zapsat do souboru /etc/hosts:

    127.0.0.1       localhost
    192.168.1.100   monkey.frop.org  monkey
První řádek by zde měl být VŽDY. Na tomto řádku by nemělo být skutečné jméno počítače. Skutečné jméno včetně domény zapíšeme na následující řádek. Za mezerou mohou být zkrácené názvy či aliasy počítače, které pak je pak možné uvádět ve Vašem systému místo plného jména s doménou. Do souboru nedáváme počítače, o kterých 100% nevíme, zda se náhodou nezmění jejich IP. Raději se spolehneme na DNS, případně si nainstalujeme cache-only DNS server (viz DNS-HOWTO).

Konfigurace myši

Myš lze na konzoli použít k běžným operacím označování a následném vkládání označeného textu na místo kurzoru. Označování se provádí se stisknutým levým tlačítkem, vkládání pak stisknutím pravého tlačítka myši. Dvě kliknutí levým tlačítkem myši označí jako blok slovo, tři kliknutí myši označí jako blok celý řádek. Označený text je možné přenášet i mezi jednotlivými konzolemi. Způsob práce s konzolemi najdete v kapitole o práci s OS Linux.

Myš je na konzoli obsluhována démonem gpm, který se spouští automaticky při bootu Monkey v souboru /etc/rc.d/rc.local následujícím řadkem:

gpm -t bare
Parametr -t bare definuje obecný protokol pro dvoutlačítkovou myš. Seznam dostupných protokolů získáme například parametrem -t help. Démona můžeme ukončit řádkou
gpm -k
Takto démon standardně používá ke spojení s myší zařízení /dev/mouse. Pomocí parametru -m ovšem můžeme určit i jiné zařízení. Po instalaci je /dev/mouse linka na /dev/ttyS0, což je v DOSu COM1. Pokud máme myš na COM2, lze linku přesměrovat takto:
    cd /dev
    rm mouse
    ln -s ttyS1 mouse
Pokud vlastníme myš PS/2 (například trackball u notebooku), použijeme při změně linky místo ttyS1 zařízení psaux. Démona pak spusíme s parametrem -t ps2:
    cd /dev
    rm mouse
    ln -s psaux mouse
    gpm -t ps2

Kompilace vlastního kernelu

Kernel je jádro operačního systému (dále OS). Je to program, který se zavede do paměti počítače při jeho nastartování (boot) a je pak v paměti po celou dobu Vaší práce s počítačem. Jádro Vám umožňuje spouštět programy, přiděluje programům jednotlivá zařízení, která jsou k počítači připojena, hlídá korektní chování programů (jestli jeden program nemění data jinému programu). Také přiděluje a odebírá programům procesor, čímž vytváří podmínky pro běh více programů najednou (ve skutečnosti se rychle střídají). Běhu více programů najednou se říká multitasking. Jestliže mluvíme o preemptivním multitaskingu, znamená to, že jádro nikdy neztrácí kontrolu nad počítačem. Nemůže se tedy stát, že jeden program běží pořád a nepustí ostatní k procesoru (známé "vytuhnutí" OS M$ Windows). Linux, stejně jako jiné Unixy, využívá preemtivního multitaskingu k tomu, aby na jednom počítači mohlo pracovat více uživatelů najednou a aby každý mohl mít spuštěno více úloh a přes to se každému uživateli zdálo, že má počítač jen pro sebe.

Aktuální verzi kernelu zjistíte při bootu nebo příkazem uname -a. Pokud si chcete zkopilovat svůj vlastní kernel, nejprve si o kompilaci něco přečtěte na jiném místě, pak můžete pokračovat. Nainstalujte kompilátor a zdrojové kódy pro kernel (včetně aplikovaných patchů) použitý v distribuci Monkey (pro 3c59x, FAT32) a souboru .config, který obsahuje konfiguraci použitou při kompilaci distribučního kernelu.

Pokud chcete jen změnit některé volby při kompilaci, přepněte se do adresáře se zdrojáky kernelu, změňte konfiguraci kernelu (make config Vám bude nabízet volby z předchozí konfigurace, stačí jen tisknout Enter a ve vhodném okamžiku konfiguraci změnit). Nabízeny jsou volby [Y/N/M/?]. Y znamená vložit příslušnou část kódu do kernelu, N znamená, že se příslušná část kódu nepoužije, M znamená připravit příslušnou část kódu ke kompilaci jako modul a na stisknutí ? (otazník) se Vám na monitor zobrazí stručný popis této volby (otázka je pak zobrazena znovu). Nepoužíveje volby, které nepotřebujete. Šetříte tak paměť a neriskujete komplikace při detekci zařízení.

Pokud na některou otázku odpovíte M, pak je potřeba moduly po kompilaci kernelu dokompilovat, k čemuž slouží řádka s modules v následujícím příkladu. Pokud žádné moduly nemáte, můžete tuto část přeskočit. Použití modulů je ale výhodné, protože šetří operační paměť počítače. Ovladače, které právě nepotřebujete, nezabírají v paměti místo a to je pak možné využít pro aplikace. Paměť zabraná kernelem totiž nemůže být odswapována (odložena) na pevný disk. Vkládání modulů do jádra za běhu systému můžete dělat ručně příkazem modprobe, což je nevýhodné, nebo to nechat dělat automaticky démona kerneld. V případě použítí automatického vkládání navíc démon modul automaticky z paměti uvolní, pokud již není používán.

    cd /usr/src/linux
    make config
    make dep; make clean; make zImage
    make modules; make modules_install
    rm /lib/modules/*/modules.dep
Poslední řádek zajišťuje automatické obnovení souboru modules.dep po rebootu počítače.

V případě, že chcete kompilovat kernel novější verze, lze použít soubor .config ze staršího kernelu, který si před tím do nového adresáře /usr/src/linux nakopírujete. Při použití příkazu

    make oldconfig
budete dotázáni jen na volby, které přibyly. Tím si ušetříte spoustu času. Další změny již lze dělat pomocí opětovného make config. Nezapomeňte přímo do kernelu vložit podporu DOS, MSDOS FAT a UMSDOS filesystémů stejně jako podporu pro spouštění ELF binárních souborů.

Zkompilovaný kernel najdete a adresáři /usr/src/linux/arch/i386/boot/zImage. Kernel je komprimovaný a obsahuje i boot, takže jeho použití je univerzální. Nejjednodušší je nakopírovat si ho k původnímu kernelu a opravit spouštěcí dávku LINUX.BAT tak, aby zaváděla do paměti Váš nový kernel (1) nebo si vyrobit bootovací disketu (2):

    (1) cp /usr/src/linux/arch/i386/boot/zImage /3mide.new
    (2) cp /usr/src/linux/arch/i386/boot/zImage /dev/fd0

Zdrojové kódy kernelu si můžete stáhnout z některého zrcadla v Čechách (sunsite, vse, muni) nebo přímo z primárního zdroje. Liché číslo na druhém místě značí vývojovou řadu, sudé stabilní řadu.

    2.0.30 - stabilní
    2.1.36 - vývojový
Aktuální verzi posledního zveřejněného kernelu lze zjistit jednoduše například na WWW stránce v Helsinkách.

Konfigurace sítě pomocí souboru IP-CFG.DOS

Tento soubor je umístěn v adresáři /etc/rc.d/ip-cfg.dos. Slouží ke kompletní konfiguraci Linuxu na lokálních stanicích na Střední průmyslové škole strojní a elektrotechnické v Liberci. K zavedení Linuxu slouží dávka, která z Novellovského souborového serveru rozbalí na lokální HDD distribuční balíky Monkey a nakopíruje do adresáře \LINUX\ETC\RC.D soubor IP-CFG.DOS, který obsahuje pro každou stanici příslušné údaje o IP adrese, jménu počítače, gateway, netmask a podobně. Tento soubor je možné editovat standardními editory MS-DOSu. Monkey při bootu automaticky načte všechny potřebné informace a nakonfiguruje správně síťové rozhraní. Tento soubor se použije pouze v případě, že je v něm uvedena řádka CONFIGURE YES. Jinak je ignorován. Jeho struktura je jednoduchá a přímo v něm popsaná. Jedinou podmínkou je, abyste používali vždy právě 1 mezeru mezi proměnnou a její hodnotou. Příklad souboru IP-CFG.DOS:
    CONFIGURE NO

    NAME monkey
    DOMAIN frop.org
    IPADDR 192.168.1.2        # REPLACE with YOUR IP address.
    NETMASK 255.255.255.0     # REPLACE with YOUR netmask.
    NETWORK 192.168.1.0       # REPLACE with YOUR network address.
    BROADCAST 192.168.1.255   # REPLACE with YOUR broadcast address, if you
                              # have one. If not, comment them out.
    GATEWAY 192.168.1.250     # REPLACE with YOUR gateway address.
    DNSSERVER 192.168.1.1     # REPLACE with IP address of your DNS SERVER, if
                              # you have one. If not, comment them out.
                              # You may comment out the line by adding a # to
                              # the beginning of the line.

Spolupráce se servery NetWare

Sítě tvořené servery NetWare od firmy Novell pracují pomocí protokolu IPX/SPX na rozdíl od Internetu, jehož základním protokolem je TCP/IP. Znamená to, že Linuxový kernel musí být zkompilován s podporou pro IPX/SPX protokol a pro připojování (mapování) síťových disků z NetWare serverů do Linuxu budeme potřebovat speciální programy. Linux spolupracuje se servery verzí 3.x, ve verzích 4.x je potřeba zapnout bindery emulaci na všechny potřebné kontexty.
Distribuční kernel v Monkey je zkompilován s podporou IPX/SPX a potřebné utility jsou v distribuci obsaženy.

Konfigurace síťového rozhraní pro provoz IPX/SPX:
Každý samostatný segment má u protokolu IPX/SPX své číslo sítě. Toto číslo sítě se nastavuje při konfiguraci síťového rozhraní na NetWare serveru. Pokud na jednom segmentu provozujeme více než jeden ethernetový rámec, musí mít každý též své odlišné číslo sítě. Novel dnes jako standard na svých serverech prosazuje rámec Ethernet_802.2. Pokud chceme provozovat na síti TCP/IP, potřebujeme rámec Ethernet_II. Většina starých Boot-ROM vyžaduje rámec Ethernet_802.3. Z toho je vidět, že situace je poněkud komplikovaná. Doporučuji používat co nejméně rámců na jednom segmentu, přičemž jako nejvýhodnější se jeví výhradní používání rámce Ethernet_II (novější Boot-ROM ho umí).
Číslo sítě pro použitý rámec nejlépe zjistíme od správce. Pokud uvedeme špatné, bude server vypisovat na svoji konzoli hlášení o kolizi sítí a správce snadno (podle MAC adresy síťové karty) odhalí naši stanici.
Konfigurace rozhraní:

    ipx_interface add eth0 etherii 12
Místo ručního konfigurování rozhraní můžeme použít automatickou detekci rámce, čísla sítě včetně nastavení rozhraní:
    ipx_configure --auto_interface=on --auto_primary=on
Automatickou konfiguraci je vhodné zkontrolovat podle výpisu souboru /proc/net/ipx_interface, který obsahuje seznam všech registrovaných IPX rozhraní včetně typů rámců a čísel podsítí:
    cat /proc/net/ipx_interface

Správnou funkci síťového rozhraní můžeme ověřit výpisem dostupných NetWare serverů pomocí příkazu slist:

    monkey~> slist
    Known NetWare File Servers     Network   Node Address
    -----------------------------------------------------
    PRUM                           0000012   000000000001

Připojování NetWare disků:
Rozdílným pojetím systémů nelze na připojených NetWare discích měnit vlastníky a přístupová práva. Práva a vlastníky lze jednotně nastavit při připojení disku pro celou připojenou strukturu. K vlastnímu připojování slouží příkaz ncpmount, k odpojení příkaz ncpumount (analogie příkazu mount).

    ncpmount -S server -U uživatel -P heslo /home/huzva/novell
    ncpumount /home/huzva/novell
Následující tbulka uvádí podrobný rozpis voleb příkazu ncpmount. Soubor .nwclient může obsahovat předdefinované hodnoty, protože v něm mohou být i hesla, musí být čitelný jen pro vlastníka. Umisťuje se do domovského adresáře příslušného uživatele. Příklad tohoto souboru následuje za tabulkou.

PřepínačPopis přepínačeImplicitní hodnota
-S server jméno připojovaného NW serveru první v .nwclient
-U uživatel jméno uživatele na NW serveru podle .nwclient
-P heslo uživatelovo heslo podle .nwclient
-n uživatel nemá heslo podle .nwclient
-V svazek připojit pouze tento svazek připojit všechny svazky
-u UID uživatel vlastnící připojený strom aktuální uživatel
-g GID skupina vlastnící připojený strom aktuální skupina
-f práva přístupová práva k souborům 0755
-d práva přístupová práva k adresářům 0755

Soubor .nwclient leží v domácím adresáři uživatele, přístupová práva pro čtení a zápis musí mít pouze on sám. Nastavení těchto práv můžeme provést příkazem: chmod 600 .nwclient. Tečka na začátku jména označuje skrytý soubor (většina konfiguračních souborů u uživatelů začíná tečkou). Zápisy v souboru se dělí na řádky s tímto pořadím udajů: Jméno_serveru/jméno_uživatele případné_heslo

Příklad souboru .nwclient:

    # Můj účet, raději bez hesla
    PRUM/RENE.HUZVA
    # Anonymní účet na serveru BIMBO, bez hesla
    BIMBO/GUEST -
    # Poloveřejný účet pro návštevy s heslem pižďuch
    PRUM/NAVSTEVA pizduch

Další dostupná dokumentace

Česká: Anglická:

 

Práce s OS systémem Linux

  1. Úvod
  2. Běžné příkazy Unixu
  3. X Window
  4. Práce s disky a s disketou

Úvod do práce s Linuxem

Po nastartování Monkey je k dispozici 6 textových virtuálních konzolí (obrazovek), na kterých můžete nezávisle na sobě pracovat. Přepínání se provádí pomocí kláves ALT+F1 až ALT+F6 nebo ALT+šipky_doleva_a_doprava. Počet konzolí lze ovlivnit v souboru /etc/inittab. Jeho špatnou úpravou ovšem můžete zlikvidovat svůj Linux, protože je používán při startu systému. Proto ho upravujte, jen pokud k tomu máte opravdu závažný důvod (například málo paměti).

Běžné příkazy Unixu

V Monkey bude fungovat většina příkazů, které najdete v příručkách k Unixům.

X Window

X Window se startují příkazem startx. V distribuci je předinstalován univerzální X server pro SVGA karty. Pokud máte akcelerované karty s čipem S3 nebo Mach64, musíte si nainstalovat balíček s příslušným serverem. Pokud máte jinou grafickou kartu, musíte si naistalovat příslušný X server ručně. X Window nastartují na první volné konzoli (v Monkey po instalaci je to sedmá konzole). Z X Window se můžete přepnout do textových konzolí pomocí kombinace kláves CTRL+ALT+F1 až F6. K návratu do grafické konzole použijete, jak jistě tušíte, ALT+F7.

Zkratkové klávesy v X Window:

    Alt+F1   window menu
    Alt+F2   hlavní menu
    Alt+F3   lower
    Alt+F4   close
    Alt+F5   další okno
    Alt+F6   předchozí okno
    Alt+F7   přesun
    Alt+F8   změna velikosti
    Alt+F9   minimalizace (návrat k pův. velikosti)
    Alt+F10  maximalizace (návrat k pův. velikosti)

Práce s disky a s disketou

Zbytek disku, ze kterého jste bootovali se nachází v adresáři /DOS.
Pokud máte další disky (ať už DOSové nebo jiné), můžete připojit jednotlivé partition do filesystému příkazem mount, parametrem -t určujeme pak typ mountovaného filesystému (msdos, umsdos, vfat, ext2, minix, nfs, ...). Příkazem fdisk -l si můžete nechat vypsat seznam partitions na disku. Partition odpojíme příkazem umount. Pokud namountujeme disketu, musíme ji před vyjmutím odpojit (aby se zapsal obsah cache), proto je lepší používat příkazy z balíku mtools (mdir a:, mcopy soubor.txt a:, mdel a:soubor, ...), které umí zapisovat i dlouhé názvy souborů podle vzoru W'95 (vfat) na disketu formátovanou pro OS DOS. Při používání těchto utilit nezapomeňte, že znak * a \ je speciální znak shellu, proto je potřeba zrušit jeho speciální význam uvozujícím zpětným lomítkem (backslash).

Příklady:

    mount -t vfat /dev/hda2 /mnt
    mount -t umsdos /dev/hda5 /disk/d
    umount /mnt
    mcopy soubor.txt a:
    mdir a:
    mdel a:/win/\*
    mtype a:/adresar\\soubor.txt
    mformat a:

 

FAQ - často kladené otázky

  1. Lze na Monkey provozovat jiný software než ten, který je v ditribuci?
  2. Pernametní odkládací soubor Windows 3.x Monkey umí využít, ale co Windows'95?
  3. Co se stane s DOSem po nastartování Linuxu?
  4. Jde nastartovat Linux z Windows?
  5. Mohu defragmentovat disk s Monkey?
  6. Na disku se mi objevují po práci s Linuxem ztracené bloky
  7. Kdo a k čemu je uživatel root?
  8. Nefunguje myš
  9. Monkey nebootuje

Lze na Monkey provozovat jiný software než ten, který je v ditribuci?

Samozřejmě. Problém ale může nastat s knihovnami. Aby byla Monkey co nejmenší, jsou v ní jen ty knihovny, které jsou nezbytné. Pokud Vaše aplikace bude potřebovat nějaké další, můžete je samozřejmě přiinstalovat nebo překopírovat z jiného Linuxu. Seznam potřebných knihoven si můžene nechat ze spustitelného souboru vypsat příkazem:
    ldd novy_program
Pokud by například chyběla knihovna libncurses.so.3.0, překopírujete do adresáře s knihovnami tuto knihovnu a necháte obnovit symbolické linky:
    cp libncurses.so.3.0.7 /lib
    ldconfig
Takto nám v adresáři /lib vznikne symbolická linka libncurses.so.3.0 ukazující na binární soubor knihovny libncurses.so.3.0.7

Nezapomeňte také, že Monkey nemá plnohodnotný kompilátor. Kompilátor v distribuci je určen pro kompilaci kernelu a je proto minimalizován. Většina dostupných programů je k dispozici i v binární podobě, což není z hlediska bezpečnosti vyhodné (trojské koně), ale v našem případě to poslouží. Pokud Vám to bude vadit, doporučuji naistalovat "velkou" distribuci Slackware, kterou je možné umístit do filesystému DOSu (tzv. UMSDOS) stejně jako Monkey.

Pernametní odkládací soubor Windows 3.x Monkey umí využít, ale co Windows'95?

Monkey umí využít trvalý soubor virtuální paměti. W'95 standardně tento soubor vytvářejí podle potřeby. Pokud chcete, aby W'95 a Monkey používali stejný soubor, musíte ve W'95 nastavit ručně minimální velikost virtuální paměti (s ohledem na potřeby Monkey i W'95) následujícím postupem: START - Nastavení - Ovládací panely - Systém - Výkon - Virtuální paměť - Virtuální paměť nastaví sám uživatel. Minimum nastavte na požadovanou mez (například 8 nebo 16MB), maximum nastavte dle uvážení. Po nastavení minima zůstane na disku po ukončení W'95 soubor této velikosti, který Monkey použije. Musíte jej ovšem nastavit na disk, ze kterého bootujete Monkey. Typická hodnota je stejná, jako je velikost RAM, ale máte-li paměti málo (8 MB), můžete použít více, pro systém s velkou pamětí (od cca 32MB) není pro běžnou práci potřeba žádný. Obecně platí, že po naplnění SWAPu do ekvivalentu RAM systém již není schopen svižného provozu. U Linuxu (díky kvalitnímu memory managmentu) je systém schopen však i v této situaci dosáhnout po chvíli bouřlivého swapování použitelného stavu.

Co se stane s DOSem po nastartování Linuxu?

Kernel Linuxu kompletně převezme kontrolu nad vašim PC. DOS je odstraněn a jinak než dalším bootem se do paměti nedostane. Linux tedy nemůže "spadnout" do DOSu ;-). Existuje ovšem možnost provozovat DOS v prostředí Linuxu pomocí DosEmu. DosEmu je emulátor, který emuluje v prostředí Linuxu prostředí DOSu. Multitaskingové a víceuživatelské prostředí Linuxu není emulátorem nijak dotčeno. Lze tedy spustit více kopií DosEmu (aniž by o sobě věděly). Je potřeba připomenout, že DosEmu je emulátor, má tedy své nedostatky (zdrojové texty DOSu nejsou k dispozici a vývoj DosEmu je tedy velice složitý) a ne vše si pod ním spustíte.

Jde nastartovat Linux z Windows?

Ne. Je potřeba nejprve Windows ukončit návratem do DOSu následujícím postupem: Start - Vypnout - Restartovat počítač v režimu MS-DOS. Pak je teprve možné spustit dávku LINUX.BAT a nastartovat tak Linux.

Mohu defragmentovat disk s Monkey?

Ano. Defragmentace nemá vliv na Linuxový filesystém UMSDOS, který Monkey používá. Všechny informace, které není MSDOS FAT schopna zaznamenat, se ukládají do speciálních souborů --linux-.---. Proto tyto soubory nemažte!

Na disku se mi objevují po práci s Linuxem ztracené bloky

Ano, Linux obsahuje v současné době betaverzi kódu pro práci na systému UMSDOS, která obsahuje drobné chybičky. Tyto ztracené bloky ovšem neobsahují žádná důležitá data, můžete je tedy nechat příslušným programem bez jakéhokoliv nebezpečí smazat (např. programem SCANDISK nebo Norton Disc Doctor).

Kdo a k čemu je uživatel root?

Uživatel root má nejvyšší práva v systému. Slouží k administrování (údržbě, konfiguraci, správě ostatních uživatelů, spouštění privilegovaných programů) systému. Nezapomeňte si nastavit pro tohoto uživatele vhodné heslo příkazem passwd. Tohoto privilegovaného uživatele není vhodné používat k běžné práci v systému, proto doporučuji, abyste si vytvořili další "normální" uživatelská konta a ta pak používali k běžné práci. K vytváření uživatelských kont slouží příkaz adduser.

Nefunguje myš

Přečtěte si odstavec o
konfiguraci myši.

Monkey nebootuje

Zkontrolujte v dávce LINUX.BAT, kterou se Monkey startuje, nastavení root=/dev/hd... Nápověda je v dávce LINUX.BAT. Možné hodnoty kernel vypisuje za řádkem 'Partition check:'. Pokud neuvedeme správnou partition, za řádkou "Mounting root" nejsou při startu kernelu zobrazeny čtyři řádky, které můžete vidět v následujícím vzorovém příkladu startu kernelu. Linux musí být
nainstalován do kořene do adresáře LINUX, jak je popsáno v kapitole o instalaci Monkey.

Typický výpis při bootu kernelu Linuxu:

Výpis hlášení, která kernel vypisuje při svém startu, si můžete prohlédnout po jeho ukončení pomocí kombinací kláves SHIFT+PgUp a SHIFT+PgDn. Najdete zde kompletní přehled o tom, která součásti kernel obsahuje a která zařízení při svém startu nalezl. Pokud zde nějaká nejsou (například síťové karty), nemusíte zoufat, protože mohou být detekovány až po případném zavedení příslušného modulu.

Následující výpis byl pořízen na počítači s touto konfigurací:

     Uncompressing Linux...done.
     Now booting the kernel
     Console: 16 point font, 400 scans
     Console: colour VGA+ 80x25, 1 virtual console (max 63)
     pcibios_init : BIOS32 Service Directory structure at 0x000fb140
     pcibios_init : BIOS32 Service Directory entry at 0xfb5b0
     pcibios_init : PCI BIOS revision 2.10 entry at 0xfb5e0
     Probing PCI hardware.
     Calibrating delay loop.. ok - 179.40 BogoMIPS
     Memory: 15048k/16384k available (516k kernel code, 384k reserved, 436k data)
     Swansea University Computer Society NET3.035 for Linux 2.0
     NET3: Unix domain sockets 0.13 for Linux NET3.035.
     Swansea University Computer Society TCP/IP for NET3.034
     IP Protocols: ICMP, UDP, TCP
     Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
     Checking 'hlt' instruction... Ok.
     Linux version 2.0.29 (root@monkey) (gcc version 2.7.2) #1 Fri Feb 21 06:46:08 1997
     ide: i82371 PIIX (Triton) on PCI bus 0 function 57
         ide0: BM-DMA at 0x9000-0x9007
         ide1: BM-DMA at 0x9008-0x900f
     hda: QUANTUM BIGFOOT_CY4320A, 4134MB w/67kB Cache, LBA, CHS=527/255/63, DMA
     ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
     Partition check:
      hda:Started kswapd v 1.4.2.2
      hda1 hda2 < hda5 > hda3
     UMSDOS Beta 0.6 (compatibility level 0.4, fast msdos)
     Mounting root
     /linux is there
     /linux/etc is there
     /linux/sbin is there
     Activating pseudo root /linux
     VFS: Mounted root (umsdos filesystem).
     INIT: version 2.62 booting
     Starting kerneld, version 2.0.0 (pid 9)
     Testing filesystem status: read-write filesystem
     none on /proc type proc (rw)
     INIT: Entering runlevel: 3
     Going multiuser...
     Mounting remote file systems...
     Starting daemons: syslogd klogd inetd
     Found M$ Windows swap-file. Great.
     Adding Swap: 16380k swap-space
     To disable every start update UMSDOS, simply remove /etc/update.umsdos
     Updating UMSDOS filesystem..........done.
     Running gpm...


     Welcome to MiniLinux 2.0.29.

     monkey login:

 

Co by mohlo být příště nového?

Rychlost postupu vývoje Monkey závisí na dostatku mého volného času...


Proč vznikl Monkey?

Prohlášení autora:

 

Děkuji

Můj dík patří mimo jiné i těmto trpělivým pokusným "králíkům", kteří testovali tuto distribuci a pomohli mi tak vytvořit lepší Monkey.
Pavel Hanus
David Kmoch
Ondřej Bezucha

P.S. Tato distribuce je věnována české jmenovkyni Monkey, která umí upéct výbornou pizzu ;-)