LTSP/BuildYourself: различия между версиями

Материал из ALT Linux Wiki
(Imported from freesource.info)
 
Нет описания правки
Строка 1: Строка 1:
[[Категория:LTSP]]
{{Викифицировать}}
== Самостоятельная установка LTSP на ALT Linux ==
== Самостоятельная установка LTSP на ALT Linux ==
Подразумевается использование пакетов сборки ALT, например, из 4.0/branch.
Подразумевается использование пакетов сборки ALT, например, из 4.0/branch.
Строка 15: Строка 18:
spt-profiles-ltsp-root-0.0.8-alt1 (начиная с ltsp5-server-5.0-alt0.45 не требуется)
spt-profiles-ltsp-root-0.0.8-alt1 (начиная с ltsp5-server-5.0-alt0.45 не требуется)


При более старых сборках первая рекомендация -- постараться загрузить новые, поскольку исправления сейчас касаются именно того, что описывается в этом документе! Иначе по крайней мере обращайте внимание на места, помеченные [OLD].
При более старых сборках первая рекомендация — постараться загрузить новые, поскольку исправления сейчас касаются именно того, что описывается в этом документе! Иначе по крайней мере обращайте внимание на места, помеченные [OLD].


При более новых, чем 5.1.1-alt0.1 -- произошло переименование пакетов из <tt>ltsp5-*</tt> в <tt>ltsp-*</tt> (это несущественно, поскольку <tt>Provides:</tt> расставлены) и соответственно каталогов -- из <tt>ltsp5/</tt> в <tt>ltsp/</tt> (вот это может оказаться важным при неожиданной проблеме). По состоянию на 2008-04-21 это описывает пакеты и в Sisyphus, и в 4.0/branch.
При более новых, чем 5.1.1-alt0.1 — произошло переименование пакетов из <tt>ltsp5-*</tt> в <tt>ltsp-*</tt> (это несущественно, поскольку <tt>Provides:</tt> расставлены) и соответственно каталогов — из <tt>ltsp5/</tt> в <tt>ltsp/</tt> (вот это может оказаться важным при неожиданной проблеме). По состоянию на 2008-04-21 это описывает пакеты и в Sisyphus, и в 4.0/branch.


=== Настройка сервера ===
=== Настройка сервера ===


