View this PageEdit this Page (locked)Uploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

Minidistribuce Debian GNU/Linux pro CZFree.Net

ZASTARALÉ!!

Upozorňuji, že tato distribuce je zastaralá (poslední aktualizace byla 24.11.2006), a tudíž není vhodná pro nový hardware. Nelze ji aktualizovat (základ je Debian Sarge), takže v ní mohou být závažné bezpečnostní díry.

Vlastnosti

  • Bootovatelné CD, konfiguraci měníte připálením další session.
  • Velikost cca 120 MB, vhodné pro flash disky, USB klíčenky, ...
  • Read-only filesystém, zápis pouze na swapovatelný ram-disk. Nikdy více fsck ;-)
  • Balíčky z Debian Sarge, pouze standardní balíčky. Kdo chce specialitky, ať si změní /etc/apt/sources.list.
  • Firewall, Shaper, Bridge, Quagga (OSPF), DHCP, DNS, HostAP, MADWiFi, NDIS-wrapper, mc, vi, ... (viz dpkg -l)
  • Vzorové konfiguráky sítě, DHCP, DNS, firewallu, ...
  • Syslog pouze na konzoli a po síti na jiný server.
  • Smazaná dokumentace a lokalizace.
  • Autodetekce PCI hardware, SW watchdog (resetátor)
  • Konzole i na sériových portech
  • Podpora pro WRAP a SOEKRIS (viz nize)

