建立无人职守安装服务器
环境要求:一台电脑,安装源光盘
所需服务:DHCP TFTP or (NFS,HTTP,FTP)

1.在服务器上建立相应的目录/rhel_source   /ks (一般用于NFS)如果是FTP,则一般会放到服务器上的/var/ftp/pub/,那么,现在我们用NFS方式进行安装部署.首先建立两个目录,/rhel_source  /ks,然后进行共享出去.
vim /etc/exports
/rhel_source    *(ro,sync)
/ks             *(ro,sync)
重新启动NFS,portmap服务.

2.启用tftp服务,vim /etc/xinetd.d/tftp,将里面的disable=yes 改为no,然后在server-flag后面再加两个参数-v -t如下:
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -t -s -v /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
然后重启xinetd服务

3.建立映像引导目录tftpboot
首先确认安装了syslinux这个包,可以用yum源进行安装,安装后,我们可以将
[root@vserver1 tftpboot]# rpm -aq | grep syslinux
syslinux-3.11-4
确定安装后,用rpm -ql syslinux查找到pxelinux.0的文件,将其复制到/tftpboo/下
[root@vserver1 tftpboot]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot
其次,进入我们的安装源目录下,进入isolinux,将进而的所有文件复制到/tftpboot下
[root@vserver1 isolinux]# pwd
/rhel_source/isolinux
[root@vserver1 isolinux]# cp * /tftpboot确定里面的文件都在
[root@vserver1 tftpboot]# pwd
/tftpboot
[root@vserver1 tftpboot]# ls
boot.cat     initrd.img    linux-install  param.msg   splash.lss
boot.msg     isolinux.bin  memtest        pxelinux.0  TRANS.TBL
general.msg  isolinux.cfg  options.msg    rescue.msg  vmlinuz
再次在/tftpboot目录下建立一个文件夹pxelinux.cfg,将安装源isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default.
[root@vserver1 tftpboot]# cp /rhel_source/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
再打开将
label vmlinux
  kernel vmlinuz
  append initrd=initrd.img ks=nfs:127.16.7.128:/ks/ks.cfg内容追加到此文件中,另外,为了让在引导的时候我们不输入vmlinux就可以进行自动安装,还要将第一行的default的项替换成vmlinux,timeout改成10,这样我们可以少等一点时间.

4.制作自动应答文件,这在里有两种方法来获取,第一种就是复制/root下有一个anonconda.cfg文件,进行少量修改就OK了.如果自己制作,我们需要安装一个包,就是system-config-kickstart.因为安装后,我们才可以进行图形界面的自动应答文件的建立,如果你牛,也可以手动建立,反正我现在还记不住.

将制作好的ks.cfg文件放到我们刚才共享出来的/ks/下.

5.安装DHCP服务器,并且配置它.
yum -y install dhcp
cp /usr/share/doc/dhcp-3.0.5/dhcp.conf.sample /etc/dhcpd.conf(将dhcp的示例文件复制到/etc/下,然后进行适当的修改就OK了.)更改后的配置如下:
-----------------------------------------------------------------------------------------------
ddns-update-style interim;
ignore client-updates;
next-server 172.16.7.128;  --->tftp服务器的IP地址
filename "/tftpboot/pxelinux.0"; --->pxelinux.0文件的存放路径
allow bootp;   --->这两条一定要,也就是接受引导
allow booting;
subnet 172.16.7.0 netmask 255.255.255.0 { --->你dhcp服务器所在网段

# --- default gateway
        option routers                  172.16.7.1;  --->设置网关
        option subnet-mask              255.255.255.0;--->子网掩码

        option nis-domain               "domain.org";--->NIS域
        option domain-name              "domain.org";--->DNS域名
        option domain-name-servers      172.16.7.1;--->DNS域名服务器地址

        option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              192.168.1.1; --->时间服务器地址
#       option netbios-name-servers     192.168.1.1; --->netbios服务器地址(一般可以不用)
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;

        range dynamic-bootp 172.16.7.128 172.16.7.254;--->DHCP分配IP地址的范围
        default-lease-time 21600; --->租约时间
        max-lease-time 43200; --->最大租约时间

        # we want the nameserver to appear at a fixed address
        host ns {--->以下内容就是IP绑定,也就是win系统里所说的保留IP给固定的主机
                next-server marvin.redhat.com;
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 207.175.42.254;
        }
}
------------------------------------------------------------------------------------------------
ks.cfg
key --skip
auth  --useshadow  --enablemd5
bootloader --append="rhgb quiet" --location=mbr
clearpart --none  
text
firewall --disabled
firstboot --disable
keyboard us
lang en_US
logging --level=info
nfs --server=172.16.7.128 --dir=/rhel_source
url --url=ftp://172.16.7.128/pub/server
url --url=http://172.16.7.128/
network --bootproto=dhcp --device=eth0 --onboot=on
rootpw --iscrypted $1$1dz.8GED$942ipkQ5pyselowxRdm.0/
selinux --disabled
timezone  Asia/Chongqing
install
xconfig  --defaultdesktop=GNOME --depth=8 --resolution=640x480
part / --bytes-per-inode=4096 --fstype="ext3" --size=7000
part swap --bytes-per-inode=4096 --fstype="swap" --size=512
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
%packages
@base
@x-software-development
@development-libs
@development-tools
@legacy-software-development
@system-tools
@gnome-software-development
@admin-tools
@chinese-support
@text-internet
@editors
emacs
kexec-tools
fipscheck
device-mapper-multipath
xorg-x11-utils
xorg-x11-server-Xnest
libsane-hpaio
---------------------------------------------------------------
default文件示例:
default vmlinux
prompt 1
timeout 6
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks initrd=initrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -
label vmlinux
  kernel vmlinuz
  append initrd=initrd.img ks=ftp://172.16.7.128/pub/ks.cfg
  append initrd=initrd.img ks=nfs:172.16.7.128:/ks/ks.cfg
  append initrd=initrd.img ks=http://172.16.7.128/ks.cfg