Настройка Redhat Linux

Бездисковый компьютер запрашивает у NFS сервера монтирование /tftpboot/< IP адрес бездискового компьютера> (в ядре Linux 2.1 и выше это - /tftpboot/<имя бездискового компьютера в bootptab> ) в качестве корневого каталога '/'. Вы должны экспортировать его с сервера (rw, no_root_squash) так как бездисковый компьютер захочет в него писать (регистрационные файлы и т.д.).

Корневой каталог / должен содержать /sbin, /bin, /lib, /etc, /var, /tmp, /root, /dev и /proc.

/sbin, /bin, /lib могут быть копиями с существующей Redhat Linux системы. Они могут совместно использоваться всеми бездисковыми компьютерами. Они не должны быть ссылками на оригинальные файлы.

/etc, /var и /dev не должны быть совместно используемыми копиями. Постройте /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-eth0, /etc/fstab, /etc/conf.modules, и прочее. Выключите все не нужные вам сетевые службы. Удалите все лишнее из /var, например базу данных RPM, файлы lpd.

/root и /proc должны существовать. /tmp должен существовать и иметь режим доступа 1777.

Вероятно вы захотите создать токи монтирования /usr и /home. /usr может быть смонтирован в режиме ro (только чтение).

Должно быть достаточно около 10 Мб на бездисковый компьютер плюс около 15 Мб разделяемых файлов. Если ваши бездисковые компьютеры очень похожи, также можно совместно использовать один образ ядра.

Вот пример скрипта для создания первой корневой файловой системы.
#!/bin/sh
if [ $# != 1 ]
then
	echo Usage: $0 client-IP-addr
	exit 1
fi

cd /

umask 022

mkdir -p /tftpboot/$1

# создаем каталоги
for d in home mnt proc tmp usr
do
	mkdir /tftpboot/$1/$d
	done

	chmod 1777 /tftpboot/$1/tmp

	touch /tftpboot/$1/fastboot
	chattr +i /tftpboot/$1/fastboot

	# копируем каталоги
	cp -a bin lib sbin dev etc root var /tftpboot/$1

cat <<EOF
Теперь в /tftpboot/$1/etc, редактируем

		sysconfig/network
		sysconfig/network-scripts/ifcfg-eth0
		fstab
		conf.modules

и настраиваем

		rc.d/rc3.d
EOF

Вот примерный скрипт для дублирования корневой файловой системы
#!/bin/sh
if [ $# != 2 ]
then
	echo Usage: $0 olddir newdir
	exit 1
fi

cd /tftpboot

if [ ! -d $1 ]
then
	echo $1 is not a directory
	exit 1
fi

umask 022

mkdir -p $2

# создаем каталоги
for d in home mnt proc tmp usr
do
	mkdir $2/$d
done

chmod 1777 $2/tmp

touch $2/fastboot
chattr +i $2/fastboot

# link these ones
for d in bin lib sbin
do
	(cd $1; find $d -print | cpio -pl ../$2)
done

# копируем 
for d in dev etc root var
do
	cp -a $1/$d $2
done

cat <<EOF
Теперь в /tftpboot/$2/etc редактируем

	sysconfig/network
	sysconfig/network-scripts/ifcfg-eth0
	fstab (maybe)
	conf.modules (maybe)

и настраиваем

	rc.d/rc3.d
EOF

X-terminal

На сервере, проверьте, что бездисковый компьютер соответствует пунктам в /etc/X11/xdm/Xaccess и закомментируйте :0 /etc/X11/xdm/Xservers. Затем проверьте, что xdm запускается з init скриптов.

На клиенте запустите X -query server

вы увидите окно xdm с приглашением к входу, и затем все ваши X клиенты будут запускаться на сервере.

Другое применение - использовать технику загрузки по сети для маршрутизаторов, серверов печати (но вы не должны организовывать на них спул), отдельные применения и т.п.