В итоге описанных манипуляций получим 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
тогда пользователь при логине сможет выбрать в чём работать