Тут был более острый комментарий, поэтому написала длинный пост, но комментарий уже стерли.
Решила все-таки написать, что бы не быть голословной.
Кратко, увы, это вещи из разных категорий... Когда я глубже копнула Debian Installer - захотелось на станции End-user'ов ставить OpenSUSE, или все-таки Fedora(при всех ее недостатках для не ИТ-ков), так как увы, вещи из совершенно разных категорий.Ниже привела тот ответ, извиняюсь, если он кому-то покажется слишком острым, и поскипанный кикстарт для dns-сервера. В данном случае сгенерирован для железки с софт-зеркалом (для примера), но обычно нам на такое жалко выделять железо, и оно идет в контейнере или виртуалке.
Кое-что удалено, кое-что поправлено (sed'ом и руками), поэтому могут быть небольшие неточности. Прошу понять правильно, наверное, никто из посетителей форума не готов, например, на обсуждении фич 1c выложить на общее обозрение фирменную 1с-базу, поэтому я положила самый никчемный кикстарт из тех, что используются в "бою", но мы подумываем, что бы поделиться с миром своим OpenVZ-ым кикстартом или другим более серьезным.
=================================
Да пожалуйста :) Кстати, предлагаю научиться пользоваться Google:
Адекватная поддержка PXE:
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5....
Поддержка своего диалекта для установки:
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5....
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5....
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5....
Предлагаю просто пробежаться по заголовкам:
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5....
Куча приятных фич, вроде инсталляции через VNC(в ряде случаев может заменить IP KVM/VirtualMedia, особенно если в ДЦ за него дерут кучу $, и согласны вставить загрузочный диск):
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5....
Интеграция с Cobbler и Sattelite/Spacewalk
Смотрим, что у Debian... Ничего, кроме
http://wiki.debian.org/DebianInstaller
Да, там тоже можно(!) юзать скрипты для установки(preseed), но... и все :( Это лишь файл ответов debconf, не больше и не меньше
Специального диалекта, как для Cobbler или Sattelite/Spacewalk, просто нет.
Пример кода:
========То, что храним в subversion======================
#New base system installtion
#Achtung!! Warning!!!! all disks will be erased!!
#Anaconda directives
$SNIPPET('standart_system_config')
$yum_repo_stanza
$SNIPPET('network_config')
#Formated hard drives
$SNIPPET('disk_format')
#temporary fix
repo --name=source-1 --baseurl=$tree
%packages
@editors
@text-internet
@core
device-mapper-multipath
kernel
screen
mc
puppet
HAS-dns
bind
%pre
$SNIPPET('log_ks_pre')
$kickstart_start
$SNIPPET('pre_install_network_config')
#Enable installation monitoring
$SNIPPET('pre_anamon')
%post
$SNIPPET('log_ks_post')
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET('post_install_network_config')
$SNIPPET('users')
# Enable post-install boot notification
$SNIPPET('post_anamon')
# Start #re-Install grub in mdraid
$SNIPPET('has_grub_mdraid')
$SNIPPET('has_puppet_conf')
$kickstart_done
===============
В Cobbler задаем переменные, на основе которых генерится, например, такой код:
=====================================
#New base system installtion
#Achtung!! Warning!!!! all disks will be erased!!
#Anaconda directives
install
url --url=http://X.X.X.X:80/cblr/links/centos54-i386
cmdline
poweroff
lang ru_RU.UTF-8
keyboard us
timezone --utc Europe/Moscow
skipx
rootpw --iscrypted ''
network --noipv6
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
services --disabled=avahi-daemon bluetooth cpuspeed crond cups firstboot ip6tables irqbalance lvm2-monitor readahead_early restorecond sendmail smartd yum-updatesd hidd
repo --name=Centos-54-x86-base --baseurl=http://X.X.X.X/cobbler/repo_mirror/Centos-54-x86-base
repo --name=Centos5-x86-epel --baseurl=http://X.X.X.X/cobbler/repo_mirror/Centos5-x86-epel
repo --name=Centos5-x86-hasystems --baseurl=http://X.X.X.X/cobbler/repo_mirror/Centos5-x86-hasystems
repo --name=centos-54-i386-updates --baseurl=http://X.X.X.X/cobbler/repo_mirror/centos-54-i386-updates
# Using "new" style networking config, by matching networking information to the physical interface's
# MAC-address
%include /tmp/pre_install_network_config
#Formated hard drives
clearpart --all --initlabel
part raid.10 --size 100 --asprimary --ondrive=sda
part raid.11 --size 100 --asprimary --ondrive=sdb
raid /boot --fstype ext3 --device md0 --level=RAID1 raid.10 raid.11
bootloader --location=mbr --driveorder=md0
zerombr yes
part raid.20 --size 15220 --asprimary --ondrive=sda
part raid.21 --size 15220 --asprimary --ondrive=sdb
raid pv.01 --fstype ext3 --device md1 --level=RAID1 raid.20 raid.21
volgroup dns02 pv.01
logvol / --fstype=ext3 --vgname=dns02 --size=3500 --name=root
logvol /home --fstype=ext3 --vgname=dns02 --size=2000 --name=home
logvol /mnt/4remove --fstype=ext3 --vgname=dns02 --size=700 --name=4remove
logvol /var --fstype=ext3 --vgname=dns02 --size=1 --grow --name=var
logvol swap --fstype=swap --vgname=dns02 --recommended --name=swap
#temporary fix
repo --name=source-1 --baseurl=http://X.X.X.X:80/cblr/links/centos54-i386
%packages
@editors
@text-internet
@core
device-mapper-multipath
kernel
screen
mc
puppet
HAS-dns
bind
%pre
set -x -v
exec 1>/tmp/ks-pre.log 2>&1
# Once root's homedir is there, copy over the log.
while : ; do
sleep 10
if [ -d /mnt/sysimage/root ]; then
cp /tmp/ks-pre.log /mnt/sysimage/root/
logger "Copied %pre section log to system"
break
fi
done &
wget "http://X.X.X.X/cblr/svc/op/trig/mode/pre/system/dns02" -O /dev/null
# Start pre_install_network_config generated code
# Start of code to match cobbler system interfaces to physical interfaces by their mac addresses
# Start eth0
# Configuring eth0 (54:52:00:79:1d:2e)
if ifconfig -a | grep -i 54:52:00:79:1d:2e
then
IFNAME=$(ifconfig -a | grep -i '54:52:00:79:1d:2e' | cut -d " " -f 1)
echo "network --device=$IFNAME --bootproto=dhcp" >> /tmp/pre_install_network_config
fi
# End pre_install_network_config generated code
#Enable installation monitoring
%post
set -x -v
exec 1>/root/ks-post.log 2>&1
# Start yum configuration
wget "http://X.X.X.X/cblr/svc/op/yum/system/dns02" --output-document=/etc/yum.repos.d/cobbler-config.repo
# End yum configuration
# Start post_install_network_config generated code
mkdir /etc/sysconfig/network-scripts/cobbler
cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/cobbler/
# Start configuration for eth0
IFNAME=$(ifconfig -a | grep -i '54:52:00:79:1D:2E' | cut -d ' ' -f 1)
if [ -f "/etc/modprobe.conf" ] && [ $IFNAME ]; then
grep $IFNAME /etc/modprobe.conf | sed "s/$IFNAME/eth0/" >> /etc/modprobe.conf.cobbler
grep -v $IFNAME /etc/modprobe.conf >> /etc/modprobe.conf.new
rm -f /etc/modprobe.conf
mv /etc/modprobe.conf.new /etc/modprobe.conf
fi
echo "DEVICE=eth0" > /etc/sysconfig/network-scripts/cobbler/ifcfg-eth0
echo "HWADDR=54:52:00:79:1D:2E" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-eth0
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-eth0
echo "BOOTPROTO=dhcp" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-eth0
# End configuration for eth0
rm -f /etc/sysconfig/network-scripts/ifcfg-*
mv /etc/sysconfig/network-scripts/cobbler/* /etc/sysconfig/network-scripts/
rm -r /etc/sysconfig/network-scripts/cobbler
if [ -f "/etc/modprobe.conf" ]; then
cat /etc/modprobe.conf.cobbler >> /etc/modprobe.conf
rm -f /etc/modprobe.conf.cobbler
fi
# End post_install_network_config generated code
useradd -m -s /bin/bash -G wheel YYYY
mkdir -p /home/YYYY/.ssh
wget -O /home/YYYY/.ssh/authorized_keys "http://install.local/senior_admins/YYYY/key"
wget -O /etc/sudoers "http://install.local/system_configs/sudoers"
chmod 440 /etc/sudoers
chmod 700 /home/YYYY/.ssh/
chmod 440 /home/YYYY/.ssh/authorized_keys
chown -R YYYY:YYYY /home/YYYY/
useradd -m -s /bin/bash -G wheel YYYY
mkdir -p /home/YYYY/.ssh
wget -O /home/YYYY/.ssh/authorized_keys "http://install.local/senior_admins/YYYY/key"
wget -O /etc/sudoers "http://install.local/system_configs/sudoers"
chmod 440 /etc/sudoers
chmod 700 /home/YYYY/.ssh/
chmod 440 /home/YYYY/.ssh/authorized_keys
chown -R YYYY:YYYY /home/YYYY/
#re-Install grub in mdraid
grub --batch <<EOF
device (hd0) /dev/sda
device (hd1) /dev/sdb
root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit
EOF
#make puppet-gen dir
mkdir /var/puppet-tmp/
#Remove temporary partition
sed -i '/4remove/d' /etc/fstab
umount /mnt/4remove/
lvremove -f /dev/*/4remove
rm -rf /mnt/4remove/
echo "environment = development" >> /etc/puppet/puppet.conf
# Enable post-install boot notification
# Start final steps
wget "http://X.X.X.X/cblr/svc/op/ks/system/dns02" -O /root/cobbler.ks
wget "http://X.X.X.X/cblr/svc/op/trig/mode/post/system/dns02" -O /dev/null
# End final steps