The OpenNET Project / Index page

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

Руководство по установке и настройке сервера бездисковых терминалов на базе Gentoo (gentoo xterm diskless linux)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: gentoo, xterm, diskless, linux,  (найти похожие документы)
From: xwrs <xwrs@ukr.net.> Newsgroups: email Date: Mon, 15 Jul 2009 14:31:37 +0000 (UTC) Subject: Руководство по установке и настройке сервера бездисковых терминалов на базе Gentoo Данное руководство имеет незаконченное содержание и может дополняться и исправляться каждым, кто считает, что разбирается в настройке LTSP или вообще в Unix системах лучше автора. :) Также это руководство может содержать много ошибок и я рекомендую использовать дополнительную литературу по этой теме. LTSP - Linux Terminal Server Project - пакет программ, который мы будем использовать для создания рабочих мест с использованием бездисковых рабочих станций. Я надеюсь читатель умеет пользоваться bash и консольными утилитами т.к. пункты руководства будут весьма лаконичными. В качестве сервера я использовал: Материнская плата на базе Intel 945G Chipset Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz RAM - 2Gb DDR2, HDD - WD 250Gb встроенное видео Intel 945G Я начну с установки системы. У кого уже таковая имеется - просто пропустите этот раздел. Итак Установка системы 1. Разбивка диска и создание файловых систем Например cfdisk /dev/xxx mke2fs /dev/xxx mkreiserfs /dev/xxx mke2fs -j /dev/xxx 2. Настройка сети Например ifconfig ethX route add default gw xxx.xxx.xxx.xxx echo 'nameserver xxx.xxx.xxx.xxx' > /etc/resolv.conf 3. Монтирование созданных разделов в /mnt/gentoo Например mount /dev/xxx /mnt/gentoo mount /dev/xxx /mnt/gentoo/boot 4. Копирование скачанных с gentoo.org stage3-x86-2008.0.tar.bz2 и portage-latest.tar.bz2 5. Распаковка stage и portage: tar xpf stage3-x86-2008.0.tar.bz2 -С /mnt/gentoo && tar xpf portage-latest.tar.bz2 -C /mnt/gentoo/usr emerge - -sync emerge portage 6. Если есть скачанные портежи, то /etc/init.d/nfs start mount xxx.xxx.xxx.xxx:/usr/portage /mnt/gentoo/usr/portage mount xxx.xxx.xxx.xxx:/usr/portage/distfiles /mnt/gentoo/usr/portage/distfiles При этом на сервере nfs в файле /etc/exports должны присутствовать строки /usr/portage xxx.xxx.xxx.0/24(rw,sync,no_subtree_check,no_root_squash) /usr/portage/distfiles xxx.xxx.xxx.0/24(rw,sync,no_subtree_check,no_root_squash) если их нет, то прописываем и перезапускаем /etc/init.d/nfs restart 7. Монтирование псевдосистем: mount -t proc none /mnt/gentoo/proc mount -o bind /dev/ /mnt/gentoo/dev 8. Смена корневой директории: chroot /mnt/gentoo /bin/bash source /etc/profile env-update 9. Настройка даты cp /usr/share/zoneinfo/(Часовой пояс) /etc/localtime date 061708332009 Ответ системы приблизительно Wed Jun 17 08:33:00 EEST 2009 10. Прописываем в файл /etc/fstab наши файловые системы 11. Генерируем файл текуших монтирований cp /proc/mounts /etc/mtab 12. Добавляем в файл /etc/make.conf строку MAKEOPTS="-j2" #2 - это количество процессоров/ядер-1 #-------------------Мой make.conf-------------------- # These settings were set by the catalyst build script that automatically # built this stage. # Please consult /etc/make.conf.example for a more detailed example. CFLAGS="-O2 -mtune=i686 -pipe" CXXFLAGS="-O2 -mtune=i686 -pipe" # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. CHOST="i486-pc-linux-gnu" MAKEOPTS="-j3" GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ ftp://de-mirror.org/distro/gentoo/ " SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="svg acpi eselect xorg nptl dri dri2 xcomposite jpeg qt4 opengl kde alsa mp3 cups dvd dvdr dvdrw cdr cdrw X hal dbus samba fbcondecor amarok -arts linguas_uk" LINGUAS="uk" VIDEO_CARDS="intel" #source /usr/local/portage/layman/make.conf #------------------------- 13. Устанавливаем исходники ядра и сборщик ядра emerge gentoo-sources genkernel 14. Собираем ядро genkernel all --menuconfig 15. После длительного чаепития установим и настроим загрузчик emerge grub потом grub-install --no-floppy /dev/xxx #где xxx-твой ЖД grub --no-floppy когда появится строка ввода GRUB введи root (hd0,0) может быть и не 0. Смотря как мы разбили ЖД. Когда напишет что-то типа filesystem is ext2 пишем setup (hd0) quit 16. Теперь нужно отредактировать файл /boot/grub/grub.conf под свои нужды. Смотрим свою версию ядра в /boot и прописываем в grub.conf нужные данные. 17. passwd root 18. init 6 С базовой системой закончили. Теперь меняем некоторые настройки (в /etc/conf.d/), ставим нужные проги и драйвера и играем дальше. Делаем полное обновление системы и установку DE (в нашем случае KDE-4.2.4). emerge portage emerge autounmask autounmask kde-base/kdebase-meta-4.2.4 emerge -uDN system && emerge -e system && emerge kdebase-meta На следующий день ( :-) ) если все будет хорошо, получим готовую к работе Gentoo с установленным KDE. Итак в /etc/conf.d/xdm исправляем DISPLAYMANAGER="xdm" на DISPLAYMANAGER="kdm" и делаем /etc/init.d/xdm start Все. Теперь Alt+F2->konsole emerge nfs-utils Потом ставим собственно ltsp autounmask net-misc/ltsp-4.2-r1 USE="rdesktop" emerge ltsp при установке ltsp должны поставиться также необходимые в нашем случае dhcpd,tftpd После окончания установки переходим к конфигурированию Примеры файлов конфигурации: /etc/conf.d/in.tftpd # Path to server files from # Depending on your application you may have to change this. # This is commented out to force you to look at the file! #INTFTPD_PATH="/var/tftp/" INTFTPD_PATH="/tftpboot/" #INTFTPD_PATH="/tftproot/" # For more options, see in.tftpd(8) # -R 4096:32767 solves problems with ARC firmware, and obsoletes # the /proc/sys/net/ipv4/ip_local_port_range hack. # -s causes $INTFTPD_PATH to be the root of the TFTP tree. # -l is passed by the init script in addition to these options. INTFTPD_OPTS="-R 4096:32767 -s ${INTFTPD_PATH}" В /etc/conf.d/dhcpd Вносим свои данные в эти строки DHCPD_CONF="/etc/dhcp/dhcpd.conf" DHCPD_IFACE="eth0" /etc/dhcp/dhcpd.conf default-lease-time 21600; max-lease-time 21600; use-host-decl-names on; ddns-update-style ad-hoc; allow booting; allow bootp; option subnet-mask 255.255.255.0; option broadcast-address 192.168.5.255; option routers 192.168.5.25; option domain-name-servers 192.168.5.25; option log-servers 192.168.5.25; option domain-name "ltsp_server"; option root-path "192.168.5.25:/opt/ltsp-4.2/i386"; shared-network WORKSTATIONS { subnet 192.168.5.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.5.1 192.168.5.24; #host ws006 { #строку выше комментируем, а эту и ниже раскоментируем для статического присвоения IP по mac #hardware ethernet 00:13:8F:1B:2C:C4; #fixed-address 192.168.5.6; filename "pxelinux.0"; next-server 192.168.5.25; #} } } Далее запускаем ltspcfg и следуем инструкциям (генерируем /etc/exports, /ets/hosts) /opt/ltsp-4.2/i386/etc/lts.conf [Default] SERVER = 192.168.5.25 #наш сервер LTSP XSERVER = auto #сервер Х там же где и сервер LTSP X_MOUSE_PROTOCOL = "IMPS/2" #подвид протокола PS/2 для зверей с колесами X_MOUSE_DEVICE = "/dev/psaux #устройство типа мышь X_MOUSE_RESOLUTION = 400 #лошадиные силы мыши X_MOUSE_BUTTONS = 5 #количество конечностей X_MOUSE_EMULATE3BTN = Y #эмуляция 3-й кнопки X_COLOR_DEPTH = 24 #цветастость изображения на терминахах (без этого будет 16 бит) USE_XFS = N #не использовать сервер шрифтов SCREEN_01 = startx #служба запуска Х XkbTypes = "pc105" #тип и XkbModel = "pc105" #модель клавиатуры XkbLayout = "us,ru(winkeys),ua(winkeys)" #раскладки клавиатур терминалов X_MOUSE_EXTRA = "ZAxisMapping 4 5" #"кнопки" мыши отвечающие за скроллер В файле /opt/ltsp-4.2/i386/etc/build_x4_cfg в секцию InputDevice клавиатуры добавляем Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" для переключения раскладки Структура каталога /tftpboot: admin@ltsp_server /tftpboot $ ls -l -rw-r--r-- 1 root root 1594530 лип 10 13:04 bzImage-2.6.17.8-ltsp-1 -rw-r--r-- 1 root root 17191 лип 10 13:04 eb-5.0.9-3c905c-tpo.lzpxe -rw-r--r-- 1 root root 16426 лип 10 13:04 eb-5.0.9-eepro100.lzpxe -rw-r--r-- 1 root root 16054 лип 10 13:04 eb-5.0.9-rtl8139.lzpxe -rw-r--r-- 1 root root 1273978 лип 10 13:04 initramfs.gz -rw-r--r-- 1 root root 11826 лип 10 13:04 pxelinux.0 drwxr-xr-x 2 root root 72 лип 10 17:53 pxelinux.cfg admin@ltsp_server /tftpboot $ ls pxelinux.cfg/ -l -rw-r--r-- 1 root root 101 лип 10 13:04 default На сервере терминалов должны быть настроены и запущены nfs dhcpd in.tfdpd xdm Я ниасилил подключение USB устройств на терминалах и локальный запуск приложений. Также могут возникнуть неожиданные ситуации, когда под одним пользователем залогиниться на нескольких терминалах (пробуйте запустить что-нибуть из пакета OpenOffice). Я для каждой машины создавал своего пользователя. Вот небольшой скриптик: useradd.sh useradd $1 mkdir /home/$1 mkdir /home/$1/Desktop chown -R $1:$1 /home/$1 chmod +x useradd.sh ./useradd.sh wst-5-1 ./useradd.sh wst-5-2 .......... passwd wst-5-1 passwd wst-5-2 ....... Заключение Итак мы имеем сервер терминалов и пару десятков маломощных машин на которых "летает" KDE4, Blender, OpenOffice, Warsow :) Я не так давно начал углубляться в изучение GNU/Linux, поэтому прошу сильно не позорить ошибками и недоработками в статье (это моя первая статья). Тем не менее критику и замечания приму и буду стараться улучшать свой уровень знаний. Удачи

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

