Терминальный сервер на основе Debian Lenny |
![]() |
Автор: Administrator | |||
09.05.10 16:59 | |||
Терминальный сервер на основе Debian Lenny
[править] Первоначальная настройкаИтак у нас свежеустановленная система Debian Lenny с netinst-а. Первый раз заходим под пользователем root. Проверяем настройки сети: nano /etc/network/interfaces Должно быть типа такого: # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.0.83 netmask 255.255.255.0 gateway 192.168.0.37 dns-nameservers 83.246.135.100 Проверяем настройки ДНС: nano /etc/resolv.conf Должно быть типа такого: nameserver 83.246.135.100 Если вносили изменения то перезапускаем: /etc/init.d/networking restart Если у вас провайдер интелби или интелика то вы можете обновлятся с ftp.nix-files.org.ru: Настраиваем репозитории nano /etc/apt/sources.list удаляем то что там есть, прописываем: deb http://apt.nix-files.org.ru/debian lenny main contrib non-free deb http://apt.nix-files.org.ru/debian-security lenny/updates main contrib non-free Если у вас другой провайдер то оставляем как есть. Кирилизируем консоль. apt-get install console-cyrillic cyr Настраиваем sudo apt-get install sudo nano /etc/sudoers здесь в секции User privilege specification добавляем пользователя admin # User privilege specification root ALL=(ALL) ALL admin ALL=(ALL) ALL Выходим из консоли root: exit Логинимся под admin. [править] Устанавливаем и настраиваем граф подсистему Xorg и KDE:Устанавливаем xorg: sudo apt-get install xorg Конфигурируем xorg: sudo X -configure sudo cp xorg.conf.new /etc/X11/xorg.conf Смотрим конфиг файл: sudo nano /etc/X11/xorg.conf В секции Section "Monitor" должны быть прописаны режимы монитора, если их нет то прописываем: HorizSync 30.0-81.0 VertRefresh 56.0-85.0 Также в секции Section "Screen" прописываем битность цвета DefaultDepth 16 и разрешение по умолчанию: SubSection "Display" Viewport 0 0 Depth 16 Modes "1280x1024@75" Устанваливаем KDE: sudo apt-get install kde-core kdm Устанавливаем русификацию в kde: sudo apt-get install kde-i18n-ru Перезагружаемся sudo reboot При загрузке KDE выьираем русский или после загрузки заходим в меню "K - Settings - Regional & Accessibility - Country/Region&Language", Выбираем Add Language - Russian. Настраиваем переключение раскладки: В К/Настройка/Региональные и специальные возможности/Раскладка клавиатуры надо оставить на закладке "Раскладка" только ОДНУ используемую раскладку: русскую, но ОБЯЗАТЕЛЬНО выставить check box "Включить латинскую раскадку". Переключение на закалдке "Параметры XKB" настроить по своему усмотрению, мне удобней всего Ctrl-Shift. После этого KDE по Ctrl-Shift пеключает раскладки с русской на английскую. Но в трее флаг при этом не меняется, для исправления делаем: Устанавливаем переключатель клавиатуры: sudo apt-get install kkbswitch Запускаем его из меню К - Служебные - KkbSwitch По умолчанию в KDE в качестве демона, отслеживающий изменения в файловой системе и оповещающий об этом подписавшиеся приложения используется famd. Например можно открыть в Konqueror каталог, параллельно с помощью shell создать или удалить файл в этом каталоге. famd оповестит об изменениях Konqueror, а тот в свою очередь перерисует окно со списком файлов. И всебы ничего но он катастрофически много отжирает процессорного времени особенно если копируешь кучу мелких файлов гденить из сети, причем что удивительно в большинстве дистрибутивов famd уже давно заменили gamin'ом. В списке рассылки рекомендовано заменить famd на gamin. Оба предоставляют библиотеку с одинаковым интерфейсом, но famd является демоном периодически опрашивающим каталоги, а gamin является библиотекой взаимодействующей с подсистемой ядра Linux, называющейся inotify. Эта подсистема позволяет обходиться без отдельного демона и доставляет необходимую информацию всем подписавшимся программам напрямую, без лишних посредников из первых рук. sudo apt-get install gamin Настраиваем звук: sudo apt-get install alsa /usr/sbin/alsaconf [править] Устанавливаем и настраиваем ПО:Устанавливаем паблик шрифты от MS: sudo apt-get install msttcorefonts Устанавливаем архиваторы: sudo apt-get install rar sudo apt-get install unrar sudo apt-get install bzip2 sudo apt-get install lha sudo apt-get install zip sudo apt-get install unzip sudo apt-get install arj sudo apt-get install unace sudo apt-get install rpm sudo apt-get install 7z Устанавливаем драйвер для работы с ntfs: sudo apt-get install ntfs-3g Далее ставим файловый менеджер Krusarder sudo apt-get install krusader [править] Устанавливаем последнюю 3-ю версию OpenOffice.org.Сначала скачиваем его по ссылке в домашний каталог: sudo wget http://ftp5.gwdg.de/pub/openoffice/extended/localized/ru/3.0.1/OOo_3.0.1_LinuxIntel_install_ru_deb.tar.gz Распаковываем архив: tar xzfv OOo_3.0.1_LinuxIntel_install_ru_deb.tar.gz Устанавливаем все пакеты: sudo dpkg -i OOO300_m15_native_packed-1_ru.9379/DEBS/*.deb Устанавливаем пакет интеграции OpenOffice.org с системой, если этого несделать то в основном меню приложений OpenOffice.org небудет: sudo dpkg -i OOO300_m15_native_packed-1_ru.9379/DEBS/desktop-integration/openoffice.org3.0-debian-menus_3.0-9376_all.deb При работе был замечен интересный баг, когда пытаешься открыть локально файлы .doc (пример) все нормально открывается, ели же чрез самбу или с вебстраницы то пиктограма OpenOffice.org долго прыгает и ничего неоткрывает, исправление состоит в том чтобы установить правильные права на каталоги OpenOffice.org: chown -R root:root /opt/openoffice.org3 chown -R root:root /usr/bin/openoffice.org3 Перезапускаем граф подсистему клавиатурным сочетанием Ctrl + Alt + BackSpace Установливаем программу для снятия скриншотов: sudo apt-get install ksnapshot Устанавливаем и русифицируем icedove: apt-get install icedove apt-get install icedove-locale-ru Устанавливаем rdesktop, вдруг надобудет подключатся к windows терминальному серверу: sudo apt-get install rdesktop [править] Устанавливаем Wine:Для работы 1C , а также Консультанта необходим WINE@Etersoft версии Network. Вообще у них на сайте есть хороший мануал по настройке http://www.etersoft.ru/content/view/56/156/[1], рассмотрим основные действия. После покупки скачиваем по ссылкам пакеты WINE@Etersoft версии Network. Всего пакетов должно быть: dkms-aksparlnx_2.0-eter4debian_all.deb haspd-modules_2.0-eter12.2debian_i386.deb fonts-ttf-liberation_1.04-eter1debian_all.deb libwine_1.0.9-eter42debian_i386.deb fonts-ttf-ms_1.0-eter4debian_all.deb wine_1.0.9-eter42debian_i386.deb haspd_2.0-eter12.2debian_i386.deb wine-etersoft-network_1.0.9-eter18debian_i386.deb Устанавливаем WINE@Etersoft версии Network: dpkg -i * Чтобы неустанавливать необходимое ПО под каждым пользователем воспользуемся административной установкой: Для этого добавляем пользователя admin в группу wineadmin (только этот пользователь сможет устанавливать и удалять ПО из wine): Создаем каталог, который будет играть роль общего win-окружения. Рекомендуется в качестве общего каталога использовать /var/lib/wine/default: wine --admin Создастся каталог /var/lib/wine/default где и будет расположено win окружение для всех пользователей. Настраиваем автоподключение к общему win-окружению при первом запуске пользователя, для этого отердактируем /etc/sysconfig/wine: sudo nano /etc/sysconfig/wine Конфиг файл должен быть таким: ATTACH_MODE="yes" # включает режим общего win-окружения WINEADMIN="default" # путь к общему win-окружению [править] Устанавливаем 2gis:Есть два способа: первй это скачать с офиц сайта и пытатся поставить под wine и второй воспользоватся репозиторием. Я сделал по второму. Добавляем в список репозиториев репозиторий 2gis: sudo nano /etc/apt/sources.list Добавляем строчку: deb ftp://10.246.58.76/pub/repository/debian/2gis/ lenny non-free Устанавливаем 2gis, мне больше нравится 2gis версии 2(там рекламы меньше), поэтому буду ставить его: sudo apt-get install 2gis-old-barnaul Вообще список поддерживаемых пакетов из этого репозитория: ДубльГИС 2gis-old-common — общие файлы, необходимые для работы ДубльГИС 2gis-old-astrakhan — карта Астрахани 2gis-old-barnaul — карта Барнаула 2gis-old-chelyabinsk — карта Челябинска 2gis-old-ekaterinburg — карта Екатеринбурга 2gis-old-irkutsk — карта Иркутска 2gis-old-kemerovo — карта Кемерово 2gis-old-krasnoyarsk — карта Красноярска 2gis-old-kurgan — карта Кургана 2gis-old-nizhnevartovsk — карта Нижневартовска 2gis-old-novokuznetsk — карта Новокузнецка 2gis-old-nsk — карта Новосибирска 2gis-old-odessa — карта Одессы 2gis-old-omsk — карта Омска 2gis-old-tomsk — карта Томска 2gis-old-tyumen — карта Тюмени 2gis-old-all — карты всех доступных городов ДубльГИС 3.0 2gis-common — общие файлы, необходимые для работы ДубльГИС 3.0 2gis-astrakhan — карта Астрахани 2gis-barnaul — карта Барнаула 2gis-chelyabinsk — карта Челябинска 2gis-ekaterinburg — карта Екатеринбурга 2gis-irkutsk — карта Иркутска 2gis-kemerovo — карта Кемерово 2gis-krasnoyarsk — карта Красноярска 2gis-kurgan — карта Кургана 2gis-nizhnevartovsk — карта Нижневартовска 2gis-novokuznetsk — карта Новокузнецка 2gis-novosibirsk — карта Новосибирска 2gis-odessa — карта Одессы 2gis-omsk — карта Омска 2gis-tomsk — карта Томска 2gis-tyumen — карта Тюмени 2gis-all — карты всех доступных городов По умолчанию он установится в /usr/lib/2gis-old-barnaul. Теперь необходимо этой папке в wine назначить какойнибудь диск. winecfg В моем случае это диск F. Запускаем и проверяем как работает: 2gis-old-barnaul [править] Настройка серверной части терминального сервера:Основная задумка в том чтобы установить и настроить терминальный сервер с использованием бездисковых терминальных клиентов, т.е клиентский компьютер по dhcp получает свой ип адрес а также путь откуда брать ядро для загрузки а после загрузки ядра автоматически подключается к серверу терминалов через протокол nx. Используемые технологии: DHCP TFTP Thinstation SSH RX@Etersoft (тотже FreeNX только чуть подправленный) Устанавливаем DHCP: sudo aptitude install dhcp3-server В конфигурационном файле dhcp3-server указываем интерфейс на котором dhcp будет работать: sudo nano /etc/default/dhcp3-server В моем случае получилось так: # Defaults for dhcp initscript # sourced by /etc/init.d/dhcp # installed at /etc/default/dhcp3-server by the maintainer scripts # # This is a POSIX shell fragment # # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0" Настраиваем dhcp сервер: Создаем копию исходного конфига: sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.back Редактируем конфиг: sudo nano /etc/dhcp3/dhcpd.conf В конфигурационном файле можно указать пул адресов который будет выдаватся клиентам, жесткую привязку ип адреса по мак адресу, днс сервера и шлюзы клиентов. У меня нету своего днс сервера, также динамическая выдача адресов мне тоже никчему, поэтом добавляю (пример для одного клиентского компьютера): subnet 192.168.0.0 netmask 255.255.255.0 { } group { # PXE-specific configuration directives... next-server 192.168.0.7; filename "/srv/tftp/thinstation.nbi"; # You need an entry like this for every host # unless you're using dynamic addresses host anisimova { hardware ethernet 00:20:ED:B7:E8:CF; fixed-address 192.168.0.34; } } где next-server 192.168.0.7; - указывает что dhcp сервер находится на ип адресе 192.168.0.7 (ип адрес сервера) ilename "/srv/tftp/thinstation.nbi"; - указывает откуда и какое ядро будет грузится на клиентском компьютере. host anisimova - имя клиентского компьютера hardware ethernet 00:20:ED:B7:E8:CF; - мак адрес сетевой карты клиентского компьютера fixed-address 192.168.0.34; - ип адрес который выдастся на основе мак адреса сетевой карте клиентского компьютера. Запускаем dhcp: sudo /etc/init.d/dhcp3-server start Устанавливаем TFTP. sudo apt-get install tftpd Cмотрим inetd.conf (конфигурационный файл супер сервера inetd): sudo nano /etc/inetd.conf Должно быть типа такого: tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp Если в inetd.conf внесли изменения то перезапускаем супер-сервер inetd: sudo invoke-rc.d openbsd-inetd restart Проверяем прослушивает ли inetd порт 69 (порт TFTP): sudo netstat -lnp | grep :69 Должно быть так: udp 0 0 0.0.0.0:69 0.0.0.0:* 7331/inetd Из inetd.conf видно что TFTP сервер будет располагатся в /srv/tftp. Создаем необходимую папку: sudo mkdir /srv/tftp Устанавливаем владельцем папки пользователя nobody, т.к. демонт tftpd запускается от пользователя nobody sudo chown nobody /srv/tftp Устанавливаем и настраиваем SSH. sudo apt-get install ssh Редактируем конфиг файл демона sshd: sudo nano /etc/ssh/sshd_config В нем проверяем значения, если они отличаются то заменяем их: PubkeyAuthentication yes AllowUsers nx Если в конфиг файле внесли изменения то перезапускаем сервис: sudo service sshd restart Устанавливаем RX@Etersoft. Скачиваем все пакет RX@Etersoft: sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/freenx-server_0.7.4-eter14debian_i386.deb sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/nx_3.3.0-eter5debian_i386.deb sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/nxclient_3.3.0.6-eter6debian_i386.deb sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/nxsadmin_0.2.1-eter3debian_i386.deb Устанавливаем: sudo apt-get install libcupsys2 sudo apt-get install expect sudo dpkg -i *.deb sudo nxsetup --install --setup-nomachine-key Основной конфигурационный файл располагается /etc/nxserver/node.conf. К сожалению конфиг на русском языке я ненашел, пришлось перевести самому (коряво конечно получилось, но суть понять можно): Медиа:Node.conf_ru После установки инициализируйте окружение системного пользователя nx с помощью команды: sudo /etc/init.d/freenx-server setup После успешного завершения, запуcкаем сервис: sudo /etc/init.d/freenx-server start Добавляем пользователей и указывваем их пароли для NX-сервера: sudo nxserver --adduser пользователь sudo nxserver --passwd пользователь Установка Thinstation 2.2 + PXE Thinstation представляет собой среду для компоновки (возможна и компиляция) загрузочного линукс ядра. Благодаря Thinstation можно скомпоновать из готовых пакетов единое ядро с поддержкой именно того железа которое стоит на стороне клиента и именно тех технологий и протоколов которые необходимы именно для конкретного клиента. Если в списке доступных пакетов нет необходимого, но в тоже время есть исходники этого драйвера, то можно скачать с офиц. сайта исходники системы, развернуть их, добавить в них исходники нежостающего драйвера, скомпилировать его, а потом как обычно скомпоновать готовое ядро. Скачиваем с официального сайта(размер около 60 мегабайт): sudo wget http://garr.dl.sourceforge.net/sourceforge/thinstation/Thinstation-2.2.2.tar.gz Распаковываем: sudo tar -zxvf Thinstation-2.2.2.tar.gz Получаем такую структуру: /Thinstation-2.2.2/boot-images - каталог куда помещаются скомпилированные образы загрузки /Thinstation-2.2.2/conf /Thinstation-2.2.2/Documentation - документация /Thinstation-2.2.2/kernel - ядро /Thinstation-2.2.2/packages - пакеты для сборки образа /Thinstation-2.2.2/src /Thinstation-2.2.2/utils /Thinstation-2.2.2/build /Thinstation-2.2.2/build.conf - конфигурационный файл где указываются все настройки сборки образа /Thinstation-2.2.2/build.conf.example - примерный конфигурационный файл где указываются все настройки сборки образа /Thinstation-2.2.2/ChangeLog /Thinstation-2.2.2/thinstation.conf.buildtime /Thinstation-2.2.2/thinstation.conf.buildtime.sample /Thinstation-2.2.2/thinstation.hosts.example К сожалению конфиг файла сборки ядра на русском языке я ненашел, пришлось перевести самому (коряво конечно получилось, но суть понять можно):Медиа:Build.conf.example_ru Редактируем build.conf: sudo nano ~/Thinstation-2.2.2/build.conf Чтобы при подключении клиента NX к серверу каждый раз не появлялось окошко с предупреждением о незнакомом хосте, создадим в корне Thinstation файл known_hosts: ssh-keyscan -t rsa nxserver_ip>>~/thinstation/known_hosts В качестве «nxserver_ip» надо указать IP-адрес NX-сервера. Таким образом клиент будет знать о цифровом отпечатке rsa-ключа NX-сервера при аутентификации. Cоздаем образ запустив скрипт ~/thinstation-2.2.2/build. После комиляции в Thinstation-2.2.2 создается файл thinstation.conf.sample со всеми настройками самого ядра и всех интегрированных пакетов, к сожалению конфиг на русском языке я ненашел, пришлось перевести самому (коряво конечно получилось, но суть понять можно): Готовый файл образа находится по адресу ~/thinstation/boot-images/etherboot/thinstation.nbi. Копируем его на TFTFP-сервер: sudo cp ~/Thinstation-2.2.2/boot-images/etherboot/thinstation.nbi /srv/tftp sudo chown nobody /srv/tftp/thinstation.nbi sudo cp ~/Thinstation-2.2.2/thinstation.conf.buildtime /srv/tftp/thinstation.conf.network sudo chown nobody /srv/tftp/thinstation.conf.network |
|||
Последнее обновление 10.05.10 20:59 |