Inštalácia servera

Inštalácia servera

Inštalácia LTSP servera je triviálna. Líši sa podľa toho, či chcete vybudovať LTSP server na už existujúcom serveri alebo inštalovať server celkom nový.

ltsp_vyberLTSP.pngPre inštaláciu nového servera je potrebné inštalačné CD označené ako alternate CD. Jediná vec, ktorou sa inštalácia LTSP servera od bežného servera (alebo i desktopu) líši, je explicitný výber voľby "Inštalácia LTSP servera", ktorá sa skrýva na prvej inštalačnej obrazovke CD pod skratkou F4, ako nakoniec vidno na obrázku.

Po tomto výbere už inštalácia prebieha klasickým spôsobom a nebudem ju tu popisovať, pretože sa o to postarala Ubuntu komunita na mnohých iných miestach. K štandardnej inštalácii pribudol len čas potrebný na vybudovanie prostredia tenkého klienta, ktorého vybudovanie vyžaduje prístup na internet, takže nezabudnite pri inštalácii venovať náležitú pozornosť nastaveniu siete.

Pokiaľ inštaluje na existujúci server, stačí nainštalovať dva balíky (o ich závislosti sa postará aptitude):

aptitude install ltsp-server-standalone openssh-server

Prvotné nastavenie

Po nainštalovaní servera je treba vykonať niekoľko úprav.

Nastavenie siete

Rozhranie eth0 sa nastavuje pri inštalácii a malo by bez problémov fungovať. Jediný problém, na ktorý som pri tomto kroku narazil, bol konflikt IP adries vnútornej (terminálovej) siete, pretože predvolené nastavená IP adresa kolidovala s nastaveniami moje vonkajšej siete. Toto vnútorné rozhranie predvolene používa IP adresu 192.168.0.254/24 a zmenu som urobil v dvoch súboroch, pričom som použil adresu 192.168.10.254/24, čím mi vlastne stačilo popridávať na príslušné miesta len jednu jednotku:

  • /etc/network/interface - konfigurácia sieťového rozhrania
auto eth1
iface eth1 inet static
    address   192.168.10.254
    netmask   255.255.255.0
    network   192.168.10.0
    broadcast 192.168.10.255
  • /etc/ltsp/dhcpd.conf - konfigurácia DHCP servera
subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.20 192.168.10.250;
    option domain-name "example.com";
    option domain-name-servers 192.168.10.254;
    option broadcast-address 192.168.10.255;
    option routers 192.168.10.254;
    # next-server 192.168.10.254;
    # get-lease-hostnames true;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/i386";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
    } else {
        filename "/ltsp/i386/nbi.img";
    }
}

Osvedčilo sa mi aj odinštalovanie NetworkManager-a, pretože mi akosi nefungoval a zasahoval do nastavenia siete:

aptitude purge network-manager network-manager-gnome

Po týchto úpravách už len reštart siete a DHCP servera:

invoke-rc.d networking restart
invoke-rc.d dhcp3-server restart

Lokalizácia

Asi sa nebudete so mnou veľmi hádať, keď prehlásim, že stav slovenskej lokalizácie, minimálne v Gnome, zaostáva. Aj preto používam kombinovanú lokalizáciu, v ktorej je ako prvotný jazyk nastavená slovenčina, ale ak nenájde príslušný slovenský preklad, použije pred anglickým ešte lokalizáciu českú.

Toto nastavenie možno jednoducho dosiahnuť pridaním nasledujúceho riadku do súboru /etc/default/locale:

LANGUAGE="sk:sk_SK:cs:cs_CZ"

Toto nastavenie však nie je použité v Gnome a ani v KDE. KDE má na nastavenie dvojjazyčnosti svoj vlastný dialóg, v Gnome som trochu maturoval a nakoniec som použil riešenie, v ktorom vytváram jeden súbor, spúšťaný vždy pri vytváraní relácie X Window. Takže som vytvoril súbor /etc/X11/Xsession.d/56language-session_gnome s obsahom:

# If we are running the GNOME session, source the /etc/default/locale file
# and then export LANGUAGE variable, if it was set

BASESTARTUP=`basename "$STARTUP" | cut -d\ -f1`

if [ "$BASESTARTUP" = gnome-session -o \
        \( "$BASESTARTUP" = x-session-manager -a \
        "`readlink /etc/alternatives/x-session-manager`" = \
        /usr/bin/gnome-session \) ]; then
    . /etc/default/locale
    if [ "$LANGUAGE" ]; then
        export LANGUAGE
    fi
fi

