В итоге описанных манипуляций получим debian-6.0.3-amd64 в качестве серверной и ubuntu-11.10-i386 в качестве клиентской ОС.
Ставим Debian cdimage.debian.org/debian-cd/6.0.3/amd64/bt-cd
Для того чтобы система раздавала интернет пишем правило для iptables
и сохраняем их
включаем форвардинг
редактируем
добавляем в него строчку:
настравиваем для загрузки по сети
раскомментируем строку
и задаём диапазон раздаваемых ip-адресов
если при запуске будет выдавать ошибку Permission denied — перезагрузить сервер
создаём каталог для клиентской ос
устанавливаем debootstrap
настраиваем NFS
дописываем путь к клиентской файловой системе и права клиента
синхронизируем настройки
перегружаем NFS-сервер
корректируем список зеркал
куда вписываем список зеркал которые будут доступны
пользователям клиентской Ubuntu
Изменяем кореневой каталог
выставляем пароль для root
passwd
настройка ядра
ставим
загружаем ядро linux (в окне при установке выбираем yes — продолжить установку без загрузчика)
создаём образ initramfs
редактируем сетевые интерфейсы
добавляем
редактируем разбивку диска
Настройка сервера
Ставим Debian cdimage.debian.org/debian-cd/6.0.3/amd64/bt-cd
Для того чтобы система раздавала интернет пишем правило для iptables
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
и сохраняем их
iptables-save > /etc/iptables.up.rules
включаем форвардинг
echo "1" > /proc/sys/net/ipv4/ip_forward
редактируем
apt-get install mc
mcedit /etc/sysctl.conf
добавляем в него строчку:
net.ipv4.ip_forward = 1
Установка pureftpd в качестве DHCP сервера
apt-get install dnsmasq
настравиваем для загрузки по сети
mcedit /etc/apt-get install dnsmasq
раскомментируем строку
dhcp-boot=pxelinux.0
и задаём диапазон раздаваемых ip-адресов
dhcp-range=192.168.100.2,192.168.100.253,12h
Установка NFS
apt-get install nfs-kernel-server
если при запуске будет выдавать ошибку Permission denied — перезагрузить сервер
создаём каталог для клиентской ос
mkdir /kubuntu32
cd /kubuntu32
устанавливаем debootstrap
wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.38_all.deb
apt-get install binutils
ar -x debootstrap_1.0.38_all.deb
cd /
zcat /kubuntu32/data.tar.gz | tar xv
скачиваем клиентскую ОС
debootstrap --arch i386 oneiric /kubuntu32 http://mirrors.uaip.org/ubuntu/
настраиваем NFS
mcedit /etc/exports
дописываем путь к клиентской файловой системе и права клиента
/kubuntu32 192.168.100.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check)
синхронизируем настройки
exportfs -rv
перегружаем NFS-сервер
/etc/init.d/nfs-kernel-server restart
корректируем список зеркал
mcedit /kubuntu32/etc/apt/sources.list
куда вписываем список зеркал которые будут доступны
пользователям клиентской Ubuntu
Настройка клиентской Ubuntu для загрузки по сети
Изменяем кореневой каталог
chroot /kubuntu32
выставляем пароль для root
passwd
настройка ядра
apt-get update
apt-get install mc
mcedit /etc/initramfs-tools/initramfs.conf
ставим
MODULES=netboot
BOOT=nfs
загружаем ядро linux (в окне при установке выбираем yes — продолжить установку без загрузчика)
apt-get install linux-image
создаём образ initramfs
mkdir /bootimg
mkinitramfs -o /bootimg/initrd.img 3.0.0-13-generic
cp /boot/vmlinuz-3.0.0-13-generic /bootimg/vmlinuz
редактируем сетевые интерфейсы
mcedit /etc/network/interfaces
добавляем
auto eth0
iface eth0 inet manual
редактируем разбивку диска
mcedit /etc/fstab
# /etc/fstab: static file system information.
#
# proc /proc proc defaults 0 0
/dev/nfs / nfs defaults 1 1
выходим из клиентской файловой системы
exit
Установка TFTP сервера
apt-get install tftpd-hpa
в появившемся диалоговом окне пишем /tftpboot
настраиваем TFTP сервер
mcedit /etc/default/tftpd-hpa
указываем кореть сервера
TFTP_DIRECTORY="/tftpboot"
Настройка загрузки по сети
cd /tftpboot
wget http://mirrors.uaip.org/ubuntu/dists/oneiric/main/installer-i386/current/images/netboot/pxelinux.0
mkdir pxelinux.cfg
mcedit pxelinux.cfg/default
указываем пути к образам ядра и к корню подгружаемой файловой системы
DEFAULT linux
LABEL linux
KERNEL vmlinuz
APPEND root=/dev/nfs initrd=initrd.img nfsroot=192.168.100.1:/kubuntu32 ip=dhcp rw
PROMPT 0
TIMEOUT 0
скачиваем образы
cp /kubuntu32/bootimg/vmlinuz /tftpboot/vmlinuz
chmod 644 /tftpboot/vmlinuz
cp /kubuntu32/bootimg/initrd.img /tftpboot/initrd.img
chmod -R 777 /tftpboot
Настройка клиентов
в настройках BIOS выставляем загрузку по сети, мне нужная опция попадалась в таких местах:
Boot->Boot Settings Configuration->Boot From Onboard NAN=Enabled
Запускаем клиентский компьютер, заходим под root и указанным выше паролем
создаём тестового пользователя
adduser test
устанавливаем графическую среду KDE
apt-get install kubuntu-desktop
по желанию можно еще и GNOME поставить
apt-get install kubuntu-desktop
тогда пользователь при логине сможет выбрать в чём работать