Table of Contents
Návod na instalaci LTSP
Linux Terminal Server Project – linux s tenkými klienty
Postupujeme podle návodu na http://ltsp.org/docs/installation a na https://wiki.debian.org/LTSP/Howto.
Při instalaci zvolíme metodu dvou interfaceů. Druhý interface musí být nakonfigurovaný před instalací ltsp
. Musí se vyplnit IP adresa a maska, ale ne GW. Chceme-li jinou IP, než je defaultně nastavená (192.168.67.1), máme smůlu. Je to tam někde zadrátované.
Posloupnost kroků při instalaci:
- Nejjednodušší je nechat si přidělit IP od DHCP serveru:
ltsp dnsmasq
Installed /usr/share/ltsp/server/dnsmasq/ltsp-dnsmasq.conf in /etc/dnsmasq.d/ltsp-dnsmasq.conf Restarted dnsmasq
- Client image (chrootless):
ltsp image /
Tento krok se musí opakovat při každém přidání SW do image.
- Konfigurace iPXE:
ltsp ipxe
Tento krok se musí opakovat, pokud jsme provedli
ltsp image
. - NFS server:
ltsp nfs
- ltsp.img:
ltsp initrd
Tento krok se musí udělat po každém updatu ltsp, po přidání uživatele, nebo po úpravě
/etc/ltsp/ltsp.conf
.
Updaty image
Při každém přidání/změně softwaru na serveru se musí vygenerovat nový image. Trvá to již docela dlouho, proto se to dělá přes noc pomocí crontabu
. Dalším důvodem je to, že se dělají pravidelné updaty.
Nový image se vytvoří pomocí skriptu
- update-ltsp.sh
#!/bin/bash if [[ $EUID -ne 0 ]]; then echo "This script must be run as root (sudo bash -l)" 1>&2 print_help exit 1 fi echo "IMAGE" ltsp image / echo "IPXE" ltsp ipxe echo "NFS" ltsp nfs echo "INITRD" ltsp initrd
Kde jsou všechny image (pro ipxe)
-rw-r--r-- 1 root root 169362625 Feb 18 06:06 /srv/tftp/ltsp/x86_64/initrd.img -rw-r--r-- 1 root root 14928264 Jan 15 17:51 /srv/tftp/ltsp/x86_64/vmlinuz IPXE Installed /usr/share/ltsp/server/ipxe/ltsp.ipxe in /srv/tftp/ltsp/ltsp.ipxe Skipped existing /srv/tftp/ltsp/memtest.0 Skipped existing /srv/tftp/ltsp/memtest.efi Skipped existing /srv/tftp/ltsp/snponly.efi Skipped existing /srv/tftp/ltsp/undionly.kpxe NFS Installed /usr/share/ltsp/server/nfs/ltsp-nfs.exports in /etc/exports.d/ltsp-nfs.exports Restarted nfs-kernel-server INITRD Generated ltsp.img: -rw-r--r-- 1 root root 171520 Feb 20 18:41 /srv/tftp/ltsp/ltsp.img
Konfigurace LTSP
Konfigurace se provádí v souboru /etc/ltsp/ltsp.conf
. Ten je rozdělen na sekce [server]
, [common]
, [clients]
a případně další týkající se jednotlivých klientů nebo monitorů (viz http://ltsp.org/man/ltsp.conf/).
Úpravy provedené u nás
- Sekce
[server]
NFS_HOME=1
Namountuje adresář
/home
, takže vše, co uživatelé zapíší na klientovi do svého adresáře, se zapisuje na disk na chomském.OMIT_FUNCTIONS="remove_printers"
Nutné pro to, abychom viděli tiskárny.
- Sekce
[clients]
IMAGE_TO_RAM=0
Image se stále čte z disku, šetří se tím paměť.
REMOTEAPPS="users-admin mate-about-me seamonkey emacs google-chrome google-chrome-stable"
Tyto aplikace běží na serveru. Šetří se tím prostředky klienta.
# LOCAL_SWAP=0
Tímhle se taky šetří prostředky, ale když nemáme lokální disk, je to jedno.
FSTAB_CNK="ada:/mnt/cnk-cephfs /cnk nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0" FSTAB_HOME="server:/home /home nfs defaults,nolock 0 0" FSTAB_STORE="server:/store /store nfs defaults,nolock 0 0" FSTAB_STORE2="server:/store2 /store2 nfs defaults,nolock 0 0" FSTAB_SYN2020="server:/usr/local/syn2020 /usr/local/syn2020 nfs defaults,nolock 0 0"
Tyto řádky se přidají do lokálního
/etc/fstab
a namountují se příslušné disky. Data zapsaná na tyto disky jsou tak zachována.CUPS_SERVER="ignore"
Ignorujeme CUPS server na LTSP serveru, ale zkopírujeme tiskárny do lokálního LTSP serveru.
HOSTS_JAKOBSON="78.128.204.173 jakobson" HOSTS_JAKOBSON723="192.168.128.1 jakobson.723" HOSTS_GRIMM="78.128.204.175 grimm" HOSTS_GRIMM723="192.168.128.4 grimm.723"
Přidáme tyto adresy do lokálního souboru
/etc/hosts
.HOSTS_KORPUS="195.113.53.66 korpus.cz" HOSTS_FF="195.113.53.2 ff.cuni.cz"
Tyto dvě adresy musíme přidat proto, že DNS server přiřadí jména prohledávaných domén k adrese
127.0.1.1
.POST_INIT_SUDO="sed '/^sudo:/ s/$/,skoumal,jelinek,pavelv/' -i /etc/group" POST_INIT_EPO="sed '/^epoptes:/ s/$/,skoumal,jelinek/' -i /etc/group" POST_INIT_AUDIO="sed '/^audio:/ s/$/,skoumal,jelinek,petkevic,rosen,krivan,hnatkova,sindlerova/' -i /etc/group" POST_INIT_PULSE="sed '/^pulse:/ s/$/skoumal,jelinek,petkevic,rosen,krivan,hnatkova,sindlerova/' -i /etc/group" POST_INIT_PULSEACCESS="sed '/^pulse-access:/ s/$/skoumal,jelinek,petkevic,rosen,krivan,hnatkova,sindlerova/' -i /etc/group"
Takto upravujeme lokální soubor '/etc/group'.
LIGHTDM_CONF="greeter-setup-script=/usr/bin/numlockx on"
Tímhle zařídíme zapnutý Numlock při přihlašování.
PASSWORDS_ANY="local-admin/VmVsZTQsOG4K"
umožní přihlásit se uživateli
local-admin
z klienta. Heslo se získá pomocí příkazubase64
:base64 heslo_v_plain_textu Ctrl-D
Zvuk
Měl by fungovat “sám od sebe”, jenom je třeba přidat všechny uživatele do skupiny audio
, pulse
a pulse-access
(viz výše). Několik programů, které nám vypíšou zvukové karty, umožní mixáž zvuku a otestují výstup:
aplay -l
Co vidí ALSA.
pacmd list-cards
Co vidí pulseaudio.
alsamixer
pulsemixer
speaker-test -t wav
Pokud vše funguje, všechno nastavíme a otestujeme v Sound Settings.
Pokud zvuk nefunguje, je třeba zkontrolovat konfigurační soubory, hlavně jestli uživatelé u sebe nemají nějaké staré šunky.