首页 > 代码库 > 网络安装linux

网络安装linux

实验环境:vmworkstation10,centos6.5,远程终端xshell,操作系统已经安装过apache。虚拟机的ip为192.168.1.55。


网络安装服务器需要启动的服务。    

      DHCP:用来给客户机启动时分配IP,并告诉客户机到tftp服务器上找启动安装系统的引导程序。

      tftp:负责提供启动系统引导程序,引导内核等。

      文件服务器:提供安装过程中需要的软件包,kickstart应答文件等。

客户机需要把网络接入与服务器同一网络,并设备bios允许网络启动,保证第一启动项为网络引导。


安装配置dhcp服务

# rpm -qa dhcp  #查看dhcp包有没有安装,如果没有安装执行下一步安装,已安装过跳过下一步。
# yum -y install dhcp  #使用yum安装dhcp

#vim /etc/dhcp/dhcpd.conf   #编辑dhcp的配置文件,可以参考/usr/share/doc/dhcp<与dhcp包版本同名>/dhcpd.conf.sample 。这是dhcp配置文件的模版。option开头的行是给客户端配置网络信息,剩下都配置都是配置dhcp服务器端工特性。我这里的配置文件如下。

option domain-name "wukui.com";        #客户机所属的域
option domain-name-servers 8.8.8.8;      #分配给客户机制dns
default-lease-time 600;       #租约时间,以秒为单位。
max-lease-time 7200;          #最大租约时间,以秒为单位
log-facility local7;                #记录DHCP服务器目录级别
subnet 192.168.1.0 netmask 255.255.255.0{    #标记要分配的网络,{}中为一个整体。
  range 192.168.1.60 192.168.1.100;    #地址池
  option routers 192.168.1.1;      #客户端的默认网关
  next-server 192.168.1.55;         #这里在网络安装操作系统时才用的到,指定客户机得到网络配置后第一个要找的tftp服务器。
  filename "pxelinux.0" ;            #指定读取tftp服务器上的文件。
host winxp {                                                #这段用来指定某个MAC地址获取指定IP的。这里用不到这段,只是用来做个提示给单个主机分配IP的方法。
hardware ethernet 00:11:22:33:44:55;        #硬件地址
fixed-address 192.168.1.88;                        #给这个硬件地址分配的IP
option routers 192.168.1.1;                        #分配给这个IP地址主机的的网关
}
}




安装配置tftp服务器。tftp包是客户端,tftp-server为服务器湍。tftp依赖超级守护进程xinetd启动监听服务,xinetd必须启动才可以使用tftp服务。

#yum -y install tftp-server
#yum -y install tftp
#vim /etc/xinetd.d/tftp   #修改disable的值为no,其它不用修改。
service tftp
{
        socket_type = dgram
        protocol = udp
        wait = yes
        user = root
        server = /usr/sbin/in.tftpd
        server_args = -s /var/lib/tftpboot
        disable = no        #修改这里的值为no,这样xinetd启动后就会替tftp监听端口。
        per_source = 11
        cps = 100 2
        flags = IPv4
}


重记xinetd服务,并测试tftp。

# service xinetd restart  #重启xinetd服务,以让其监听tftp服务。
#rpm -ql tftp-server #查看tftp-server软件包都生成了那些文件,这里主要看它提供服务的目录在什么地方
/etc/xinetd.d/tftp
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-0.49
/usr/share/doc/tftp-server-0.49/CHANGES
/usr/share/doc/tftp-server-0.49/README
/usr/share/doc/tftp-server-0.49/README.security
/usr/share/doc/tftp-server-0.49/README.security.tftpboot
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot     #提供服务的主目录

对tftp做测试,看下能否正常上传下载文件。进入tftp后无法使用像ls之类的命令。使用help可以获取使用帮助

#ss -unl | grep 69 #查看tftp使用udp 69端口是否监听。
#cp /etc/passwd /var/lib/tftpboot/
#tftp 192.168.1.55
>get passwd
>quit
#ls passwd  #看下是否能够下载文件。确保tftp服务没问题。



把启动需要的文件拷贝到tftp目录下。以下对每个文件作用简单描述。


pxelinux.0 类似于grub的引导程序,文件位于/usr/shate/syslinux/pxelinux.0。加载它后会出现一个类似grub的命令行。然后加载tftp上的linux内核和ramdisk。再加载anaconda(fedora维护的软件,用来安装操作系统)开始安装系统。

vesamenu.c32 pxelinux.0 加载时的图形界面。 

splash.jpg 加载图形内面的背景图片。

isolinux.cfg 图形界面显示的内容的功能配置文件,我这里主要在此文件中指定安装操作系统自动应答文件。此文件必须复制到tftp主目录下的pxelinux.cfg目录下,文件名必须为default

以上三个文件在光盘上的isolinux目录下

vmlinuz 网络引导启动的linux内核。

initrd.img 帮助内核加载客户机大磁盘的驱动。

以上两个文件在光盘上的image/pxeboot目录下

配置文件
default vesamenu.c32   
timeout 60   #指定超时时间为6秒。
display boot.msg
menu background splash.jpg 
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000 
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^start install system 
menu default
kernel vmlinuz ks=   #给内核传参数,指定配置文件的位置。
append initrd=initrd.img


至此启动工作配置文完,接下来配置文件服务器和kickstart自动应答文件。文件服务使用apache。由于我的系统安装后就已经安装了httpd服务。所以直接启动就可以了。

准备操作系统安装文件

# service httpd start  #启动apache
# cp -r /media/*  /var/www/html/centos/  # 把操作系统安装过程中需要的文件复制到网站根目录下的centos目录下
制作kickstart自动应答文件
模板文件是/root/anaconda-ks.cfg,可以参考此文件。还可以使用图形配置工具system-config-kickstart,用这个工具来配置应答文件。这个软件需要安装。
# yum -y install system-config-kickstart  
# system-config-kickstart      #启动图形配置窗口,我试过在putty不可以使用。启动后的界面如下。


配置时区和root的密码

spacer.gif

wKiom1PY0E2zVnvxAAMnh1tLvG4006.jpg




安装操作系统时所需要的文件url。这里指向我的光盘文件。

spacer.gif

wKiom1PY0E2y6LpoAAHUXH8S9iE663.jpg

分区配置,与grub安装配置。不过不支持LVM,想要使用LVM需要参考模板文件,手动添写。分区根据自己的情况而定,注意备份数据。!!

spacer.gif

wKioL1PY0WeQigjSAALEHSR3b5U758.jpg

这里选择要安装的软件包

spacer.gif

wKioL1PY0WezsZ1PAAK8yFcXcJs257.jpg

还有安装执行的脚本等等。最后点file按钮保存文件,文件保存在当前的工作目录里。


把应答文件放在apache的根目录下,要确保可以访问到。并且保证/var/lib/tftpboot/pxelinux.cfg/default文件中kernel vmlinuz ks=http://192.168.1.55/ks.cfg 指向正确r的应答文件。


本文出自 “红颜易逝豪情长” 博客,请务必保留此出处http://wukui.blog.51cto.com/1080241/1532949