Содержание

Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal

Проблемы с TFTP

Как вы уже знаете, сервер 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-сервера. К тому же, эксплуатацию Х-терминалов целесообразно выполнять на заранее проверенной и работоспособной локальной сети.

Пока интересно, читаем дальше!

Авторское право © Сеник Николай, 2004-2006