До выполнения конфигурации командой
pelican_setup, в каталоге TFTP-загрузки лежит только:
Код: Выделить всё
user@pel1:~$ cd /var/lib/tftpboot/
user@pel1:/var/lib/tftpboot$ ls -l
total 10996
-rw-r--r-- 1 root root 11229260 Nov 7 22:52 initrd.img
Запущен суперсервер xinetd:
Код: Выделить всё
user@pel1:~$ ps -A | grep netd
1499 ? 00:00:00 xinetd
Все скрипты инициализации у них лежат вот здесь:
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ which pelican_setup
/usr/bin/pelican_setup
user@pel1:/var/lib/tftpboot$ ls -l /usr/bin/pelican*
-rwxr-xr-x 1 root root 9444 Jun 21 10:53 /usr/bin/pelican_boot_setup
-rwxr-xr-x 1 root root 1592 Jun 21 10:53 /usr/bin/pelican_nodes
-rwxr-xr-x 1 root root 8597 Jun 21 10:53 /usr/bin/pelican_restart_hpc
-rwxr-xr-x 1 root root 99 Jun 21 10:53 /usr/bin/pelican_setup
-rwxr-xr-x 1 root root 4320 Jun 21 10:53 /usr/bin/pelican_setup_netdevice
-rwxr-xr-x 1 root root 1012 Jun 21 10:53 /usr/bin/pelican_setup_user
-rwxr-xr-x 1 root root 3386 Jun 21 10:53 /usr/bin/pelican_terminalserver
А вот после выполнения конфигурации командой
pelican_setup, после чего готово PXE, всё становится интереснее:
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ ls -l /etc/xinetd.d
total 9
-rw-r--r-- 1 root root 798 Mar 24 2008 chargen
-rw-r--r-- 1 root root 660 Mar 24 2008 daytime
-rw-r--r-- 1 root root 549 Mar 24 2008 discard
-rw-r--r-- 1 root root 580 Mar 24 2008 echo
-rw-r--r-- 1 root root 274 Nov 7 23:27 tftp-hpa
-rw-r--r-- 1 root root 727 Mar 24 2008 time
По дате хорошо видно, что они дописали конф. файл tftp-hpa:
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ cat /etc/xinetd.d/tftp-hpa
service tftp
{
disable = no
id = chargen-dgram
socket_type = dgram
protocol = udp
user = root
wait = yes
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot/
}
И это, собственно, единственный разрешённый (disable = no) сервер для xinetd. Сам xinetd перезапущен (PID поменялся, см. выше):
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ ps -A | grep netd
7571 ? 00:00:00 xinetd
xinetd подымает FTFP сервер:
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ ps -A | grep ftp
7579 ? 00:00:00 in.tftpd
И запущен dnsmasq, который у них совмещает DNS + DHCP:
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ ps -A | grep dns
7592 ? 00:00:00 dnsmasq
Всё, в общем, понятно ... но неожиданностью (для меня) было то, что они
при конфигурировании, динамически дописали содержимое TFTP-каталога для PXE-загрузки
:
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ ls -l /var/lib/tftpboot/
total 13404
-rw-r--r-- 1 root root 11229260 Nov 7 22:52 initrd.img
-rw-r--r-- 1 root root 26816 Nov 7 23:27 pxelinux.0
drwxr-xr-x 2 root root 60 Nov 7 23:27 pxelinux.cfg
-rw-r--r-- 1 root root 2424448 Nov 7 23:27 vmlinuz-2.6.32-5-amd64
До конфигурирования здесь был только образ файловой системы initrd.img (см. выше).
Ну хитрецы!
Код: Выделить всё
user@pel1:/var/lib/tftpboot$ ls /var/lib/tftpboot/pxelinux.cfg/
default
user@pel1:/var/lib/tftpboot$ cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT linux
LABEL linux
KERNEL vmlinuz-2.6.32-5-amd64
APPEND initrd=initrd.img nfsroot=10.11.12.1:/live/image ip=dhcp rw noautologin noxautologin union=aufs netboot=nfs boot=live