Ubuntu-LTSP
LTSP server
Подбор железа
У меня сервер для толстых клиентов(FAT client) построен на ASUS P5KPL-VM, Intel Core2 Duo E4500, 4Gb RAM (2x 2Gb DDR2 Synchronous 800 MHz), md raid 1 250Gb (2x WDC WD2500YS-18S), тоесть на том что не жалко. Нужно понимать что вся инсталяция на текущий момент занимет около 14Gb, а пользовательские домашние каталоги находятся на отдельном nfs сервере.
Влияние железа LTSP сервера на работу:
- на скорость сборки нового образа для клиентских ОС - процесор, скорость диска
- на скорость загрузки клиентских ОС - скорость диска, сеть.
Сторонний nfs сервер - достался в качестве легаси от предедущего решения, сейчас все хомяки расположенные на нем являются хомяками пользователей установленой там ОС, что доставляет некоторый дискомфорт при добавлении новых пользователей (нужно соблюдать uid и guid пользователей на nfs и LTSP серверах в противном случае 100% провал).
Если будите строить схему с сторонним nfs сервером то монтируйте на LTSP сервер каталог отличный от /home(nfs сервера), например /srv/nfs/homes - в будущем избавит от лишних телодвижений.
lshw с nfs сервера:
- ASUST M4A78LT-M LX
- AMD Phenom II X2 555
- 8GiB RAM (2x 4Gb DIMM Synchronous 1333 MHz)
- md raid 10 500Gb (4х WDC WD5003ABYX-0)
Тут на производительность клиентских ОС в осноном влияют скорость диска и сети.
Установка
Устанавливаем
sudo apt-get install ltsp-server-standalone
External DHCP server
if you have external dhcp server you maust add several lines to your dhspd.conf
shared-network eth0 { # your network interface subnet 10.11.25.0 netmask 255.255.255.0 { # your subnet # # other setings # # LTSP TFTP next-server 10.11.25.111; # ltsp-server ip option root-path "/opt/ltsp/amd64"; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "/ltsp/amd64/pxelinux.0"; } else { filename "/ltsp/amd64/nbi.img"; } # # other setings # }
if you buil i386 client change amd64 on i386 path
ltsp.conf
/var/lib/tftpboot/ltsp/amd64/lts.conf
[Default]
LTSP_FATCLIENT = True
SCREEN_02 = shell
SCREEN_07 = ldm
# mount /home from the server
FSTAB_0 = "SERVER:/storage/homes /home nfs noatime,nodiratime,proto=tcp,nfsvers=3,_netdev 0 0"
LDM_PASSWORD_HASH = true
LDM_THEME = /usr/share/ldm/themes/default
LOCALE = Europe/Kiev
DNS_SERVER = 10.20.25.6 10.35.25.6
SEARCH_DOMAIN = my.domain.1 my.lcal.domain
HOSTNAME_BASE = local-
TIMEZONE = Europe/Kiev
TIMESERVER = 10.20.25.6 10.35.25.6
# Настройки локалей и системного языка
LC_ALL = ru_RU.UTF-8
LANG = ru_RU.UTF-8
LDM_LANGUAGE = ru_RU.UTF_8
# Настройка переключения клавиатуры и хоткеев
XKBLAYOUT = "us,ru,ua"
XKBOPTIONS = "grp:ctrl_shift_toggle,terminate:ctrl_alt_bksp"
X_NUMLOCK = true
KEYTABLE = ru
LDM_NUMLOCK = true
# Настраиваем звук и микрофон
SOUND = True
MIC_VOLUME = 0
CAPTURE_VOLUME = 50
CAPTURE_SWITCH = toggle
# Включаем поддержку SSH
RCFILE_01 = "ssh-keygen -A ; /usr/sbin/sshd"
# Отключаем USB накопители
RCFILE_02 = "mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /ltspadmin"
RCFILE_03 = "rmmod uas"
RCFILE_04 = "rmmod usb_storage"
CUPS_SERVER = 10.20.20.111
KEEP_SYSTEM_SERVICES = cups
# group with enabled usb
[usb-users]
RCFILE_02 = unset
RCFILE_03 = unset
RCFILE_04 = unset
# TEST PC
[1.50.20.25]
LIKE = usb-users
LDM_THEME = /usr/share/ldm/themes/default_17_1280x1024
LDM_DIRECTX = True
#dsa
[1.50.20.26]
HOSTNAME = dsa.local
LDM_THEME = /usr/share/ldm/themes/adamant_full-HD
XRANDR_COMMAND_0 = "xrandr --output VGA-0 --mode 1920x1080 --primary"
XRANDR_COMMAND_1 = "xrandr --output HDMI-0 --mode 1280x1024 --right-of VGA-0"
#dtp
[1.50.20.28]
HOSTNAME = dtp.local
LDM_THEME = /usr/share/ldm/themes/default_full-HD
# secretar
[1.50.20.30]
LIKE = usb-users
HOSTNAME = secretar.local
External home nfs-server
vim /var/lib/tftpboot/ltsp/amd64/lts.conf
# mount /home from the server FSTAB_0 = "EXT-SERVER:/storage/homes /home nfs noatime,nodiratime,proto=tcp,nfsvers=3,_netdev 0 0"
CUPS
Centralized
sudo apt install cups cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original vim /etc/cups/cupsd.conf
edit
admin email ServerAdmin [email protected] listen on Listen 127.0.0.1:631 # existing loopback Listen Listen /var/run/cups/cups.sock # existing socket Listen Listen 192.168.10.250:631 # Listen on the LAN interface, Port 631 (IPP) allow clients <Location /> Order allow,deny Allow @LOCAL # all from localnet </Location> allow admins <Location /admin> Order allow,deny allow from 10.20.20.59 # from ip </Location> admins auth <Location /admin/conf> AuthType Default Require user @SYSTEM # require system user from lpadmin group Order allow,deny allow from 10.20.20.59 </Location>
ltsp.conf
CUPS_SERVER=10.20.20.111 # ltsp-server ip KEEP_SYSTEM_SERVICES=cups
Add cups admin user
usermod -aG lpadmin username
LTSP clietn
TCIN client
FAT client
ltsp-build-client
Ubuntu Mate-desktop
apt-get install software-properties-common python-software-properties apt-add-repository ppa:ubuntu-mate-dev/ppa apt-add-repository ppa:ubuntu-mate-dev/xenial-mate apt-get update && apt-get upgrade apt-get install ubuntu-mate-core ubuntu-mate-desktop --no-install-recommends
transmission
Настраивается пакет toshset (1.76-4) … Настраивается пакет transmission-common (2.84-3ubuntu3) … Настраивается пакет transmission-gtk (2.84-3ubuntu3) … Настраивается пакет ttf-ancient-fonts-symbola (2.59-1) … Настраивается пакет ubuntu-mate-icon-themes (16.04.7) …