LTSP/BuildYourself: различия между версиями
Ilis (обсуждение | вклад) (→Версии) |
Ilis (обсуждение | вклад) |
||
Строка 75: | Строка 75: | ||
=== Сборка LTSP chroot === | === Сборка LTSP chroot === | ||
Для сборки чрута из пакетов требуется: | Для сборки чрута из пакетов требуется: | ||
* [OLD] проверить, установлен ли пакет | * [OLD] проверить, установлен ли пакет {{pkg|hasher}}; | ||
* отредактировать (при необходимости): | * отредактировать (при необходимости): | ||
** | ** {{path|/etc/ltsp/update-kernels.conf}} (скорее всего, для standalone-сервера рациональнее будет {{term|NFSROOT_OPTS=tcp}} вместо {{term|udp}} (по умолчанию); {{term|tcp}}, к сожалению, не работает (?) в контейнере OpenVZ); | ||
** | ** {{path|/etc/ltsp/ltsp-update-kernels.conf}}; | ||
** | ** {{path|/etc/ltsp/ltsp-build-client.conf}}: | ||
*** | *** {{term|ARCH}}, {{term|BASE}}, {{term|MIRROR}} (скорее всего, настроить на локальный репозиторий) | ||
***: | ***: если в {{term|MIRROR}} указать полную строчку из {{path|sources.list}}, начинающуюся с <tt>rpm </tt>, то реконструкция с использованием {{term|ARCH}} и {{term|COMPONENTS}} производиться не будет, а строчка попадёт «как есть» | ||
*** | *** {{term|ROOTPASS}} ({{term|prompt}} — спросить при генерации); | ||
*** возможно, | *** возможно, {{term|EXTRA_MIRROR}} (например, {{term|EXTRA_MIRROR="file:/var/ftp/ltsp5 i586 ltsp5;file:/var/ftp/ltsp5 noarch ltsp5"}}); | ||
*** возможно, | *** возможно, {{term|KERNEL}} (по умолчанию — {{term|kernel-image-std-smp}}, можно {{term|std-smp}}); | ||
*** возможно, | *** возможно, {{term|KERNEL_MODULES}} (субпакеты через пробел; в конфиге по умолчанию {{term|alsa}}) | ||
*** | *** {{term|CHROOT_IMAGE}} (если используется заранее приготовленный с помощью {{term|spt}} и {{term|spt-profiles-ltsp-root}} (или другим способом) корень). | ||
* Удостовериться, что | * Удостовериться, что репозиторий для архитектуры {{term|$ARCH}} (в том числе и {{term|noarch}}) доступен. | ||
* Выполнить | * Выполнить {{cmd|ltsp-build-client}} | ||
** [OLD] Для успешной сборки может быть необходимо поправить | ** [OLD] Для успешной сборки может быть необходимо поправить {{path|/usr/share/ltsp/profile/ltsp-root/packages}} из пакета {{pkg|spt-profiles-ltsp-root}}, добавив туда {{term|which, xinitrc, libhw-tools}} | ||
* [OLD] Проверить права доступа на чтение в | * [OLD] Проверить права доступа на чтение в {{path|/var/lib/tftpboot/ltsp5}} | ||
* [OLD] Возможно, поправить | * [OLD] Возможно, поправить {{path|/etc/exports}} на предмет лишнего пробела, иначе unfs3 не даст клиенту подмонтировать корень | ||
*: (NB: я такого не наблюдаю, но вообще-то в {{pkg|unfs3-0.9.18}} добавлена опция проверки корректности конфигурации и она теперь используется в инитскрипте; с {{pkg|0.9.17}} и {{pkg|ltsp5-server-5.0-alt0.44}} у меня тоже всё в порядке — 2007-09-11 mike@) | |||
=== Запуск === | === Запуск === |
Версия от 08:55, 21 ноября 2008
Самостоятельная установка LTSP на ALT Linux
Подразумевается использование пакетов сборки ALT, например, из 4.0/branch.
Версии
Изложение последний раз проверено 2007-09-11 mike@ на следующих версиях:
- ltsp5-server-kde-5.0-alt0.12
- ltsp-utils-0.25.0-alt0.3
- ltspswapd-0-alt4.20070117 (начиная с ltsp5-server-5.0-alt0.52 можно (желательно?) использовать {{{1}}})
- ltspfs-0.3-alt3.20070117.1
- ltsp5-server-5.0-alt0.44
- ltsp5-server-basic-5.0-alt0.12
- ltsp5-server-enhanced-5.0-alt0.12
- spt-profiles-ltsp-root-0.0.8-alt1 (начиная с ltsp5-server-5.0-alt0.45 не требуется)
При более старых сборках первая рекомендация — постараться загрузить новые, поскольку исправления сейчас касаются именно того, что описывается в этом документе! Иначе по крайней мере обращайте внимание на места, помеченные [OLD].
При более новых, чем 5.1.1-alt0.1 — произошло переименование пакетов из ltsp5-* в ltsp-* (это несущественно, поскольку Provides: расставлены) и соответственно каталогов — из ltsp5/ в ltsp/ (вот это может оказаться важным при неожиданной проблеме). По состоянию на 2008-04-21 это описывает пакеты и в Sisyphus, и в 4.0/branch.
Для 4.1/branch известна как минимум одна серьёзная проблема — alterator-backend-x11 не работает без HAL. По состоянию на 2008-11-20 она не решалась (вероятно, будет решаться в рамках 5.0/branch).
Настройка сервера
- Установить пакет ltsp5-server-{base,enhanced,light,kde} (в base и enhanced — twm, в light — icewm)
- Настроить dhcp; можно взять рабочую заготовку:
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.BAK cp -a /etc/ltsp/dhcpd.conf /etc/dhcp/
- Настроить tftp-server: дописать в /etc/xinetd.d/tftp рядом с остальными строчку only_from = 192.168.0.0/24 (или другую сеть, на которую был настроен DHCP-сервер) и
chkconfig tftp on chkconfig xinetd on
- [OLD] Настроить ltspswapd (при необходимости свопа для бездисковых станций; настройки по умолчанию обычно достаточны): /etc/sysconfig/ltspswapd
- Настроить nbd-server (при использовании nbd-server вместо устаревшего (?) ltspswapd):
- nbd-server >= 2.9.7-alt3, ltsp-server >= 5.0-alt0.52
- можно взять за основу /etc/ltsp/nbd-server.config — скопировать его в /etc/nbd-server/config; размер свопа устанавливается (в порядке уменьшения приоритета): вторым параметром команды в prerun=<...> в /etc/nbd-server/config, SWAP_SIZE в /etc/ltsp/clients.conf, 128М — по умолчанию (в скрипте /usr/share/ltsp/skripts/mkswapfile)
- по умолчанию swap удаляется при корректном закрытии клиента и создаётся (если ещё не существует) при старте; это поведение можно изменить в /etc/nbd-server/config заданием параметров prerun/postrun
- chkkonfig nbd on; service nbd start
- Настроить DM:
- выполнить chkconfig dm on
- для kdm: в секции [Xdmcp] файла /etc/X11/kdm/kdmrc обеспечить Enable=true
- в случае неиспользования локальной X-сессии на сервере закомментировать в /etc/X11/xdm/Xservers строку
:0 local /etc/X11/xinit/xserverrc
- Разрешить удалённый доступ к portmap (закомментировать PORTMAP_ARGS="-l" в /etc/sysconfig/portmap) и обеспечить запуск сервиса:
chkconfig portmap on
- Разрешить удалённый доступ к xfs (значение ARGS в /etc/sysconfig/xfs должно быть примерно таким: ARGS="-daemon -user xfs") (для ltsp-client >= 5.0-alt0.49 xfs необязателен)
профиль
Для справки можно подсматривать в профиль, по которому собирался дистрибутив ALT Linux 4.0 Terminal, и фрагмент инсталятора. Оттуда видно, что, скорее всего, будет достаточно установить в VE пакет ltsp5-server-{base,enhanced,light,kde} и все, что он вытащит по зависимостям, а также выполнить действия по мотивам написанного в скрипте настройки.
dnsmasq
Роль dhcp/tftp/dns прекрасно исполняет dnsmasq со следующим конфигом:
bind-interfaces interface=lan interface=lo resolv-file=/etc/resolv.conf.dnsmasq strict-order expand-hosts domain=mydomain.com dhcp-range=192.168.0.100,192.168.0.199 enable-tftp tftp-root=/diskless/altsp/boot/i586 dhcp-boot=pxelinux.0
Сборка LTSP chroot
Для сборки чрута из пакетов требуется:
- [OLD] проверить, установлен ли пакет hasher;
- отредактировать (при необходимости):
- /etc/ltsp/update-kernels.conf (скорее всего, для standalone-сервера рациональнее будет {{{1}}} вместо udp (по умолчанию); tcp, к сожалению, не работает (?) в контейнере OpenVZ);
- /etc/ltsp/ltsp-update-kernels.conf;
- /etc/ltsp/ltsp-build-client.conf:
- ARCH, BASE, MIRROR (скорее всего, настроить на локальный репозиторий)
- если в MIRROR указать полную строчку из sources.list, начинающуюся с rpm , то реконструкция с использованием ARCH и COMPONENTS производиться не будет, а строчка попадёт «как есть»
- ROOTPASS (prompt — спросить при генерации);
- возможно, EXTRA_MIRROR (например, {{{1}}});
- возможно, KERNEL (по умолчанию — kernel-image-std-smp, можно std-smp);
- возможно, KERNEL_MODULES (субпакеты через пробел; в конфиге по умолчанию alsa)
- CHROOT_IMAGE (если используется заранее приготовленный с помощью spt и spt-profiles-ltsp-root (или другим способом) корень).
- ARCH, BASE, MIRROR (скорее всего, настроить на локальный репозиторий)
- Удостовериться, что репозиторий для архитектуры $ARCH (в том числе и noarch) доступен.
- Выполнить ltsp-build-client
- [OLD] Для успешной сборки может быть необходимо поправить /usr/share/ltsp/profile/ltsp-root/packages из пакета spt-profiles-ltsp-root, добавив туда which, xinitrc, libhw-tools
- [OLD] Проверить права доступа на чтение в /var/lib/tftpboot/ltsp5
- [OLD] Возможно, поправить /etc/exports на предмет лишнего пробела, иначе unfs3 не даст клиенту подмонтировать корень
- (NB: я такого не наблюдаю, но вообще-то в unfs3-0.9.18 добавлена опция проверки корректности конфигурации и она теперь используется в инитскрипте; с 0.9.17 и ltsp5-server-5.0-alt0.44 у меня тоже всё в порядке — 2007-09-11 mike@)
Запуск
- Запустить необходимые сервисы (внимание: проверьте, что настройка dhcpd не пересекается с имеющейся локальной сетью!):
service dhcpd restart service xinetd restart service portmap restart service nfs restart service ltspswapd restart service xfs restart (для ltsp-client >= 5.0-alt0.49 xfs необязателен) service dm restart
- Требуется также обеспечить обратный резолвинг IP клиентов, чтобы избежать таймаутов при отрабатывании dm («крестик на экране») — либо путём настройки DNS на терминальном сервере с обратной зоной для выдаваемых по DHCP адресов, либо хотя бы выполнить нечто вроде (для локального доменного суффикса ltsp):
grep -q ^192.168.0.1 /etc/hosts || echo "192.168.0.1 server server.ltsp" >> /etc/hosts grep -q ^192.168.0.250 /etc/hosts || { for i in `seq 20 250`; do echo "192.168.0.$i ws$i ws$i.ltsp" >> /etc/hosts done } update_chrooted conf
- При потребности в использовании локальных устройств (CD-ROM, флэшки) выполнить:
# вариант "на железе" echo fuse >> /etc/modules modprobe fuse control fusermount public
# вариант "под OpenVZ" # HN: echo fuse >> /etc/modules modprobe fuse vzctl set ltsp5 --devnodes fuse:rw --save # VE, которое --name ltsp5: control fusermount public