|
Ключевые слова: 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, поэтому прошу сильно не позорить ошибками и недоработками в статье (это моя первая статья). Тем не менее критику и замечания приму и буду стараться улучшать свой уровень знаний. Удачи
|
Обсуждение | [ RSS ] |
|
Добавить комментарий |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |