注:这个无人值守,下载可以实用tftp、vsftp、nfs、web等实现。---此列以tftp进行测试。
一 安装软件
需要安装以下软件,可以用rpm安装,这些包在系统盘里都能找到
vsftpd
tftp-server
xinetd
system-config-kickstart
dhcp
libdhcp4client
libdhcp
dhcp-devel
libdhcp4client-devel
libdhcp-devel
二 服务配置
需要的服务有vsftp tftp dhcp,下面将对这些服务一一的进行配置
1 ftp配置
安装完vsftpd,用默认的配置就可以,确保匿名用户能登录。在此不作详细介绍
2 tftp配置
安装tftp-server后在/etc/xinetd.d/下会有tftp文件,按照下面的配置修改,注意修改红色字体部分。
cat /etc/xinetd.d/tftp
service tftp
{
disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot per_source = 11 cps = 100 2 flags = IPv4 } 3 dhcp配置 安装好dhcp后,复制/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample到/etc下,并改名为dhcpd.conf,具体配置可以参考下文。 cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf cat /etc/dhcpd.conf ddns-update-style interim; ignore client-updates; subnet 192.168.151.0 netmask 255.255.255.0 { option routers 192.168.151.90; option subnet-mask 255.255.255.0; next-server 192.168.151.90; #该处指定的是tftp 服务器的ip filename "pxelinux.0"; #pxe获得IP地址后的引导文件 option domain-name-servers 202.96.209.133; option time-offset -18000; # Eastern Standard Time range dynamic-bootp 192.168.151.91 192.168.151.99; default-lease-time 21600; max-lease-time 43200; } 三 制作相关文件 1 挂载linux系统光盘并将光盘中的相关文件复制到对应目录下。 mkdir /media mount /dev/hdc on /media 2 复制文件到对应目录 mkdir /tftpboot/pxelinux.cfg cp /usr/lib/syslinux/pxelinux.0 /tftpboot cp /media/p_w_picpaths/pxeboot/initrd.img /tftpboot cp /media/p_w_picpaths/pxeboot/vmlinuz /tftpboot cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default 3 编辑 /tftpboot/pxelinux.cfg/default /tftpboot/pxelinux.cfg/default默认没有写权限,要给予写权限 chmod +w /tftpboot/pxelinux.cfg/default 编辑后的default文件如下 cat /tftpboot/pxelinux.cfg/default default linux prompt 1 timeout 60 display boot.msg F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg label linux kernel vmlinuz #ks.cfg为kickstart配置文件,当有多张网卡时用ksdevice指定从哪张网卡启动网络安装,后面会介绍ks.cfg文件的制作方法 append linux ks=ftp://192.168.151.90/pub/ks.cfg initrd=initrd.img ksdevice=eth0 label memtest86 kernel memtest append - 4 ks.cfg文件配置 该文件是kickstart的配置文件,可以用各种文本编辑器修改该文件,也可以用system-config-kickstart编译工具来修改kickstart文件,同样也可以参照 anaconda-ks.cfg文件。anaconda-ks.cfg在linux系统/root下可以找到,把修改好的ks.cfg放到ftp下。 cat /var/ftp/pub/ks.cfg text auth --useshadow --enablemd5 bootloader --append="rhgb quiet" --location=mbr --driveorder=hda zerombr clearpart --linux --drives=hda graphical firewall --disabled firstboot --disable keyboard us #很重要,跳过序列化输入 key --skip lang en_US logging --level=info url --url=ftp://192.168.151.90/pub/OS #dhcp获取ip network --bootproto=dhcp --device=eth0 reboot #root密码,md5值,本例为123456的md5值 rootpw --iscrypted $1$9UyMJMtm$ulLMj23O8TseWqLraUx49. selinux --disabled skipx timezone --utc Asia/Shanghai install clearpart --linux --drives=hda part /boot --fstype ext3 --size=100 --ondisk=hda part / --fstype ext3 --size=50000 --ondisk=hda part swap --size=1000 --ondisk=hda #part pv.2 --size=0 --grow --ondisk=hda #volgroup VolGroup00 --pesize=32768 pv.2 #logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow #logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=2048 #安装系统软件包 %packages @admin-tools @base @chinese-support @core @development-libs @development-tools @dialup @editors @gnome-desktop @gnome-software-development @games @graphical-internet @graphics @java @java-development @kde-software-development @legacy-software-development @legacy-software-support @openfabrics-enterprise-distribution @printing @ruby @sound-and-video @system-tools @text-internet @x-software-development @base-x kexec-tools iscsi-initiator-utils fipscheck device-mapper-multipath sgpio python-dmidecode imake emacs libsane-hpaio festival audit mesa-libGLU-devel xorg-x11-utils xorg-x11-server-Xnest xorg-x11-server-Xvfb %post #配置ip ipaddr=`ifconfig eth0|grep -w inet|sed -e 's/^.*addr://' -e 's/Bcast:.*$//'` sed -i "/BOOTPROTO/ s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i "/NOBOOT/ s/no/yes/" /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i "/DHCPCLASS=/d" /etc/sysconfig/network-scripts/ifcfg-eth0 echo "IPADDR=${ipaddr}" >>/etc/sysconfig/network-scripts/ifcfg-eth0 echo "NETMASK=255.255.255.0" >>/etc/sysconfig/network-scripts/ifcfg-eth0 #关闭无用服务 for server in `ls /etc/rc3.d/S*`;do curserver=`echo ${server}|cut -c 15-` echo ${curserver} case ${curserver} in crond|irqbalance|microcode_ctl|network|random|sshd|syslog) echo "basic services,skip" ;; *) echo "set ${curserver} off" chkconfig --level 2345 ${curserver} off service ${curserver} stop ;; esac done 5 复制系统镜像文件 将/media下所有的文件复制到/var/ftp/pub/OS mkdir /var/ftp/pub/OS cp -r /media/* /var/ftp/pub/OS 到此pxe+kickstart安装配置工作基本结束,下面我们来重启一些服务 四 服务重启生效 service xinetd restart service vsftpd restart service dhcpd restart 五 裸机安装linux系统 裸机开启电源,等待即可完成安装,无需人工干预