Linux-сервер своими руками — страница 94 из 119

Старайтесь сделать ядро как можно более компактным, исключив из его состава лишние опции. Я вообще рекомендую использовать ядра 2.2.x — они более компактны, чем 2.4.x.

Не забудьте включить в состав ядра драйвер для вашей сетевой платы. Итак продолжим — откомпилируем ядро:

make dep 

make bzImage

Если вы использовали модули, откомпилируйте их:

make modules 

make modules_install

После того как ядро откомпилировано, нужно записать его на дискету командой:

dd if=bzImage of=/dev/fd0

Перед этим нужно перейти в каталог /usr/src/linux/arch/i386/boot. Теперь укажем ядру, где искать корневую файловую систему. Если бы мы создавали обыкновенную загрузочную дискету, мы бы ввели команду: rdev /dev/fd0 /dev/fd0

Так как наше ядро должно искать корневую систему по NFS, мы должны выполнить следующие действия:

mknod /dev/boot255 с 0 255 

rdev /dev/fd0 /dev/boot255 

rm –f /dev/boot255

Первая команда создает псевдоустройство /dev/boot255, вторая указывает ядру, что корневую файловую систему нужно искать по NFS, а третья удаляет только что созданное устройство, потому что оно больше не нужно нам. Установите корневую файловую систему сервера с помощью команды chroot.

Теперь нужно настроить сервер. Настройка NFS рассматривалась в главе 8, а здесь я лишь напомню некоторые моменты. На вашем сервере должен быть запущен демон nfs (nfsd). Если он не установлен, установите пакет nfs-utils в Mandrake и Red Hat. Если же вы последовали моему примеру и использовали Debian на сервере, введите команду apt-get nfs-user-server. Затем добавьте следующую строчку в файл /etc/exports на сервере:

/usr/xterm 192.168.0.2/255.255.255.0(rw,no_root_squash)

192.168.0.2 — это IP-адрес X-терминала. Вы можете указать маску подсети, как это сделал я, тогда при подключении новых X-терминалов вам не нужно будет перечислять каждый терминал отдельно. После этого установите сервер ВООТР:

в Mandrake и RedHat — rpm -ih /mnt/cdrom/Mandrake/RPMS/bootparamd*

в Debian — apt-get install bootp

Затем в файл /etc/bootptab (или /etc/bootparams) добавьте строчку

xterm01:vm=auto:ip=192.168.0.2:ht=ethernet:ha=xxxxxxxxxxx:rp=/usr/xterm

где: xterm01 — имя Х-терминала;

 192.168.0.2 — его IP-адрес;

 xxxxxxxxxxx — МАС-адрес X-терминала.

В файл /etc/inetd.conf, если вы используете суперсервер inetd, добавьте строчку (или раскомментируйте ее):

bootps dgram udp wait root /usr/sbin/tcpdbootpd –i –t 120

Можно также использовать:

bootps dgram udp wait root /usr/sbin/bootpd bootpd –i –t 120

При использовании xinetd:

service bootps 

{

 socket_type = dgram

 protocol = udp

 user = root

 wait = yes

# в Linux Mandrake / Red Hat

 server = /usr/sbin/rpc.bootparamd

# в Debian

 server = /usr/sbin/bootpd

}

Заставьте xinetd (inetd) перечитать файл конфигурации:

killall -HUP inetd

Теперь осталось настроить диспетчер дисплеев — xdm. При использовании Red Hat или Mandrake xdm, скорее всего, будет уже установлен. А вот если вы использовали «укороченную» файловую систему от Debian, xdm установлен не будет. Для его установки выполните (на файловой системе сервера) команду:

apt-get install xdm

Файлы конфигурации xdm находятся в каталоге /etc/X11/xdm. В файл Xservers добавьте строку:

192.168.0.2:0 foreign

Эта строка обеспечит подключение X-терминала. В файл Xaccess добавьте строку: 192.168.0.2

Если в вашем файле xdm-config будет строка DisplayManager.requestPort: 0, то закомментируйте ее. Примеры используемых файлов конфигурации xdm приведены в листингах 20.3…20.5. Вот, собственно, и все.

Листинг 20.3. Файл /etc/X11/xdm/Xservers

# $XConsortium: Xserv.ws.срр,v 1.3 93/09/28 14:30:30 gildea Exp $

#

#

# $XFree86: xc/programs/xdm/config/Xserv.ws.cpp,v 1.1.1.1.12.2 1998/10/04 15:23:14 hohndel Exp $

#

#  Xservers file, workstation prototype

#

#  Each X terminal line should

#  look like:

# XTerminalName:0 foreign

