Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Как вы уже знаете, сервер TFTP в Х-терминальной сети предназначен для загрузки ядра Х-терминала через локальную сеть. Если с доступом по протоколу TFTP возникли проблемы, то об этом может свидетельствовать такая строка на экране:
Loading ROM image ......................
ROM segment 0x0000 length 0x0000 reloc 0x00020000
Etherboot 5.2.2. (GPL) http://etherboot.org Tagged ELF for [NE2000/PCI]
Relocation _text from [00013d70, 00022800) to [01ef1570, 01f00000)
Boot from (N)etwork or (Q)uit?
Probing pci nic ...
[rtl8029]
NE2000 base 0xfcc0, addr 00:02:44:2B:02:4E
Searching for server (DHCP) ...
..Me: 192.168.1.6, Server: 192.168.1.1, Gateway 192.168.1.1
Loading 192.168.1.1:/lts/vmlinuz-2.4.24-ltsp-1
При нормальной загрузке ядра операционной системы Linux через локальную сеть после имени файла (например, vmlinuz-2.4.24-ltsp-1) должны последовательно появляться символы точки “.” вплоть до появления строки “done”, которая свидетельствует, что загрузка ядра по протоколу TFTP успешно завершена. Если же символы точек не появляются, или прекратили появляться, а на экране Х-терминала мигает текстовый курсор, то это указывает на возникшую проблему загрузки по протоколу TFTP.
Диагностику данной проблемы целесообразно начать с проверки того, работает ли демон tftpd. В операционной системе ASPLinux, как и в других системах, основанных на дистрибутиве RedHat, запуск демона tftpd осуществляется посредством использования возможностей суперсервера xinetd. Поэтому для начала проверим, а запущен ли xinetd. Сделать это можно командой:
$ ps aux | grep xinetd
root 707 0.0 0.0 2184 80 ? S 2004 0:00 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
mikola 22439 0.0 0.0 3768 600 pts/0 S 15:42 0:00 grep xinetd
Если вы получили похожий результат, то демон xinetd работает. В противном случае принудительно запускаем его:
# /sbin/service xinetd start
Starting xinetd: [ OK ]
После успешного запуска xinetd проверяем наличие файла, отвечающего за запуск демона tftpd:
$ cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
Выше представлено его нормальное содержимое. Если файл /etc/xinetd.d/tftp присутствует и с его содержимым все нормально, а ядро Х-терминала все равно не загружается, обратите внимание на строчку “server = /usr/sbin/in.tftpd”. По указанному в ней пути должен находиться исполняемый файл сервера TFTP. Еще одной интересной строкой файла запуска tftpd является строка серверных аргументов: “server_args = -s /tftpboot”. Она означает, что для демона tftpd корневой директорией является каталог /tftpboot. Такое ограничение введено из-за соображений безопасности и для пользователей Х-терминалов оно подразумевает, что при доступе по протоколу TFTP они могут получить только файлы, принадлежащие каталогу /tftpboot и его подкаталогам. На практике это означает, что если в файле /etc/dhcpd.conf записан путь к файлу с образом ядра операционной системы Linux для Х-терминала, например так:
host yanax {
hardware ethernet 00:02:44:2B:02:4E;
fixed-address 192.168.1.6;
filename "/lts/vmlinuz-2.4.24-ltsp-1";
}
С параметром “-s /tftpboot” демон tftpd будет пытаться загрузить не файл /lts/vmlinuz-2.4.24-ltsp-1, а файл /tftpboot/lts/vmlinuz-2.4.24-ltsp-1. Неправильное расположение образов операционной системы для загрузки Х-терминалов - довольно распространенная причина ошибок при настройки протокола TFTP.
В данном разделе я специально не упомянул о проблемах в работе локальной сети, так как если бы они имели место, то вы вряд ли прошли бы стадию получения ответа от DHCP-сервера. К тому же, эксплуатацию Х-терминалов целесообразно выполнять на заранее проверенной и работоспособной локальной сети.