Skriptík prosto overí, či spúšťaná relácia je Gnome, a ak áno, tak spracuje vyššie spomínaný súbor a vyexportuje premennú LANGUAGE, ktorej hodnotu získa zo súboru /etc/default/locale. Takto ostáva nastavenie premennej LANGUAGE na jednom mieste, ale je aplikované aj v Gnome.

Znovavytvorenie prostredia klienta

Na server som nainštaloval 64 bitovú verziu (amd64) Ubuntu a inštalátor predvolene vytvoril aj 64 bitovú verziu systému pre klientov (ak teda máte 64 bitových klientov, môžete celý tento krok preskočiť). To mi však neladilo s mojimi 32 bitovými klientami. Ak teda máte podobné riešenie, je treba odstrániť všetko ohľadom amd64 verzie klienta. Teda, aby som bol celkom presný, nie je to potrebné, len dobré. Architektúra klienta sa vyskytuje na viacerých miestach, takže postupne:

  • zmazanie klientského systému
rm -rf /opt/ltsp/*
  • zmazanie vyexportovaného systému
rm -rf /var/lib/tftpboot/ltsp/*
  • zmazať spúšťanie NBD v inetd, teda zmazať nasledujúci riadok v /etc/inetd.conf:
2000 stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/nbdrootd /opt/ltsp/images/amd64.img

Tento posledný krok nie je nutný. Avšak, ak ho ponecháte, skript na vytváranie klientského prostredia pridá nový riadok (a teda nový port) a číslo tohoto nového portu potom pridá aj do konfigurácie PXE v /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default a to môže najmä začiatočníkov mýliť.

Po týchto prípravných operáciách možno spustiť znovavybudovanie prostredia klienta pomocou skriptu:

ltsp-build-client --arch i386

V tomto príkaze je dôležitý parameter s architektúrou, pretože ak ho vynecháme, skript predvolene použije architektúru servera, a tak by sme mali znova prostredie klienta pre amd64.

Po dokončení tejto operácie (zaberie to nejaký čas) už možno spustiť klientov a ich systém naštartuje, čiže LTSP trieda je pripravená na prácu. Jediný problém, ktorý si viem predstaviť pri prvom štarte, je nepodporovaný hardvér, ale myslím, že ak nemáte niečo veľmi exotické, bude to fungovať.

Doplnky pre server

Synchronizácia času

Predvolene je v Ubuntu nainštalovaný klient pre nastavenie času cez sieť, ak ho nemáte, stačí ho doinštalovať:

aptitude install ntpdate

Jeho konfiguráciu možno vyladiť v súbore /etc/default/ntpdate, kde treba urobiť niekoľko prispôsobení. Ak nemáte na tomto stroji nainštalovaný NTP server, čo ja nemám, tak treba zakomentovať (pridať na začiatok mriežku) riadok:

#NTPDATE_USE_NTP_CONF=yes

Potom ešte možno bude potrebné nastaviť meno/adresu časového servera. Z našej školy sa mi nedá komunikovať protokolom NTP a "odborníci" z T-Comu mi povedali, že sa to nedá (?), tak som nakoniec pomocou jednej barličky rozchodil vlastný časový server, ktorého adresu zadávam do konfiguračného súboru:

NTPSERVERS="10.1.92.2"

Ak teraz netrpezlivo spustíte ntpdate, musím Vás sklamať. Tento príkaz nečíta upravovaný konfiguračný súbor a stále čaká adresu časového servera ako svoj parameter. Konfiguračný súbor však číta príkaz ntpdate-debian, ktorý nám už čas nastaví:

ntpdate-debian
6 Dec 18:43:08 ntpdate[11319]: adjust time server 10.1.92.2 offset 0.006204 sec

Aby sa táto úloha vykonávala pravidelne, je treba ju pridať do cronu, napríklad do súboru /etc/cron.d/ntpdate:

# /etc/cron.d/ntpdate: crontab položka pre automatickú úpravu času

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 0 * * * root ntpdate-debian > /dev/null

Týmto nastavením sa spustí synchronizácia času každý deň o polnoci a automaticky nastaví nový čas.

Adresáre

V prostredí LTSP existuje niekoľko zaujímavých adresárov, ktoré uchovávajú prostredie klienta a tiež adresáre, kde sú uložené súbory potrebné pre jeho štart. Vo východzom nastavení sa jedná o:

/opt/ltsp/$ARCH
  • adresár s tzv. prostredím chroot klienta.
/var/lib/tftpboot/ltsp/$ARCH
  • adresár s vygenerovanými obrazmi a nastavením pre štart klienta.

V oboch prípadoch treba $ARCH nahradiť architektúrou klienta, v mojom prípade je to i386.

/etc/ltsp
  • adresár s niektorými konfiguračnými súbormi LTSP.

Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.