#

:0 local /usr/X11R6/bin/X 192.168.0.2:0 foreign

Листинг 20.4. Файл /etc/X11/xdm/Xaccess

192.168.0.2

Листинг 20.5. Файл /etc/X11/xdm/xdm-config

! $XConsortium: xdm-conf.cpp /main/3 1996/01/15 15:17:26 gildea $

DisplayManager.errorLogFile: /var/log/xdm-error.log

DisplayManager.pidFile: /var/run/xdm.pid

DisplayManager.keyFile: /etc/X11/xdm/xdm-keys

DisplayManager.servers: /etc/X11/xdm/Xservers

displayManager.accessFile: /etc/X11/xdm/Xaccess

! All displays should use authorization, but we cannot be sure 

! X terminals will be configured that way, so by default 

! use authorization only for local displays :0, :1, etc.

DisplayManager._0.authorize: true

DisplayManager._1.authorize: true 

! The following three resources set up display :0 as the console.

DisplayManager._0.setup:/etc/X11/xdm/Xsetup_0

DisplayManager._0.startup: /etc/X11/xdm/GiveConsole

DisplayManager._0.reset:/etc/X11/xdm/TakeConsole

DisplayManager._0.startAttempts: 1 

!

DisplayManager*resources: /etc/X11/xdm/Xresources 

DisplayManager*session: /etc/X11/Xsession 

DisplayManager*authComplain: false

21Linux в игровом зале

21.1. Достоинства и недостатки

В этой главе будет рассмотрена настройка Linux как рабочей станции для игрового зала. У вас может возникнуть вопрос: почему именно как рабочей станции? Ответ очень прост: любую Linux-систему довольно легко превратить из рабочей станции в сервер, причем без потери надежности и производительности, чего нельзя сказать о Windows.

Итак, допустим, что у вас есть небольшой игровой зал, скажем на 20…30 компьютеров и вам нужно по тем или иным причинам перейти на платформу Linux. Как я уже отмечал, любую из Linux-машин можно настроить как сервер и при этом можно использовать ее как рабочую станцию, то есть при этом не теряется ни одно пользовательское место при организации сервера.

Сейчас мы разберемся во всех достоинствах и недостатках (к сожалению, таковые имеются) такого преобразования. Достоинства и недостатки я буду приводить одновременно: сначала положительный момент, а затем — обратную сторону медали.

Достоинство. Самым большим достоинством является, на мой взгляд, существенная экономия денег, что немаловажно при открытии нового зала, когда первым делом нужно окупить средства, вложенные в его организацию.

Коробочные версии Windows XP Home Edition стоят около 160 долларов США. При открытии зала с парком в 30 машин общая стоимость боксовых версий обойдется вам примерно в $4800. При покупке OEM-версий стоимость Windows составит около $2400. При всем этом вы получите одноранговую сеть, состоящую из 30 компьютеров под управлением Windows. Если же вам нужно организовать сервер для доступа к Интернет, то за него придется выложить еще около $1000. Итого $5800. И это только программное обеспечение — математика, а ведь еще нужно купить железо, дополнительную аппаратуру, мебель и т.д. Если нормальный компьютер для игрового зала можно купить за $350…450, то зачем же увеличивать его стоимость даже на 80 долларов при использовании OEM-версии?

В случае с Linux вам достаточно купить один дистрибутив стоимостью $5…10 долларов (при этом вы платите только за носители информации, то есть за компакт-диски, входящие в состав дистрибутива). Потом вы можете установить этот дистрибутив на неограниченное число компьютеров.

Недостаток. Несмотря на довольно приличную сумму сэкономленных денег, возрастут ваши ежемесячные расходы. Дело в том, что Linux-залу нужен квалифицированный системный администратор, хотя бы на первых порах — пока все не заработает так, как нужно. В этом случае услуги студента-первокурсника, пусть даже отлично знающего Windows, не будут соответствовать вашим запросам. Установить Linux сможет каждый: современные программы установки Linux все сделают за вас. А вот настроить систему такой «специалист» вряд ли сможет, а поэтому вам понадобится специалист, хорошо знающий Linux. Следовательно, и зарплата у него должна быть как минимум в два-три раза больше, чем у администратора, обслуживающего одноранговую Windows-сеть. Кроме этого, понадобится определенное время на настройку всех компьютеров, так как настройка Linux занимает больше времени, чем Windows, а особенно настройка игровых приложений под Linux. Подробнее о переходе на Linux вы можете прочитать в моих статьях «Переходим на Linux» и «Строим бесплатный Интернет-сервер», которые вы найдете на прилагаемом компакт-диске.