首页 > 代码库 > 网络安装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的密码
安装操作系统时所需要的文件url。这里指向我的光盘文件。
分区配置,与grub安装配置。不过不支持LVM,想要使用LVM需要参考模板文件,手动添写。分区根据自己的情况而定,注意备份数据。!!
这里选择要安装的软件包
还有安装执行的脚本等等。最后点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