网上有一些通过网络安装linux的文章,我觉得多数不够详尽,我是综合看了好几篇文章才搞定的,现在把整个过程详细地记录一下(提示一下:还没用cd装过linux的同学还是先从光盘安装学起吧^_^)。这个实验中我用的是RHEL4,其他版本也是可以的。
先来大概说一下网络安装linux的基本原理。我们是通过PXE(Pre-boot Execution Environment)这个东东(其实是intel设计的一个协议)来进行安装的,它可以使计算机通过网络启动。PXE协议分为server和client端,client就是我们即将要装linux的裸机。
PXE协议的成功运行需要解决2个问题:
1. 既然通过网络传输,那计算机启动的时候它的ip是怎么来的?
2.  通过什么协议下载操作系统所需要的文件?
我们下面的配置安装的过程就是围绕上面2个问题展开的:
第一,   解决ip的问题。这个问题应该想得到,还没有系统怎么配ip啊,当然是要用到dhcp啦~;
第二,   解决传输的问题。这个你应该也想到了吧,对啦就是ftp,但是补充一下,还需要tftp这个东东。
好啦,废话不多讲啦,动手吧。注意我们的dhcp和ftp、tftp都是要安装在server端的,先来配置server端(基本上只要配置server就ok了):
上面这个就是server的ip:192.168.0.110/255.255.255.0,对了忘了告诉大家这个实验是在vmware上做的,我的虚拟网卡是设为vmnet2的(担心和局域网的dhcp搞混所以不用桥接!)
# vi /etc/dhcpd.conf
主要是把关于PXE的配置加到dhcp中就是了,filename “pxelinix.0” 这一句是要在ftp中用到的文件之一,不懂没关系,先照着做就是了。启动服务留到后面一起来吧。
Dhcp搞定后就轮到tftp啦,还是先来安装一下吧~
# vi /etc/xinetd.d/tftp
这个tftp只要这样配就好了(注意把原来的disable=yes该成no),简单吧^_^
那个ftp就更简单了,等下直接启动vsftp(关于vsftp如有疑问可以看我的另一篇vsftp博客)就ok了。
你可能会问,就这样就好了吗,这样连上去就能得到我要的linux了吗?当然不是,我们的linux安装文件还没放上去呢!我们要做的就是把RHEL4四张光盘里的文件放到tftp目录上,动手吧~
# mkdir  /tftpboot/pxelinux.cfg                              (创建tftp目录)
然后把cd1放入cdrom(注意,目前位置我们一直是在弄server)并mount.
# mount  /media/cdrom
# cp  /media/cdrom/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg
# cp  /media/cdrom/isolinux/*.msg  /tftpboot/pxelinux.cfg
# mv  /tftpboot/pxelinux.cfg/isolinux.cfg  /tftpboot/pxelinux.cfg/default   (需要重命名)
# cp  /usr/lib/syslinux/pxelinux.0  /tftpboot    #这个pxelinux.0就是dhcp中的那个
# cp  /media/cdrom/images/pxeboot/vmlinuz  /tftpboot
# cp  /media/cdrom/images/pxeboot/initrd.img  /tftpboot
以上做完后/tftpboot中的内容如下:
pxelinux.0  pxelinux.cfg  vmlinuz initrd.img
目录pxelinux.cfg中有文件default。
还需要把所有光盘的文件放到ftp目录上去           (要换n次cd,汗!
# mkdir /linuxsetup
# cp �CR /media/cdrom/*  /linuxsetup          (此命令要跑四次,第2,3,4次提示是否覆盖请输入y)
OK,配置工作已经完成了,启动需要的服务吧
# /etc/init.d/dhcpd restart
# /etc/init.d/vsftpd restart
# /etc/init.d/xinetd restart
好了,server端的所有操作就完成了,到client端安装吧^_^
注意client端的虚拟网卡要和server同类型,这里是vmnet2啦。
开机后进入bios(虚拟机用F2)选择启动顺序为Network boot……然后:
注意最后一行linux askmethod是需要我们输入的。然后按照它的提示一步一步下去喽~
上面最好不要再选dhcp了,否则获取hostname会很慢(能不能获得到我还没验证
还记得前面创建的ftp目录吧,就是这里的/linuxsetup啦,注意不要用匿名
注意这个ftpuser要具有对/linuxsetup的读取权限哦~再后面的安装就和cd安装的过程类似了,只是没有图形桌面而已^_^
把grub放到mbr(主引导扇区)内。
Ok,这次是真的ok了,按提示设置root密码,reboot就可以玩弄你的linux了!
 
特别注意,有几个容易出错的地方:
1、 请先确认你的server和client是可以通讯的
2、 请确认你的防火墙设置好了(允许dhcp、tftp、ftp等等),或者是关闭了
3、 请注意你的ftpuser的权限,关于vsftp有疑问可以找另一篇vsftp的文章
 
看起来整个过程还是有点麻烦的,有兴趣的朋友可以自己玩玩.