...

воскресенье, 1 сентября 2019 г.

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

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

Вдохновившись статьей 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.

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

Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий