Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
К настройке сервера Х-терминалов я приступил сразу после того, как он попал ко мне на стол. Устанавливал я на него операционную систему ASPLinux 9.0 Express, с которой был неплохо знаком. После проверки параметров BIOS, я начал инсталляцию системы. Первым разочарованием, которое меня постигло при этом, была невозможность продолжать установку на диск с интерфейсом Serial ATA: ядро ASPLinux 9.0 попросту не видело его. Переключение в совместимый режим использования SATA лишало возможности работать с одним из IDE-контроллеров, но похоже, что это был единственный выход. Я делал даже попытку установки ядра версии 2.6, но после таких экспериментов пришел к выводу, что не смогу добиться стабильной работы системы, которая так важна для операционной системы сервера Х-терминалов. Поэтому я решил остановиться на стабильной сборке от ASPLinux.
Установка пакетов, выбранных для Х-терминал сервера, прошла без особых проблем. Система с первого раза успешно загрузилась и на экране я увидел графическое приглашение ввода имени пользователя и пароля. Из оборудования определилось практически все, кроме интегрированной сетевой карты от 3COM, но это и не удивительно, так как это относительно новое устройство, а исходный код его драйвера всегда можно взять с официального сайта производителя. Визуально оценив производительность системы, я обнаружил очень медленное выполнение дисковых операций. Утилита hdparm показывала что-то в районе 3,5 Мбайт/с. Я сначала подумал, что это из-за работы SATA-винчестера в совместимом режиме, но после обновления ядра до текущей версии, доступной с сайта ASPLinux (ftp://ftp.asplinux.ru/pub/), эти проблемы исчезли. Еще при установке операционной системы, 120 Гбайтный жесткий диск был разбит на 13 разделов, все из которых были отформатированы в формате ext3. Ниже представлен их список:
# /sbin/fdisk -l /dev/hda
Disk /dev/hda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       638   5124703+  83  Linux
/dev/hda2           639     14593 112093537+   5  Extended
/dev/hda5           639       893   2048256   82  Linux swap
/dev/hda6           894      3443  20482843+  83  Linux
/dev/hda7          3444      3826   3076416   83  Linux
/dev/hda8          3827      4464   5124703+  83  Linux
/dev/hda9          4465      5102   5124703+  83  Linux
/dev/hda10         5103      6377  10241406   83  Linux
/dev/hda11         6378      9565  25607578+  83  Linux
/dev/hda12         9566     10075   4096543+  83  Linux
/dev/hda13        10076     10585   4096543+  83  Linux
/dev/hda14        10586     10713   1028128+  83  Linux
/dev/hda15        10714     11988  10241406   83  Linux
/dev/hda16        11989     14593  20924631   83  Linux
Что-бы лучше понять их предназначение, приведу фрагмент файла /etc/fstab:
# /etc/fstab: static file system information.
#
#                       
/dev/hda5	none	swap	sw	0	0
/dev/hda1	/	ext3	defaults,errors=remount-ro	0	1
/dev/hda7	/tmp	ext3	defaults	0	1
/dev/hda8	/var	ext3	defaults	0	1
/dev/hda9	/usr	ext3	defaults	0	1
/dev/hda6	/home	ext3	defaults	0	1
proc	/proc	proc	defaults	0	0
none                    /dev/shm                tmpfs   defaults        0 0
none	/dev/pts/	devpts	gid=5,mode=620	0	0
/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro,iocharset=cp1251 0 0
/dev/fd0                /mnt/floppy             auto    noauto,user,owner,kudzu,iocharset=cp1251,codepage=866 0 0
/dev/sda1               /mnt/usb_manli          auto    noauto,user,iocharset=cp1251,codepage=866 0 0
/dev/sdb1               /mnt/usb_flash          auto    noauto,user,iocharset=cp1251,codepage=866 0 0
# Alker common for DOCs
/dev/hda12	/mnt/alker_common	ext3	rw,nosuid,dev,noexec,auto,nouser,async	0	1
# Common for all win PC
/dev/hda13	/mnt/win_access	ext3	rw,nosuid,dev,noexec,auto,nouser,sync	0	1
# Backup partitions
/dev/hda11	/mnt/backup		ext3	defaults	0	1
      
Теперь лучше видно для каких целей используются разделы жесткого диска (см. Таблицу 2):
Таблица 2. Распределение разделов жесткого диска Х-терминал сервера
| Имя раздела | Точка монтирования | Размер, Гб | Предназначение | 
| /dev/hda1 | / | 5 | Корневая файловая система | 
| /dev/hda5 | 2 | Файл подкачки (swap) виртуальнойпамяти | |
| /dev/hda6 | /home | 20 | Домашний каталог пользователей | 
| /dev/hda7 | /tmp | 3 | Каталог для хранения временныхфайлов | 
| /dev/hda8 | /var | 5 | Каталог для хранения изменяемыхфайлов, таких как журналы, почтовые базы и т.п. | 
| /dev/hda9 | /usr | 5 | Каталог для программногообеспечения | 
| /dev/hda10 | не примонтирован | 10 | Резерв | 
| /dev/hda11 | /mnt/backup | 25 | Для резервного копирования | 
| /dev/hda12 | /mnt/alker_common | 4 | Общий доступ для пользователейХ-терминалов | 
| /dev/hda13 | /mnt/win_access | 4 | Общий доступ для Windowsкомпьютеров | 
| /dev/hda14 | не примонтирован | 1 | Резерв | 
| /dev/hda15 | не примонтирован | 10 | Резерв | 
| /dev/hda16 | не примонтирован | 20 | Резерв | 
Более 40 Гбайт на диске было оставлено для будущего использования, а схема расположения различных областей жесткого диска на разных разделах позволяет лучше контролировать использование дискового пространства. После года эксплуатации сервера Х-терминалов его жесткий диск заполнен менее чем наполовину:
$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda1              5044156    203544   4584380   5% /
/dev/hda7              3028080     68608   2805652   3% /tmp
/dev/hda8              5044156   1037540   3750384  22% /var
/dev/hda9              5044156   2198856   2589068  46% /usr
/dev/hda6             20161172   8995744  10141288  48% /home
none                    515052         0    515052   0% /dev/shm
/dev/hda12             4030684     44400   3784752   2% /mnt/alker_common
/dev/hda13             4030684   1473964   2355188  39% /mnt/win_access
/dev/hda11            25204468     32820  23911428   1% /mnt/backup