Ubuntu-LTSP: различия между версиями
Sol (обсуждение | вклад) |
Sol (обсуждение | вклад) |
||
| (не показано 17 промежуточных версий этого же участника) | |||
| Строка 2: | Строка 2: | ||
== LTSP server == | == 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) | ||
| + | |||
| + | Тут на производительность клиентских ОС в осноном влияют скорость диска и сети. | ||
| + | |||
| + | === Установка === | ||
| + | |||
| + | Устанавливаем Ubintu Server на подготовленый ПК с стандартного образа. | ||
| + | |||
| + | sudo apt-get install ltsp-server-standalone | ||
| + | |||
| + | ==== Сторонный DHCP сервер ==== | ||
| + | |||
| + | На DHCP сервере добавляем опции для работы PXE boot | ||
| + | shared-network eth0 { # интерфейс который смотрит в локальную сеть | ||
| + | subnet 10.11.25.0 netmask 255.255.255.0 { # сеть на интерфейсе | ||
| + | # | ||
| + | # other setings | ||
| + | # | ||
| + | # LTSP TFTP | ||
| + | next-server 10.11.25.111; #ip LTSP сервера | ||
| + | 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 | ||
| + | # | ||
| + | } | ||
| + | |||
| + | |||
| + | Если планируете использовать клиент i386 нужно сменить пути. | ||
| + | |||
| + | ==== ltsp.conf ==== | ||
| + | |||
| + | Файл конфигурации для клиентских ОС. Поддерживает дефолтные настройки для "всех", персональные (по mac, ip) и груповые. | ||
| + | |||
| + | /var/lib/tftpboot/ltsp/amd64/lts.conf | ||
| + | |||
| + | <syntaxhighlight lang="bash"> | ||
| + | [Default] | ||
| + | LTSP_FATCLIENT = True | ||
| + | |||
| + | SCREEN_02 = shell | ||
| + | SCREEN_07 = ldm | ||
| + | # mount /home from the external nfs 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.local.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 = "/usr/bin/ssh-keygen -A ; /usr/sbin/sshd -D" | ||
| + | |||
| + | # Отключаем 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/default_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 | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ==== 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 === | === CUPS === | ||
| Строка 50: | Строка 194: | ||
=== FAT client === | === FAT client === | ||
| + | ==== ltsp-build-client ==== | ||
==== Ubuntu Mate-desktop ==== | ==== Ubuntu Mate-desktop ==== | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | 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 | ||
| + | </syntaxhighlight> | ||
| − | + | ==== Google Chrome ==== | |
| − | + | <syntaxhighlight lang="bash"> | |
| − | + | wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - | |
| − | + | echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list | |
| − | + | apt-get update | |
| − | + | apt-get install google-chrome-stable | |
| − | + | </syntaxhighlight> | |
| − | |||
| − | + | === Add admin user === | |
| + | === Add user === | ||
| − | + | == Theme == | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | [https://b00merang.weebly.com/windows-10.html Windows 10] | |
==Ссылки== | ==Ссылки== | ||
| Строка 75: | Строка 223: | ||
[http://manpages.ubuntu.com/manpages/wily/man5/lts.conf.5.html ltsp.conf options] | [http://manpages.ubuntu.com/manpages/wily/man5/lts.conf.5.html ltsp.conf options] | ||
| + | |||
| + | [http://www.epoptes.org Epoptes admin tools] | ||
Текущая версия на 14:45, 26 марта 2018
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)
Тут на производительность клиентских ОС в осноном влияют скорость диска и сети.
Установка
Устанавливаем Ubintu Server на подготовленый ПК с стандартного образа.
sudo apt-get install ltsp-server-standalone
Сторонный DHCP сервер
На DHCP сервере добавляем опции для работы PXE boot
shared-network eth0 { # интерфейс который смотрит в локальную сеть
subnet 10.11.25.0 netmask 255.255.255.0 { # сеть на интерфейсе
#
# other setings
#
# LTSP TFTP
next-server 10.11.25.111; #ip LTSP сервера
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
#
}
Если планируете использовать клиент i386 нужно сменить пути.
ltsp.conf
Файл конфигурации для клиентских ОС. Поддерживает дефолтные настройки для "всех", персональные (по mac, ip) и груповые.
/var/lib/tftpboot/ltsp/amd64/lts.conf
[Default]
LTSP_FATCLIENT = True
SCREEN_02 = shell
SCREEN_07 = ldm
# mount /home from the external nfs 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.local.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 = "/usr/bin/ssh-keygen -A ; /usr/sbin/sshd -D"
# Отключаем 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/default_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
Google Chrome
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
apt-get update
apt-get install google-chrome-stable