The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка, настройка и использование LTSP5 на Debian GNU/Linux 4.0 (ltsp xterm linux diskless tftp gdb)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: ltsp, xterm, linux, diskless, tftp, gdb,  (найти похожие документы)
Автор: ХимТех <chemtech@mail.ru> Date: Mon, 7 Nov 2010 17:02:14 +0000 (UTC) Subject: Установка, настройка и использование LTSP5 на Debian GNU/Linux 4.0 Оригинал: http://omsk.lug.ru/LTSP5 Вступление LTSP (англ. Linux Terminal Server Project) -- пакет дополнений для GNU/Linux, позволяющий подключить большое количество низко-производительных тонких клиентов к Linux-серверу. Приложения выполняются на сервере, получая входные данные от тонкого клиента и отображая результат на его экране. Установка Debian GNU/Linux 4.0 Устанавливаем Debian GNU/Linux 4.0. Ставим все по умолчанию. Установка дополнительного ПО X Window System -- оконная система, которая обеспечивает стандартные инструменты и протоколы для построения графических интерфейсов пользователя. Почти все современные операционные системы поддерживают X Window System, но в основном она закрепилась в UNIX-подобных системах в качестве стандарта "де-факто". X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране, взаимодействие с мышью и клавиатурой. X Window System не определяет деталей интерфейса пользователя -- этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться; разные программы могут использовать совершенно непохожие друг на друга интерфейсы. В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя. В контексте X Window System термины "клиент" и "сервер" имеют непривычное для многих пользователей значение: "сервер" означает локальный дисплей пользователя (дисплейный сервер), а "клиент" -- программу, которая этот дисплей использует (она может выполняться на удалённом компьютере). Устанавливаем X Window System aptitude install x-window-system Необходимо desktop manager (gdm) aptitude install gdm aptitude install libwww-perl aptitude install libx11-protocol-perl Filesystem in Userspace (FUSE) (Файловая система в пользовательском пространстве) -- это модуль для ядер Unix-подобных ОС, с открытым исходным кодом и относящийся к свободному программному обеспечению. Модуль реализован под лиценией GPL и LGPL. Он позвоялет пользователям без привилегий создавать их собственные файловые системы без необходимости писать какой-то код ядра. Это достигается за счёт запуска кода файловой системы в пространстве пользователя, пока модуль FUSE только предоставляет "мост" для актуальных интерфейсов ядра. FUSE была официально перемещена (слита) в главное дерево кода ядра Linux в ядре версии 2.6.14. FUSE особенно полезна для написания виртуальных файловых систем. В отличие от традиционных файловых систем, которые по существу сохраняют информацию для восстанавления данных с диска, действительно виртуальные файловые системы фактически не хранят данные непосредственно. Они действуют как представление, трансляция (перевод) существующей файловой системы или устройства хранения. В принципе, любой ресурс доступный для использования FUSE может быть экспортирован в файловую систему. Смотрите примеры для ознакомления с некоторыми из возможных заявлений. Устанавливаем библиотеку и утилиты FUSE aptitude install fuse-utils libfuse2 Ltsp-server-standalone - этот пакет создает окружение LTSP сервера, включающий DHCP сервер, для загрузки клиентов. Устанавливаем ltsp-server-standalone aptitude install ltsp-server-standalone Создание образа системы для тонкого клиента В компьютерных технологиях тонкий клиент (англ. thin client) -- это компьютер-клиент сети с клиент-серверной архитектурой, который переносит большинство задач по обработке информации на сервер. Таким образом, сервер необходим для нормальной работы тонкого клиента. Этим тонкий клиент отличается от толстого клиента, который, напротив, производит обработку информации независимо от сервера, используя последний в основном лишь для хранения данных. Тонкий клиент в большинстве случаев обладает минимальной аппаратной конфигурацией, иногда -- без жесткого диска. В некоторых конфигурациях системы тонкий клиент загружает операционную систему по сети с сервера, используя протоколы PXE, BOOTP, DHCP, TFTP и Remote Installation Services (RIS). Считаем, что у вас на на системе стоит сервер сетевой установки. ltsp-build-client - скрипт создающий окружение LTSP сервера. Некоторые опции этого скрипта: --mirror - эта опция указывает откуда, будут скачаны пакеты, т.е. указывает репозитарий. В нашем случае мы сделали локальный репозитарий и указали http://127.0.0.1/debian/i386. --component - здесь описанно какие компоненты будут использоваться, можно добавить в репозиторий ветку debian non-free. Мы использовали стандартные ветки main и contrib. --security-mirror - без этой опции скрипт ломиться в интернет к серверу безопастности Debian, но, т.к. у нас нет безлимитного трафика, мы его отключили (использовал параметр none). Если вы хотите использовать обновления безопастности, то замените none на адрес http://security.debian.org/ Делаем образ системы, которую будут загружать тонкие клиенты. ltsp-build-client --mirror http://127.0.0.1/debian/i386 --component main contrib --security-mirror none В конце установки вас просят добавить в /etc/exports " /opt/ltsp *(ro,no_root_squash,async) ", но необходимо еще добавить опцию subtree_check. Настройка экспорта сетевой файловой системы для клиентов Network File System (NFS) -- протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC, Open Network Computing Remote Procedure Call, RFC 1057, RFC 1831). Позволяет подключать (монтировать) удалённые файловые системы через сеть, описан в RFC 1094, RFC 1813, и RFC 3530 Изменяем файл /etc/exports. Этот файл находиться на сервере LTSP. Он отвечает за экспортирование файловой системы NFS. Некоторые опции этого файла: /opt/ltsp/i386 *(ro,no_root_squash,async,subtree_check,soft) Вместо * необходимо указать вашу сетку с тонкими клиентами. ro - опция только для чтения, rw - чтение и запись. no_root_squash - Эта опция пригодна главным образом для бездисковых клиентов. async - асинхронный режим передачи данных subtree_check - активирует дополнительные проверки soft - это режим монтирования. soft - если ваш операция с файловой системой NFS выдало ошибку, то программа будет долго еще пытаться выполнить свою оперцию. Настриваем DHCP сервер DHCP (англ. Dynamic Host Configuration Protocol -- протокол динамической конфигурации узла) -- это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Для этого компьютер обращается к специальному серверу, называемому сервером DHCP. Сетевой администратор может задать диапазон адресов, распределяемых среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве крупных сетей TCP/IP. DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP. Опцию allow booting имеет смысл только если присутствует в описании host и действует только на соответствующий хост. По умолчанию разрешено, в противном случае хост не сможет получать свой адрес и другие параметры. Конфигурация DHCP находиться в /etc/dhcp3/dhcpd.conf option domain-name-servers 192.168.0.1; #option domain-name-servers - эта опция указывает клиенту ДНС-сервер use-host-decl-names on; # Опция use-host-decl-names передает название хоста из настроек DHCP клиенту. # on - передавать, off - не передавать. default-lease-time 86400; #default-lease-time - промежуток времени в секундах, на который выделяется # адрес клиенту, в случае если клиент самостоятельно не указал время использования адреса. max-lease-time 604800; # max-lease-time - максимальный промежуток времени в секундах, на который выделяется адрес клиенту. authoritative; # authoritative - не выдает адресс, который у него в конфиге не описан. not authoritative - выдает адресс. allow booting; # allow booting - Параметр booting сообщает серверу обрабатывать ли запрос конкретного клиента. allow bootp; # allow bootp - разрешает обрабатывать запросы bootp subnet 192.168.0.0 netmask 255.255.255.0 { # subnet - подсеть адресов. Все опции, входящие в эту подсеть, # будут работать только в этой подсети. range 192.168.0.70 192.168.0.100; #range - диапазон адресов filename "/ltsp/i386/pxelinux.0"; #filename - файл, который будет загружаться по умолчанию. next-server 192.168.0.1; #next-server - это tftp сервер, на который напрявляется клиент после DHCP. option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; #broadcast-address - это броадкаст этой сети option routers 192.168.0.1; #routers - указывается шлюз. host pc1 { hardware ethernet 00:40:63:e0:1b:a6; #pc1 - указано название хоста #hardware ethernet - здесь указан MAC адрес нашего клиента fixed-address 192.168.0.71; #fixed-address - адрес, который DHCP выдает клиенту. } } Очень подробно рассказывается о настройке DHCP сервер здесь: http://www.opennet.dev/man.shtml?topic=dhcpd.conf Настраиваем TFTP сервер /etc/inetd.conf #:BOOT: TFTP service is provided primarily for booting. # Most sites # run this only on machines acting as "boot servers." tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd -s /var/lib/tftpboot Параметр udp определяет протокол передачи данных. Вы можете выбрать tcp или udp. Параметр root определяет от какого пользователя запущен tftp. Опция -s определяет, что tftp будет работать в chroot в папке /var/lib/tftpboot Разрешение имен Добавляем в /etc/hosts соответствие pc1 и 192.168.0.71 192.168.0.71 pc1 Т.к. у нас не настроен ДНС-сервер, то необходимо написать в этом файле соответствие между именем хоста и его IP. Настройка загрузка ядра /var/lib/tftpboot/ltsp/pxelinux.cfg/default DEFAULT vmlinuz KERNEL vmlinuz APPEND initrd=initrd.img root=/dev/nfs rw nfsroot=192.168.0.1:/opt/ltsp/i386/ ip=dhcp NFSOPTS="-o nolock,ro,wsize=2048,rsize=2048" Параметр DEFAULT определяет название загружаемого ядра. Параметр KERNEL ядро, которое будет загружаться на клиент. Параметр APPEND опрделяет дополнительные опции, которые будут предоваться ядру. Параметр NFSOPTS опредеяет опции, которые будут передоваться при монтировании NFS с сервера. Конфигурируем GDM GNOME Display Manager или GDM -- графический дисплейный менеджер для X Window System. Эта программа регистрирует пользователей в операционной системе, предлагая им ввести их логин и пароль. GDM также позволяет выбирать графическую среду (сеанс) и локаль (набор языковых и региональных настроек). Экран приветствия GDM может иметь разный вид в зависимости от применённой к нему темы. GDM является частью рабочей среды GNOME и распространяется свободно на условиях GNU General Public License /etc/gdm/gdm.conf [xdmcp] Enable=true #Enable - Включение XDMCP. True - включает, False - выключает. HonorIndirect=0 MaxPending=4 MaxPendingIndirect=4 MaxSessions=16 MaxWait=30 MaxWaitIndirect=30 Port=177 #Port - порт, который слушает GDM .... Настойка основного кофигурационного файла LTSP /opt/ltsp/i386/etc/lts.conf [Default] XSERVER = auto # XSERVER - тип видеокарты, которая находиться # в большинстве ваших клиентов. SERVER = 192.168.0.1 # SERVER - IP вашего LTSP сервера X_MOUSE_PROTOCOL = "PS/2" # X_MOUSE_PROTOCOL - протокол для общения с мышкой. # Для включения скроллига на мышке PS/2 с колесом # необходимо изменить протокол с PS/2 на ImPS/2. MODULE_01 = "sb irq=10 io=0x300" X_MOUSE_DEVICE = "/dev/psaux" X_MOUSE_RESOLUTION = 400 X_MOUSE_BUTTONS = 3 USE_XFS = N LOCAL_APPS = Y RUNLEVEL = 5 MODULE_02 = "usb-storage" MODULE_03 = "sd_mod" LOCALDEV = Y SCREEN_07 = startx XkbModel = pc105 XkbLayout = us,ru(winkeys) XkbOptions = "grp:alt_shift_toggle,grp_led:scroll" # Example of specifying X settings for a workstation # [ws001] LIKE = ws002 XSERVER = auto LOCAL_APPS = N USE_NFS_SWAP = Y SWAPFILE_SIZE = 48m RUNLEVEL = 5 [ws002] LIKE = ws004 XSERVER = XF86_SVGA LOCAL_APPS = N USE_NFS_SWAP = Y SWAPFILE_SIZE = 64m RUNLEVEL = 3 # Example of a workstation configured to load some modules # # [ws001] # MODULE_01 = agpgart.o # This is for i810 video # MODULE_02 = uart401.o # MODULE_03 = sb.o io=0x220 irq=5 dma=1 # MODULE_04 = opl3.o # Example of ws001 configured for local apps # #[ws001] # LOCAL_APPS = Y # LOCAL_WM = Y # NIS_DOMAIN = ltsp # NIS_SERVER = 192.168.0.254 # Example of a serial printer attached to /dev/ttyS1 on workstation ws001 # # [ws001] # PRINTER_0_DEVICE = /dev/ttyS1 # PRINTER_0_TYPE = S # P-Parallel, S-Serial # PRINTER_0_PORT = 9100 # tcp/ip port: defaults to 9100 # PRINTER_0_SPEED = 9600 # baud rate: defaults to 9600 # PRINTER_0_FLOWCTRL = S # Flow control: S-Software (XON/XOFF), # # H-Hardware (CTS/RTS) # PRINTER_0_PARITY = N # Parity: N-None, E-Even, O-Odd # (defaults to 'N') # PRINTER_0_DATABITS = 8 # Databits: 5,6,7,8 (defaults to 8) Конфигурирование fstab Добавляем в /opt/ltsp/i386/etc/fstab. Отсутствующие папки создаем. none /proc proc defaults 0 0 none /var/cache/man tmpfs defaults 0 0 none /var/lib/xkb tmpfs defaults 0 0 none /var/lock tmpfs defaults 0 0 none /var/run tmpfs defaults 0 0 none /var/log tmpfs defaults 0 0 none /var/spool tmpfs defaults 0 0 none /var/tmp tmpfs defaults 0 0 none /tmp tmpfs defaults 0 0 none /var/lib/discover tmpfs defaults 0 0 none /etc/hotplug/run tmpfs defaults 0 0 none /var/lib/nfs tmpfs defaults 0 0 none /etc/network/run tmpfs defaults 0 0 Автомонтирование флешек Чтобы автоматом монтировались флешки, необходимо сделать следущее. Заходим в /opt/ltsp/i386/ и устанавливаем там ltspfsd, берем его отсюда: http://pkg-ltsp.alioth.debian.org/debian/pool/main/l/ltspfs/ chroot /opt/ltsp/i386/ dpkg -i ltspfsd_0.4.3+debian2_i386.deb Устанавливаем на сервере ltspfs http://pkg-ltsp.alioth.debian.org/debian/pool/main/l/ltspfs/ dpkg -i ltspfs_0.4.3+debian2_i386.deb В конфиге /opt/ltsp/i386/etc/lts.conf необходимо изменить и дописать следующие строки. LOCALDEV = True SCREEN_07 = ldm Но минус данного решения в том, что весь трафик между клиентом и сервером шифруется, в следствии чего, графика подтормаживает. Из плюсов данного решения можно отметить то, что все данные между клиентом и сервером недоступны для перехвата. Содержимое доступно в соответствии с GNU Free Documentation License.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, Вася (??), 22:16, 10/11/2015 [ответить]  
  • +/
    не понял. опции --mirror не заметил в ltsp5.0
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру