[Из песочницы] LTSP сервер на базе CentOS7

?v=1

Доброго времени суток, уважаемые жители Хабра.

Вдохновившись статьей LTSP: Терминальный сервер на Linux решил сделать тоже самое только на CentOS 7. Побродив по просторам интернета и найдя лишь обрывки информации, а так же старенькую инструкцию для CentOS 5 взялся проходить все этапы с нуля.
Данная статья предполагает то, что у Вас уже есть в сети настроенные DHCP и TFTP сервера.
Наш подопытный стенд CentOS 7 развернут в VirtualBox (прошу не пинать меня за это, так как под руками оказался только он).

Итак, приступим…

Введя команду

yum install ltsp-server-standalone


с горечью обнаружил что пакета нет ни в одном репозитарии. Были предприняты попытки поменять название пакета на ltsp-server, ltsp, но все безрезультатно. Пакет в репозитариях отсутствует. Ок. Хорошо. Идем на сайт проекта LTSP.org и не обнаруживаем в списке систем CentOS.

Ладно, подумал я. Но руки опускать не стал. Отправившись в Google с простейшим запросом ltsp-server-standalone CentOS 7 и пролистав порядком результатов обнаружился репозитарий awale.qc.ca, в котором нужный нам пакет присутствует.

Обрадовавшись тому, что пакет все таки найден вводим команду

rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ltsp-server-5.4.5-19.20130427.08.el6.x86_64.rpm 


и получаем огромный список пакетов которые требуются для сервера.

В этот момент я, честно хотел все бросить, но стало интересно: «взлетит» или нет.
Ок. Смотрим список пакетов:

Список пакетов
  1. bridge-utils
  2. dhcp
  3. dialog
  4. fuse
  5. fuse-devel
  6. fuse-libs
  7. ldm
  8. ldminfod
  9. lsb
  10. ltspfs
  11. mock
  12. nfs-utils
  13. perl (NetAddr: IP)
  14. squashfs-tools
  15. tftp-server
  16. xinetd
  17. xorg-x11-xdm


Ну хорошо дорогая, приступим.

yum install bridge-utils


Видим и радуемся установившемуся пакету. Затем повтор

rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ltsp-server-5.4.5-19.20130427.08.el6.x86_64.rpm


(это я делал уже для себя, чтобы не забыть какие пакеты нужно доустанавливать), тот же список —, но без первой строчки.

yum install dhcp dialog fuse fuse-devel (fuse-libs установились вместе с ними)


Дальше ввел yum install ldm и опечалился. Пакет вновь отсутствует в репозитрарии. Ок. Хорошо. Берем пакет из репозитария выше:

rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ldm-2.2.11-4.el6.x86_64.rpm


И снова куча зависимостей которых нет. Вот список:

Зависимости
  1. libX11.so
  2. libXext.so
  3. libatk-1.0.so
  4. libcairo.so.2
  5. libfontconfig.so.1
  6. libgdk-x11–2.0.so
  7. libgdk_pixbuf-2.0.so
  8. libgtk-x11–2.0.so
  9. libpango-1.0.so
  10. libpangocairo-1.0.so
  11. libpangoft.-1.0.so
  12. nc


Тут я начал с наиболее простого:

yum install nc

Встали два пакета nmap-ncat и libpcap. Радость моя была безгранична. пробую вводить названия следующих пакетов и мрачнею еще больше — ни одного в репозитариях нет. Хорошо. При помощи Google разбираюсь с зависимостями. Установка продолжается.

yum install lsb (установилось 158 пакетов)
rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ldm-2.2.11-4.el6.x86_64.rpm (ну наконец то встал)
rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ldminfod-2.2.11-4.el6.x86_64.rpm 
rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ltspfs-1.1-7.el6.x86_64.rpm
rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/mock-1.1.32-1.el6.noarch.rpm 


И тут снова ошибка. Куча зависимостей которые нужно разрешить.

Зависимости
  1. createrepo
  2. pigz
  3. python (abi)
  4. python-decoratortools
  5. usermode
  6. yum-utils


Хорошо. Начинаю ставить пакеты. Первым пошел yum-utils.

yum install yum-utils
rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/pigz-2.2.5-1.el6.x86_64.rpm (потому что пакета в репозитарии нет)
yum install perl (оказался установлен)
yum install nfs-utils
yum install mock
yum install tftp-server
yum install xinetd
rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/perl-File-BaseDir-0.03-12.1.noarch.rpm (данного пакета так же не оказалось в репо)
rpm -i https://kojipkgs.fedoraproject.org//packages/xorg-x11-xdm/1.1.11/20.fc31/x86_64/xorg-x11-xdm-debugsource-1.1.11-20.fc31.x86_64.rpm (был найден тут)
yum install libxaw
yum install libXdmcp
yum install xorg-x11-xinit-session
yum install libXxf86misc
rpm -i https://kojipkgs.fedoraproject.org//packages/xorg-x11-xinit/1.4.0/4.fc30/x86_64/xorg-x11-xinit-debugsource-1.4.0-4.fc30.x86_64.rpm


Промучившись со всем этим половину дня (причем большую часть из них в поисках зависимостей и пакетов) по команде.

 rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ltsp-server-5.4.5-19.20130427.08.el6.x86_64.rpm 


наконец-то осталось всего

Две зависимости

  1. perl (NetAddr: IP)
  2. squashfs-tools


Продолжаем двигаться дальше.

yum install squashfs-tools
yum install perl-NetAddr-IP


И наконец-то 

rpm -i http://awale.qc.ca/CentOS/ltsp5/el6/x86_64/ltsp-server-5.4.5-19.20130427.08.el6.x86_64.rpm.


Ура! Ура! Ура! пакет успешно установлен. Наконец то мы можем приступить к сборке наших тонких клиентов.

Запускаем скрипт ltsp-build-client и смотрим как весело бежит полоска прогресса создавая наш образ… И тут, куда же без этого, вылазает ошибка:

Could not retrieve mirrorlist http://ltsp.repo.inode0.com/mirrorlist.php&dist=el6&arch=i386&repo=ltsp error was 12


Ну все понятно — таймаут соединения. Ну что ж, попробуем обойтись без данного репозитария.

Идем по пути /etc/ltsp/mock/ в нем находим файл epel-6-i386.cfg и комментируем все что относится к репозитарию LTSP. Запускаем ltsp-build-client и радостно наблюдаем сборку тонкого клиента.

После сборки в созданный нами образ можно установить все необходимое ПО командой ltsp-chroot, после установки всего необходимого ПО в образ (у каждого набор свой) обновляем образ командой ltsp-image-update.

Ну вот в принципе и все. Настройка сервера на этом закончена. Спасибо за внимание.

© Habrahabr.ru