* Установить пакет <tt>ltsp5-server-</tt>{<tt>base</tt>,<tt>enhanced</tt>,<tt>light</tt>,<tt>kde</tt>} (в <tt>base</tt> и <tt>enhanced</tt> <tt>twm</tt>, в <tt>light</tt> <tt>icewm</tt>)
* Установить пакет <tt>ltsp5-server-</tt>{<tt>base</tt>,<tt>enhanced</tt>,<tt>light</tt>,<tt>kde</tt>} (в <tt>base</tt> и <tt>enhanced</tt> — <tt>twm</tt>, в <tt>light</tt> — <tt>icewm</tt>)
* Настроить <tt>dhcp</tt>; можно взять рабочую заготовку:
* Настроить <tt>dhcp</tt>; можно взять рабочую заготовку:
<pre>mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.BAK
<pre>mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.BAK
Строка 31: Строка 34:
* Настроить <tt>nbd-server</tt> (при использовании nbd-server вместо устаревшего (?) ltspswapd):
* Настроить <tt>nbd-server</tt> (при использовании nbd-server вместо устаревшего (?) ltspswapd):
** nbd-server >= 2.9.7-alt3, ltsp-server >= 5.0-alt0.52
** 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)
** можно взять за основу /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
** по умолчанию swap удаляется при корректном закрытии клиента и создаётся (если ещё не существует) при старте; это поведение можно изменить в /etc/nbd-server/config заданием параметров prerun/postrun
** chkkonfig nbd on; service nbd start
** chkkonfig nbd on; service nbd start
Строка 46: Строка 49:
Для сборки чрута из пакетов требуется:
Для сборки чрута из пакетов требуется:
* [OLD] проверить, установлен ли пакет <tt>hasher</tt>;
* [OLD] проверить, установлен ли пакет <tt>hasher</tt>;
* отредактировать (при необходимости):
* отредактировать (при необходимости):
** <tt>/etc/ltsp/update-kernels.conf</tt> (скорее всего, для standalone-сервера рациональнее будет <tt>NFSROOT_OPTS=tcp</tt> вместо <tt>udp</tt> (по умолчанию); <tt>tcp</tt>, к сожалению, не работает (?) в контейнере OpenVZ);
** <tt>/etc/ltsp/update-kernels.conf</tt> (скорее всего, для standalone-сервера рациональнее будет <tt>NFSROOT_OPTS=tcp</tt> вместо <tt>udp</tt> (по умолчанию); <tt>tcp</tt>, к сожалению, не работает (?) в контейнере OpenVZ);
** <tt>/etc/ltsp/ltsp-update-kernels.conf</tt>;
** <tt>/etc/ltsp/ltsp-update-kernels.conf</tt>;
** <tt>/etc/ltsp/ltsp-build-client.conf</tt>:
** <tt>/etc/ltsp/ltsp-build-client.conf</tt>:
*** <tt>ARCH</tt>, <tt>BASE</tt>, <tt>MIRROR</tt> (скорее всего, настроить на локальный репозиторий)
*** <tt>ARCH</tt>, <tt>BASE</tt>, <tt>MIRROR</tt> (скорее всего, настроить на локальный репозиторий)
:::''если в <tt>MIRROR</tt> указать полную строчку из sources.list, начинающуюся с <tt>rpm </tt>, то реконструкция с использованием <tt>ARCH</tt> и <tt>COMPONENTS</tt> производиться не будет, а строчка попадёт "как есть"''
::: ''если в <tt>MIRROR</tt> указать полную строчку из sources.list, начинающуюся с <tt>rpm </tt>, то реконструкция с использованием <tt>ARCH</tt> и <tt>COMPONENTS</tt> производиться не будет, а строчка попадёт «как есть»''
*** <tt>ROOTPASS</tt> (<tt>prompt</tt> спросить при генерации);
*** <tt>ROOTPASS</tt> (<tt>prompt</tt> — спросить при генерации);
*** возможно, <tt>EXTRA_MIRROR</tt> (например, <tt>EXTRA_MIRROR="file:/var/ftp/ltsp5 i586 ltsp5;file:/var/ftp/ltsp5 noarch ltsp5"</tt>);
*** возможно, <tt>EXTRA_MIRROR</tt> (например, <tt>EXTRA_MIRROR="file:/var/ftp/ltsp5 i586 ltsp5;file:/var/ftp/ltsp5 noarch ltsp5"</tt>);
*** возможно, <tt>KERNEL</tt> (по умолчанию -- "kernel-image-std-smp", можно "std-smp");
*** возможно, <tt>KERNEL</tt> (по умолчанию — «kernel-image-std-smp», можно «std-smp»);
*** возможно, <tt>KERNEL_MODULES</tt> (субпакеты через пробел; в конфиге по умолчанию "alsa")
*** возможно, <tt>KERNEL_MODULES</tt> (субпакеты через пробел; в конфиге по умолчанию «alsa»)
*** <tt>CHROOT_IMAGE</tt> (если используется заранее приготовленный с помощью <tt>spt</tt> и <tt>spt-profiles-ltsp-root</tt> (или другим способом) корень).  
*** <tt>CHROOT_IMAGE</tt> (если используется заранее приготовленный с помощью <tt>spt</tt> и <tt>spt-profiles-ltsp-root</tt> (или другим способом) корень).
* Удостовериться, что репозитарий для архитектуры <tt>$ARCH</tt> (в т.ч. и <tt>noarch</tt>) доступен.
* Удостовериться, что репозитарий для архитектуры <tt>$ARCH</tt> (в том числе и <tt>noarch</tt>) доступен.
* Выполнить <tt>ltsp-build-client</tt>
* Выполнить <tt>ltsp-build-client</tt>
** [OLD] Для успешной сборки может быть необходимо поправить <tt>/usr/share/ltsp/profile/ltsp-root/packages</tt> из пакета spt-profiles-ltsp-root, добавив туда which, xinitrc, libhw-tools
** [OLD] Для успешной сборки может быть необходимо поправить <tt>/usr/share/ltsp/profile/ltsp-root/packages</tt> из пакета spt-profiles-ltsp-root, добавив туда which, xinitrc, libhw-tools
* [OLD] Проверить права доступа на чтение в <tt>/var/lib/tftpboot/ltsp5</tt>
* [OLD] Проверить права доступа на чтение в <tt>/var/lib/tftpboot/ltsp5</tt>
* [OLD] Возможно, поправить <tt>/etc/exports</tt> на предмет лишнего пробела, иначе unfs3 не даст клиенту подмонтировать корень ''(NB: я такого не наблюдаю, но вообще-то в unfs3-0.9.18 добавлена опция проверки корректности конфигурации и она теперь используется в инитскрипте; с 0.9.17 и ltsp5-server-5.0-alt0.44 у меня тоже всё в порядке -- 2007-09-11 mike@)''
* [OLD] Возможно, поправить <tt>/etc/exports</tt> на предмет лишнего пробела, иначе unfs3 не даст клиенту подмонтировать корень ''(NB: я такого не наблюдаю, но вообще-то в unfs3-0.9.18 добавлена опция проверки корректности конфигурации и она теперь используется в инитскрипте; с 0.9.17 и ltsp5-server-5.0-alt0.44 у меня тоже всё в порядке — 2007-09-11 mike@)''


