[Из песочницы] 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
и получаем огромный список пакетов которые требуются для сервера.
В этот момент я, честно хотел все бросить, но стало интересно: «взлетит» или нет.
Ок. Смотрим список пакетов:
- bridge-utils
- dhcp
- dialog
- fuse
- fuse-devel
- fuse-libs
- ldm
- ldminfod
- lsb
- ltspfs
- mock
- nfs-utils
- perl (NetAddr: IP)
- squashfs-tools
- tftp-server
- xinetd
- 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
И снова куча зависимостей которых нет. Вот список:
- libX11.so
- libXext.so
- libatk-1.0.so
- libcairo.so.2
- libfontconfig.so.1
- libgdk-x11–2.0.so
- libgdk_pixbuf-2.0.so
- libgtk-x11–2.0.so
- libpango-1.0.so
- libpangocairo-1.0.so
- libpangoft.-1.0.so
- 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
И тут снова ошибка. Куча зависимостей которые нужно разрешить.
- createrepo
- pigz
- python (abi)
- python-decoratortools
- usermode
- 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
наконец-то осталось всего
- perl (NetAddr: IP)
- 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.
Ну вот в принципе и все. Настройка сервера на этом закончена. Спасибо за внимание.