Postup instalace

  1. Vypálit ISO image.
  2. Nabootovat z CD, zalogovat se jako root (bez hesla) a porozhlédnout se.
  3. Instalujeme příkazem
    ./install.sh
    
  4. Kdo nemá vypalovačku, ale má jiný funkční Linux může instalovat i z ISO image namountovaného přes loop. Instalační skript by to měl skousnout, ale potřebuje devfs.
    wget http://www.brno-czfree.net/linux/czfree.iso
    mount -o loop czfree.iso /iso
    chroot /iso
      mount -t proc proc /proc
      mount -t devfs devfs /dev
      mount -t tmpfs tmpfs /dev/shm
      /root/install.sh
      umount /dev/shm
      umount /dev
      umount /proc
      exit
    umount /iso
    
  5. Vymontujeme CD-ROM, už ji nebudeme potřebovat, nebo přehodíme disk do jiného PC.
  6. Nabootojeme z disku, zalogujeme se (opět root bez hesla).
  7. Připojíme disk jako read-write (příkazem rw), případně pokud máme méně než 128 MB RAM aktivujeme swap a zvětšíme ram-disk.
    ./swap.sh on
    
  8. Provedeme konfiguraci:
    /etc/modules
    Jména ovladačů ISA karet. PCI karty by se měly detekovat automaticky. Hostap musí být ručně protože se detekuje jako Orinoco.
    /etc/network/interfaces
    Konfigurace síťovek (IP adresy, Wi-Fi parametry, default gw, bridge,...) Stačí vybrat a upravit některý z příkladů.
    /etc/resolv.conf.static
    Nastavit nameservery. Pokud používáte DHCP, můžete smazat.
    /etc/hostname
    Název počítače (bez domény)
    /etc/syslog.conf
    Na konci změnit hostname nebo IP adresu logovacího serveru
    /etc/dnsmasq.conf
    Konfigurace DNS a DHCP serveru. (domain, dhcp-range, servery pro .czf)
    /etc/hosts
    Přiřazení jmen k IP adresám pro lokální doménu. (Bude distribuováno přes DNS.)
    /etc/ethers
    Přiřazení jmen nebo IP adres k MAC adresám. (Bude využito DHCP serverem.)
    /etc/watchdog.conf
    Konfigurace resetátoru (změny souborů, běh procesů, ping, ...)
    /etc/default/ntpdate
    Servery poskytující přesný čas.
    /etc/quagga/*
    Konfigurace dynamického routování pomocí Quaggy.
    /etc/shaper/*
    Konfigurace pro CBQ shaper známý též jako cbq.init
    /etc/openvpn/*
    Konfigurace tunelů pro OpenVPN
    /etc/apt/sources.list
    Mirror debianích balíčků. Experimentátoři a ti kdo potřebují regulaci výkonu, či moduly pro Prism54, nebo chcou skusit QoS podle neexistujících RFC, mohou zkusit pražské repository CZFree.
  9. Nastavíme rootovské heslo příkazem passwd nebo přidáme svůj ssh klíč do /root/.ssh/authorized-keys, aby sme se mohli přihlásit přes SSH. Paranoici POZOR! Protože mnoho instalací minidistribuce tu a tam administruji, mám tam uložený svůj klíč. Nic vám nebrání ho smazat, ale i když ho tam necháte slibuji, že na vaše routery nepolezu pokud mne o to vysloveně nepožádáte. Paranoici POHOV!
  10. Funguje-li síť (internet) můžeme upgradovat a doinstalovávat balíčky. Kdo má víc místa než 128 MB může si dovolit věci jako kismet nebo emacs :-). POZOR nezkoušejte upgradovat jádro na 128 MB discích. V průběhu instalace je potřeba víc místa než máte.
    apt-get update
    apt-get upgrade
    apt-get install xxxx
    
  11. Připojíme disk jako read only (příkazem ro), případně vypneme swap a procistime ram-disk.
    ./swap.sh off
    
  12. Reboot není nutný, ale je snažší než /etc/init.d/* restart

Tipy a triky

  • Do sources list je přidáno repository kde je kernel optimalizovaný (a minimalizovaný) pro WRAP a SOEKRIS. Kernel je patchnuty aby měl podporu procesoru a watchdogu sc1100, patch najdete na http://www.sk-tech.net/support/soekris.html. Pozor watchdog wdt1100 ma defaultní timeout 4 sekundy, ale watchdog daemon do něj zapisuje jen každých 10 sekund, proto je nutné spouštět modul s parametrem timeout=15, jinak se to resetne hned po spuštění watchdogu. Samozřejmě nechybí ani balíček s ovladači pro MADWiFi. Balíčky se jmenují kernel-image-2.4.27-wrap a madwifi-modules-2.4.27-wrap.
  • Zdá se vám nějaký adresář nadbytečný a moc nafoukaný? Pokud jste si jisti že ho nepotřebujete a nezmizí po odinstalovaní nějakého balíčku, (Komu patří zjistíte pomocí dpkg -S /nejaky/adresar.) smažte ho a dejte místo něj symbolický link do /tmp:
    rm -rf /nejaky/adresar
    ln -s /tmp /nejaky/adresar
    
  • Trošku místa ušetříte když smažete adresář /boot/isolinux. Je potřebný pouye k bootování z CD
  • Pokud chcete dokumentaci (a máte na ni místo), vytvořte adresáře /usr/share/doc, /usr/share/man, /usr/share/info, /usr/share/doc-base. Pak nainstalujte balíčky info, man-db, manpages a přeinstalujte balíček o který máte zájem:
    ./swap.sh on
    rm /usr/share/man
    mkdir /usr/share/man
    apt-get update
    apt-get install info man-db manpages
    apt-get --reinstall install quagga quagga-doc
    ./swap.sh off
    
  • Pokud chcete stahovat balíčky přes proxy vytvořte si soubor /etc/apt/apt.conf, přidejte do něj tento řádek a změňte adresu proxy:
    Acquire::http::Proxy "http://proxy.czfree.net:3128/";
    
  • Vzorový firewall /etc/init.d/firewall upravte podle potřeby a aktivujte podle návodu na začátku souboru. Pokuste se pochopit co to dělá a aktivovat jenom to co opravdu potřebujete. Pokud firewallu na linuxu nerozumíte, poraďte se s někým zkušenějším.
  • Bylo hlášeno, že automatická detekce funguje při bootování z CD, ale při bootování z disku ne. Změnil jsem autodetekci z discover na hotplug. Stejně je ale lepší zavádět pouze ty moduly které potřebujete. Opište si proto, jaké moduly se zavedly po bootu z CD (lsmod) a zapište potřebné do /etc/modules. Pak můžete s klidem odinstalovat balíček hotplug.
  • Při upgradu nebo instalaci balíčků se vám pravděpodobně objeví tato hláška:
    debconf: delaying package configuration, since apt-utils is not installed
    
    Můžete ji s klidem ignorovat. Pokud vás ale moc znervózňuje, tak si apt-utils nainstalujte.
  • Po upgradu balíčku debconf se vám začnou objevovat takovéto hlášky:
    debconf: unable to initialize frontend: Dialog
    debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 66, <> line 8.)
    debconf: falling back to frontend: Readline
    debconf: unable to initialize frontend: Readline
    debconf: (Can't locate Term/ReadLine.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 5, <> line 8.)
    debconf: falling back to frontend: Teletype
    Preconfiguring packages ...
    
    Tyto hlášky jsou opět neškodné, ale můžete se jich zbavit instalaci balíčku dialog (nebo whiptail), čímž získáte pěkné textové dialogy, nebo editací souboru /var/cache/debconf/config.dat. Diff vypadá takto:
     Name: debconf/frontend
     Template: debconf/frontend
    -Value: Dialog
    +Value: Teletype
     Owners: debconf, debconf-tiny
     Flags: seen
    
  • Pokud se nedaří bootovat z CD (starý BIOS) použijte bootovací disketu s univerzálním boot loaderem Smart Boot Manager.
  • Pokud chcete konzoli i na sériových portech, upravte si soubor /etc/inittab a odkomentujte řádky začínající na T0 a T1.
  • Pro rychlé povolení a zakázání zapisu na disk jsou příkazy rw a ro.


Na tuto distribuci se nevztahuje VUBEC ŽÁDNÁ záruka ani nic podobného. Kdo ji nainstaluje činí tak na vlastní riziko. Pokud něco nefunguje, je to normální jev a musíte ho zkusit vyřešit sami. Podporu poskytuji pouze na srazech, pokud si tam stroj přinesete, anebo ho zpřístupníte na dálku přes SSH. Kdo Linuxu moc nerozumí, ať si radši zkusí nainstalovat napřed normální distribuci.
Pokud někdo odstraní nějaké chyby, či přidá nějaké vylepšení, rád se o tom dozvím. Bugy, návrhy na vylepšení, změny instalovaných balíčků posílejte na e-mail: vladki(at)brno-czfree(dot)net.
Vladki