本节来介绍下完全anaconda安装程序,严格上讲完全anaconda服务器需要dhcp,tftp,nfs,dns,vftpd或者http服务器,本节中虽然不涉及dns部分,但也能完成基本的anaconda,这个之前也在CentOS上实践过,现在有必要重新整理整理…
[root@yang ~]# mount /dev/cdrom /mnt //将红帽关盘挂载并做为yum库,红帽5.4的光盘可直接使用,而不用执行createrepo操作
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@yang ~]# cat /etc/yum.repos.d/local.repo
[cdrom]
name=dvd for rhel5.4
baseurl=file:///mnt/Server
gpgcheck=0
[root@yang ~]# yum -y install dhcp tftp-server //安装dhcp和tftp服务器,dhcp解决地址分配问题,tftp则用来传输内核初始化闪存盘等
[root@yang ~]#cat /etc/dhcpd.conf //dhcp配置文件
option domain-name “yang.com”; //定义默认域名,若有dns服务器,可以联动
default-lease-time 6000; //默认地址租约过期时间,全局选项
max-lease-time 11400; //地址租约最长过期时间,全局选项
authourtative; //定义该服务器为网络中的权威dhcp服务器
next-server 192.168.0.200; //pxe中使用的nfs服务器地址
ddns-update-style ad-hoc; //这个style参数必须是ad-hoc、interim或者none
log-facility local7; //日志类型,使用/etc/syslog.conf中自定义的日志local7
subnet 192.168.0.0 netmask 255.255.255.0{ //在192.168.0.0/24位网络中使用dhcp
range 192.168.0.10 192.168.0.100; //dhcp服务器的地址范围
option domain-name-servers 192.168.0.200; //为客户端提供的dns服务器IP
option domain-name “yang.com”; //为客户端提供的域名
option netbios-name-servers 192.168.0.200; //为客户端提供的netbios服务器IP
option routers 192.168.0.1; //为客户端提供的网关地址
option broadcast-address 192.168.0.255; //为客户端提供的广播地址
default-lease-time 6000; //默认地址租约过期时间,局部选项
max-lease-time 11400; //地址租约最长过期时间,局部选项
filename “/pxelinux.0”; //指定客户端启动要载入的初始启动文件,改文件位于tftp服务器根目录下
}
本机网卡配置:
[root@yang ~]# ifconfig |grep ‘inet addr’
inet addr:10.0.0.200 Bcast:10.255.255.255 Mask:255.0.0.0
inet addr:192.168.0.200 Bcast:192.158.0.255 Mask:255.255.255.0
inet addr:127.0.0.1 Mask:255.0.0.0
tftp服务器配置:
[root@yang ~]# cd /tftpboot/
[root@yang tftpboot]# cp -rv /mnt/isolinux/* ./ //拷贝关盘下的所有文件到该目录下
[root@yang tftpboot]# mkdir pxelinux.cfg //创建一个pxelinux.cfg目录,并将isolinux.cfg复制到该目录,并重命名为default
[root@yang tftpboot]# cp isolinux.cfg ./pxelinux.cfg/default
[root@yang tftpboot]# cp /usr/lib/syslinux/pxelinux.0 ./ //该文件为启动镜像
启动tftp服务器和dhcp服务器,设置开机自启动:
[root@yang ~]# service dhcpd start
Starting dhcpd: [ OK ]
[root@yang ~]# chkconfig dhcpd on
[root@yang ~]# chkconfig xinetd on
[root@yang ~]# chkconfig tftp on
配置nfs服务器并启动:
[root@yang ~]# cat /etc/exports
/mnt 192.168.0.0/24(ro,sync,no_root_squash) //no_root_squash选项表示如果使用root用户访问NFS共享目录,那么对于这个共享目录就具有 root 的权限
[root@yang ~]# service portmap restart
Stopping portmap: [ OK ]
Starting portmap: [ OK ]
[root@yang ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
[root@yang ~]# chkconfig portmap on
[root@yang ~]# chkconfig nfs on
查看配置:
[root@yang ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/mnt 192.168.0.0/24
安装kickstart图形工具包:
[root@yang ~]# yum -y install system-config-kickstart //kickstart工具在使用的时候包组会读取/etc/yum.repo.d/下的配置文件,而配置文件中必须存在【base】,否则会报错
生成ks.cfg文件:
[root@yang ~]# cat ks.cfg
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth –useshadow –enablemd5 //密码验证启用shadow和MD5
# System bootloader configuration
bootloader –location=mbr //启动引导,也就是Grub安装在mbr上
# Partition clearing information
clearpart –all –initlabel //删除磁盘上的所有分区
# Use graphical install
graphical //使用图形方式安装,text则代表文本方式安装
# Firewall configuration
firewall –enabled //启用防火墙
# Run the Setup Agent on first boot
firstboot –disable
key –skip //跳过序列号
# System keyboard
keyboard us //使用美国键盘
# System language
lang en_US //安装语言使用英语
# Installation logging level
logging –level=info //日志级别,安装日志记录在/root/install.log中
# Use NFS installation media
nfs –server=192.168.0.200 –dir=/mnt //安装源位置
# Network information
network –bootproto=dhcp –device=eth0 –onboot=on //网络使用dhcp来配置
#Root password
rootpw –iscrypted $1$3H./fEFJ$RvktBflwaUfPGtk2A8ImH1 //root用户的密码,这里使用了MD5加密
# SELinux configuration
selinux –enforcing //启用selinux
# System timezone
timezone –isUtc Asia/Shanghai //时区使用上海,utc
# Install OS instead of upgrade
install //代表安装而不是升级
# X Window System configuration information
xconfig –defaultdesktop=GNOME –depth=8 –resolution=800×600 //配置显示的分辨率
# Disk partitioning information
part swap –bytes-per-inode=4096 –fstype=”swap” –size=512 //分区的设定,默认以MB为单位
part /boot –bytes-per-inode=4096 –fstype=”ext3″ –size=100
part / –bytes-per-inode=4096 –fstype=”ext3″ –size=10000
%post
reboot //安装完成后重启
%packages //安装的包组
@base-x
@gnome-desktop
@development-libs
@development-tools
安装ftp服务器,并将ks.cfg文件发布出去:
[root@yang ~]# yum -y install vsftpd
[root@yang ~]# cp ks.cfg /var/ftp/pub/
[root@yang ~]# cat /tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 1 //1秒后超时
display boot.msg //显示的菜单,这些菜单文件都存放在/tftp目录下
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append ks=ftp://192.168.0.200/pub/ks.cfg initrd=initrd.img //指定anaconda文件位置
label text
kernel vmlinuz
append ks=ftp://192.168.0.200/pub/ks.cfg initrd=initrd.img
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append –
启动ftp服务器,关闭防火墙:
[root@yang ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@yang ~]# service iptables stop
查看日志:
[root@yang ~]# tail -f /var/log/xferlog
Sat Mar 13 16:44:11 2010 1 192.168.0.100 1216 /pub/ks.cfg b _ o a rhinstall@ ftp 0 * c