Обсуждение [ RSS ]
  • 1.1, goshanecr (??), 11:20, 16/07/2009 [ответить]  
  • +/
    1. А нельзя было на большую первую часть дать просто ссылку сюда: http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?style=printable&full=1
    Там гораздо более информативно, корректно и понятно чем у Вас описана установка самой системы.

    2. Зачем вот это в gentoo??? Почему mtune=i686 а не mtune=nocona?
       CFLAGS="-O2 -mtune=i686 -pipe"
    Почему не i686-pc-linux-gnu?
       CHOST="i486-pc-linux-gnu"
    Неверно, указывать рекомендуется число=колич. ядер + 1, в Вашем случае это 3:
       MAKEOPTS="-j2" #2 - это количество процессоров/ядер-1
    Ну и ещё масса глупейших описулин.

     
  • 1.2, Аноним (-), 12:12, 16/07/2009 [ответить]  
  • +/
    Зачем вот это в gentoo??? Почему mtune=i686 а не mtune=nocona?
    А почему не native? В автобилдах уже gcc-4.3.2 приехал.
     
  • 1.3, аноним (?), 13:01, 16/07/2009 [ответить]  
  • +/
    А что ли LTSP 5.0 в генту ещё не интегрировали?

    Странно, даже в нафиг ни кому не нужной бубунте есть, а генте нет...

    И зачем тогда эта гента нужна...

     
  • 1.4, 0utPunk (?), 13:04, 16/07/2009 [ответить]  
  • +/
    Я вас, наверное, удивлю, но да будет вам известно, что в генте вообще ничего нет, кроме базовой системы, портежей и ядра.
     
     
  • 2.5, Dorlas (??), 15:10, 16/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Замечания по содержанию:

    1) DHCP-сервер - Вы не описали, каким образом у Вас загружаются клиенты: С использованием PXE-загрузчика или с помощью Etherboot (дискета, CD и т.д.).

    Более универсальный конфиг будет таким:
    shared-network WORKSTATIONS {
      subnet 192.168.0.0 netmask 255.255.255.0 {
      range   dynamic-bootp   192.168.0.220   192.168.0.240;
      if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
      filename    "/pxe/pxelinux.0";     # PXE NBP Boot loader
           }
           else {
           filename    "/lts/vmlinuz-2.6.17.8-ltsp-1";        # Etherboot kernel
                }
           }
    }

    2) XDMCP-сервер - не описано, как включается доступ к X-серверу... - в установке по умолчанию доступа до X-сервер у клиентов не будет:

    Для KDM: В файле kdmrc изменить строку в секции [Xdmcp] Enable=false на Enable=true
    Для всех: Xaccess прописать доступ (например всем - *)

    3) Настройка локальных устройств - для версии 4.2 описана тут:
    http://wiki.ltsp.org/twiki/bin/view/Ltsp/LTSP-42-LocalDev

    Заковыристо, непросто - НО работает (по крайней мере у меня в Gentoo) :)

    Чтобы я добавил (если бы писал такую статью):
    1) Настройка нестандартных разрешений экрана
    2) Работа с RDP (проброс звука, всех устройств, решение проблем с раскладками и русскими буквами на носителях)
    3) Настойка NX-клиента в LTSP
    4) Настройка ltspfs
    5) Настройка принтеров (несколько методов)
    6) Настройка различных загрузчиков (универсальная дискета с поддержкой всех сетевых и т.д.)

    А вообще для начала - очень неплохая статья - одобряю. Тему LTSP пилю уже не один год (хотя ряд терминалов уже перевел на ThinStation :)), работы там много...


     

  • 1.6, _umka_ (??), 18:33, 16/07/2009 [ответить]  
  • +/
    одно не понятно накой поднимать полный dhcpd - когда можно обойтись dnsmasq ?
    за одно решив проблему кэширования dns запросов..
    strict-order

    #server=/sh/192.168.0.1


    #################################
    # Enable dnsmasq's built-in TFTP server
    enable-tftp

    tftp-root=/home/diskless/tftpboot/

    # Make the TFTP server more secure: with this set, only files owned by
    # the user dnsmasq is running as will be send over the net.
    #tftp-secure

    ##################################################
    dhcp-boot=pxelinux.0,notebook.shadowland,192.168.1.10

    interface=br0
    dhcp-range=192.168.208.30,192.168.208.100,12h
    address=/gw.vbox.shadowland./192.168.208.1

    address=/freebsd.shadowland./192.168.208.2

    #address=/rhel5/192.168.208.3
    #dhcp-host=rhel5,08:00:27:E7:A7:E4,192.168.208.3
    ..
    interface=eth0
    interface=eth2

    #####################################
    interface=wlan0

     
  • 1.7, xwrs (ok), 16:01, 17/07/2009 [ответить]  
  • +/
    Всем спасибо за замечания. Я новичек в gentoo (да и в GNU/Linux вообще).
    goshanecr,Аноним я не менял стандартный make.conf, который идет в stage3-x86-2008.0.tar.bz2. Просто добавил MAKEOPTS. Не дал ссылку на хендбук т.к. статья о установке сервера бездисковых станций и я старался сократить описание процесса установки до минимума.
    аноним, LTSP5 есть в т.н. оверлеях Gentoo. Я его не использовал, поскольку старался минимально отходить от стандартных настроек ПО.
    Dorlas, спасибо. Учту. Делал расчет на то, что большинство будет уже использовать PXE, т.к. etherboot технически сложнее внедрить. А X-сы на терминалах заработали сразу.Когда ставил kde-3.5 и xorg-x11, то надо было править kdmrc.
    _umka_, Ок. Будем пробовать
     
  • 1.8, bangx (?), 19:34, 19/07/2009 [ответить]  
  • +/
    Возможна сделать чтобы под одним пользователем работало несколько терминалов, при этом не возникало неожиданных ситуаций?
     

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




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

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