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

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

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

Комментарии (10)


  1. UnnamedUA
    01.09.2019 19:33

    без линка на гитхаб, с репой скрипта который это все качает, фиксит и ставит — «статья» не завершена)


    1. began-87 Автор
      01.09.2019 19:48

      Доброго времени суток. Честно скрипт даже не пробовали писать, все ставил руками и пакеты искал через поиск. Буду даже рад каким либо подсказкам и советам.


  1. justhabrauser
    02.09.2019 00:20
    +1

    Мда…
    1. Сюда не пытались заглянуть?
    2. Ставить пакеты от CentOS6 в CentOS7 — идея так себе, мягко говоря. Лучше бы пересобрать.


  1. s_korobeiko
    02.09.2019 07:28

    Если и использовать чей-то репозиторий, хоть и под c6, то лучше это и оформить в виде файла репы например /etc/yum.repos.d/ltsp5.repo

    [ltsp5]
    name=ltsp5 - $basearch
    baseurl=http://www.awale.qc.ca/CentOS/ltsp5/el6/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=http://www.awale.qc.ca/CentOS/ltsp5/RPM-GPG-KEY-ltsp
    и yum install ltsp-server


    1. began-87 Автор
      02.09.2019 07:29

      Спасибо большое. Постараюсь на днях пройти еще раз шаги и поправить статью.


      1. zCooler
        02.09.2019 16:23

        Ну вообще мейнтейнер данной репы позаботился о том, чтоб не надо было руками ставить пакеты.
        Как бы вот: awale.qc.ca/CentOS/noarch/awale-0.0.1-1.el6_9.noarch.rpm
        Что-то мне подсказывает, что после установки данного пакета, elrepo-release проблемы с зависимостями пропадут, и всё станет с помощью одной команды.


        1. began-87 Автор
          02.09.2019 16:52

          Спасибо большое. Теперь буду знать.


  1. take
    03.09.2019 12:53

    А как планируется использовать LTSP? И почему Центось?


    1. began-87 Автор
      03.09.2019 14:22

      LTSP для работы внутри офиса. Центось — как наиболее привычная и самая распространенная у нас на серверах.
      Сейчас пока находимся в стадии тестирования всей этой разработки. Постараюсь отписываться по мере возможности о ходе и применении. Правда приходится пользователей переучивать с win и пока что испытываем проблемы с работой 1С.


      1. take
        03.09.2019 18:32

        То, что вы выбрали «наиболее распространненую у вас ОСь на серверах» — это хорошо, правильно, но для десктопа это спорное решение. Если центось есть тестовая площадка (нынче) серверных RHEL'ов, то таковой площадкой для десктопа является Fedora. В общем, это вопрос обновлений и наличия свежих пакетов в репах.