=== Запуск ===
=== Запуск ===
Строка 74: Строка 77:
service dm restart</pre>
service dm restart</pre>


* Требуется также обеспечить ''обратный'' резолвинг IP клиентов, чтобы избежать таймаутов при отрабатывании dm ("крестик на экране") -- либо путём настройки DNS на терминальном сервере с обратной зоной для выдаваемых по DHCP адресов, либо хотя бы выполнить нечто вроде (для локального доменного суффикса <tt>ltsp</tt>):
* Требуется также обеспечить ''обратный'' резолвинг IP клиентов, чтобы избежать таймаутов при отрабатывании dm («крестик на экране») — либо путём настройки DNS на терминальном сервере с обратной зоной для выдаваемых по DHCP адресов, либо хотя бы выполнить нечто вроде (для локального доменного суффикса <tt>ltsp</tt>):
<pre>grep -q ^192.168.0.1 /etc/hosts || echo "192.168.0.1 server server.ltsp" >> /etc/hosts
<pre>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 || {
grep -q ^192.168.0.250 /etc/hosts || {

Версия от 05:53, 30 августа 2008

42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.


Самостоятельная установка 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 можно (желательно?) использовать nbd-server >= 2.9.7-alt3) 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.

Настройка сервера

  • Установить пакет 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 необязателен)

Сборка LTSP chroot

Для сборки чрута из пакетов требуется:

  • [OLD] проверить, установлен ли пакет hasher;
  • отредактировать (при необходимости):
    • /etc/ltsp/update-kernels.conf (скорее всего, для standalone-сервера рациональнее будет NFSROOT_OPTS=tcp вместо 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 (например, EXTRA_MIRROR="file:/var/ftp/ltsp5 i586 ltsp5;file:/var/ftp/ltsp5 noarch ltsp5");
      • возможно, KERNEL (по умолчанию — «kernel-image-std-smp», можно «std-smp»);
      • возможно, KERNEL_MODULES (субпакеты через пробел; в конфиге по умолчанию «alsa»)
      • CHROOT_IMAGE (если используется заранее приготовленный с помощью spt и spt-profiles-ltsp-root (или другим способом) корень).
  • Удостовериться, что репозитарий для архитектуры $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