Linux操作系统的安装方法相信很多人已经非常熟悉了,一般多以从网络中下载iso文件并刻录一张DVD光盘后从光驱安装比较常见,但是,当您有大批相同配置的电脑需要安装Linux,或者您的电脑没有光驱,那么采用这种方法安装就会十分繁琐,为此,如果能够充分利用批量电脑的硬件相似性通过网络安装Linux就要简单的多,本文主要讲解如何通过网络来批量安装Linux操作系统,以满足一般的网吧机器或者学校机房的系统频繁安装维护更新等工作。


主要内容包括下面几个部分

一、网络PXE启动功能实现
        1、Syslinux编译安装
        2、 配置PXE启动目录结构、菜单、文件
        3、配置tftpd
        4、配置dhcpd
 二、自动分区功能实现
       1、制作特殊格式的软盘镜像方法
       2、img文件下载
       3、修改autocad.exe
 三、自动安装功能实现
       1、RedHat/CentOS
       2、SUSE



网络PXE启动功能实现

1、编译syslinux

下载syslinux4.0
http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.00.tar.gz

参考: http://syslinux.zytor.com/wiki/index.php/PXELINUX

$pwd
/soft
$tar xzvf syslinux-4.00.tar.gz
$cd syslinux-4.0
$make


2、配置安装目录及启动菜单和文件

具体的分布操作过程如下。

$mkdir /tftpboot
$chown nobody /tftpboot
$chmod 755 /tftpboot

$cd tftpboot                               ----PXE启动的远程根目录
$mkdir linux                                ----存放Linux系统PXE安装时启动文件和nfs安装的挂载目录                           
$mkdir pxelinux.cfg                     ----存放启动菜单文件
$mkdir script                               ----存放SUSE,RedHat/CentOS系统的自动安装脚本文件

$mkdir boot                                ----存放启动维护用的镜像文件和自动分区的镜像文件

$cd /soft/syslinux-4.0
$cd core/pxelinux.0 /tftpboot
$cd gpx/gpxelinux.0 /tftpboot
$cp gpx/pxelinux.gpxe /tftpboot
$cp com32/menu/*.c32 /tftpboot/pxelinux.cfg
$cp com32/modules/reboot.c32 /tftpboot/pxelinux.cfg
$cp com32/modules/chain.c32 /tftpboot/pxelinux.cfg

原理:
启动文件是gpxelinux.0,gpxelinux.0通过pxelinux.gpxe文件调用gpxelinux.0
Gpxelinux是开源项目

gPXE (formerly Etherboot) is an open-source Preboot Execution Environment (PXE) implementation and bootloader. It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing PXE implementation with support for additional protocols. While traditional PXE clients use TFTP to transfer data, gPXE adds the ability to retrieve data through other protocols like HTTP, iSCSI and ATA over Ethernet (AoE), and can work with Wi-Fi rather than requiring a wired connection.
具体参见: http://en.wikipedia.org/wiki/GPXE

$cd /tftpboot/pxelinux.cfg

增加下面几个菜单文件,内容可从下载文件中获取。
$vi default                                     ---------------PXE的启动菜单
$vi linuxsetup.menu                      ---------------Linux系统的安装菜单
$vi system.menu                           ---------------系统维护和自动分区的菜单
$vi windowssetup.menu               ---------------Windows远程安装或克隆的菜单


3、配置tftpd

参照:http://blog.csdn.net/linfengfeiye/archive/2010/07/03/5710650.aspx


4、配置dhcpd

主页:https://www.isc.org/software/dhcp/

vi /etc/dhcpd.conf
#-------------------------------------------------
option domain-name "xxxx.xxxx.xxxx.xxxx";
option domain-name-servers 192.168.0.9;
option lpr-servers rcac;
ddns-update-style none;
default-lease-time 14400;
#----------------tftp-----------------------------
ignore client-updates;
allow booting;
allow bootp;
#--------------------------------------------------
subnet 192.168.0.0 netmask 255.255.255.0 {
option broadcast-address 192.168.0.255;
option routers 192.168.0.9;
range dynamic-bootp 192.168.0.115 192.168.0.190;
default-lease-time 14400;
max-lease-time 172800;
next-server 192.168.0.9;
filename "/gpxelinux.0";
}
其中,xxxx.xxxx.xxxx.xxxx 是你的域名,allow booting和allow bootp用来支持启动,next-server 192.168.0.9指出tftp下载启动文件的服务器,filename "/gpxelinux.0";指出pxe启动文件,如果你的tftp用了chroot功能,这个地址是相对于tftp启动根目录的地址,如果没有,就需要写全地址。



二、自动分区功能实现

如果用KickStart或者AutoYast也是可以实现硬盘分区的,但是这样做不太好,因为硬盘其他分区可能需要安装Windows,如果下一次Linux损坏的时候重新安装Linux的时候又要重新分区,会破坏Windows数据。因此,采用Ghost方法要比较好,可以只在特定的分区安装Linux,下一次更新的时候也不需要动其他分区数据。
    Ghost方法实现自动分区的原理就是利用大批量电脑的硬盘容量基本一致,可以将磁盘分好区,格式化好后制做成硬盘镜像文件保存,利用PXE启动将该文件全自动恢复到其他未分区的硬盘上,从而实现其他硬盘的自动分区,为了能够从网络启动恢复硬盘镜像,需要制作一个可启动软盘镜像,具体的方法如下。

1、制作特殊的软件镜像:
    可以用WinImage或者是Ultraiso,WinImage只支持最大2.88M,而Ultraiso 高版本可以支持更大的容量,方法是选择新建->软件镜像->选择大小和启动系统->将所需要文件拷贝到该盘->从文件菜单查看信息获得c、s、h参数->保存镜像文件。我用该方法制作的ima盘在网络启动时总是出现失败,主要原因可能是系统启动文件的选取不对,最终只好采用了可以启动的maxdos作为母盘来改写。
WinImage下载
http://america.winimage.com/download/winima81.exe
WinImage注册机
http://bbs.wuyou.com/attachment.php?aid=55505

ULTRAISO下载
http://p2s.newhua.com/down/uiso9_cn.exe


2、img文件下载
这是我从maxdos母盘来制作的自动分区镜像,里面有ghost 11.0 Dos版和一个硬盘备份文件。

http://www.brsbox.com/filebox/down/fc/65339a9b1647d7ec1466527dcc962875


3、修改autoexec.bat
     如果您需要不同的硬盘分区情况,具体做法是,先从自己的机器上用分区工具将硬盘分好区,而且全部格式化好,最好采用fat32格式或者ntfs格式,保证ghost能够识别,然后运用ghost将整个磁盘备份为client.gho文件,并替换镜像文件中的相应文件,改磁盘的autoexec.bat内容如下,如果你有不同的需要,可以参照ghost.exe的详细参数进行改写并覆盖autoexec.bat,注意你的镜像制作和恢复应当用一个版本的ghost,以免出错。

Autoexec.bat内容

@ECHO off
ghost.exe -clone,mode=load,src=a:/client.gho,dst=1 -sure -rb

ghost.exe的详细参数参见
http://hi.baidu.com/zgeee/blog/item/3917643ed3fbc13a70cf6c9e.html

Ghost 11.0下载
http://9.jsdx1.crsky.com/200701/SymantecGhost-v11.0H.rar

另一个种解决方案是用gdisk的Dos分区工具,可以用gdisk命令在Dos批处理中写好全自动分区脚本后自动执行,命令可以参照下面这个一键分区工具

http://gghost.cn/soft/Gdisk_Onekey.rar



二、自动安装功能实现

1、RedHat/CentOS
     该类系统采用KickStart脚本来实现自动安装, Kickstart 自动安装配置文件ks.cfg 是一个普通的文本文件,其中含有安装Linux所需的各项设置,例如语系、分区的配置、root 的密码、等各项安装时所需要的设置值。Red Hat Linux安装程序也根据您在安装过程中所选择的选项建立一个ks.cfg 的参考范例, 该文件会存放在/root下,比如/root/anaconda-ks.cfg文件。要自己定制ks.cfg文件,可以在vmware里先装个centos然后使用kickstart来制作,默认的centos是没有安装kickstart的,可以使用yum来安装, yum install -y system-config-kickstart,这样便可装kickstart装到centos 系统中了,装好后使system-config-kickstart图形配置完后,将配置文件保存,比如此处保存为centos54-client-ks.cfg。
    完成后,将改文件保存在http协议或者ftp协议能够访问到的位置,例如我存放在/tftpboot/scripts下,而在http根目录中建议一个到/tftpboot/scripts的链接文件scripts,这样就可以通过http://yourip/scripts/centos54-client-ks.cfg来访问所需要的安装配置文件了。
    最后,需要修改pxelinux的启动菜单为下面的形式。

label install centos linux 5.4 64bit
MENU PASSWD yourpasswd
#menu default
menu label install centos 5.4 64bit
kernel linux/centos/5.4/x86_64/vmlinuz
append ksdevice=eth0 /
ks=http://yourip/scripts/centos54-client-ks.cfg /
initrd=linux/centos/5.4/x86_64/initrd.img
注意上面的append是一行。

详细信息参照下面
CentOS KickStart
http://wiki.centos.org/TipsAndTricks/KickStart

http://www.centos.org/docs/5/html/5.2/Installation_Guide/s1-kickstart2-howuse.html


2、SUSE

SUSE系统是用autoyast.xml文件作为配置文件进行全自动安装的,一般情况下,如果你安装SUSE时勾选了创建 autoyast的话,在/root目录下会生成一个autoyast.xml文件。
     如果要修改位自己的autoyast.xml需要安装autoyast2软件包,可以用software management 安装该工具,安装完成后,从系统菜单中选择Yast------>Miscellaneous------->Autoinstallation或者从终端中输入 /sbin/yast2 autoyast即可打开配置界面,在该界面可以配置安装过程中的主要参数,然后保存为xml文件,也可以从kickstart文件导入来生产autoyast文件。

我的SUSE Linux安装菜单如下。

label install suse linux 11.2 64bit

MENU PASSWD rcac

MENU LABEL Install SUSE Linux 11.2 64bit

KERNEL linux/suse/opensuse/11.2/x86_64/linux

APPEND initrd=linux/suse/opensuse/11.2/x86_64/initrd vga=0 textmode=1 install=nfs://192.168.2.1/tftpboot/linux/suse/opensuse/11.2/x86_64/cdrom splash=silent showopts autoyast=http://192.168.2.1/scripts/suse112-64-client.xml

详细教程参照下面
AutoYast
http://www.novell.com/coolsolutions/feature/15376.html

更详细的AutoYast文档参见系统目录
/usr/share/doc/packages/autoyast2/html/

无人值守网络安装Linux相关推荐

  1. 无人值守网络安装Linux系统

    概述:本文描述的是通过网络安装linux系统(PXE),完全自动无人值守安装,是通过Linux系统的kickstart工具来实现的 实验环境:分为安装服务器,启动服务器和客户机,本文把安装服务器和启动 ...

  2. linux查看网卡硬件 lsw,无人值守网络安装Linux系统

    概述:本文描述的是通过网络安装linux系统(PXE),完全自动无人值守安装,是通过Linux系统的kickstart工具来实现的 实验环境:分为安装服务器,启动服务器和客户机,本文把安装服务器和启动 ...

  3. PXE+Kickstart实现无人值守批量安装Linux

    PXE+Kickstart实现无人值守批量安装Linux 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的 ...

  4. linux不断安装操作系统,无人值守批量安装linux操作系统

    无人值守批量安装linux操作系统(实验总结) 每天都看对着电脑的操作系统,有时候出现了什么问题实在解决不了,我们肯定会选择重做系统的,当然一台两台系统我们还是可以一一搞定,可是我们是否想过要是一次性 ...

  5. (转)Cobbler无人值守批量安装Linux系统

    本文目录: 1.1 pxe安装系统 1.2 cobbler基本介绍 1.3 安装和配置cobbler 1.3.1 安装cobbler 1.3.2 配置dhcp和tftp 1.4 cobbler从本地光 ...

  6. linux系统批量装机,PXE+Kickstart实现无人值守批量安装Linux

    PXE+Kickstart实现无人值守批量安装Linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端: 支持TF ...

  7. linux操作系统网络,网络安装linux操作系统

    网络安装安装的准备 首先配仓库 然后需要安装的服务 Yun y install tftp-server Yum y install dhcp 开始实验配仓库 安装tfpt包并进行配置 Tftp-ser ...

  8. linux无人值守安装实验,无人值守批量安装linux操作系统

    无人值守批量安装linux操作系统(实验总结) 每天都看对着电脑的操作系统,有时候出现了什么问题实在解决不了,我们肯定会选择重做系统的,当然一台两台系统我们还是可以一一搞定,可是我们是否想过要是一次性 ...

  9. 3.1 KickStart 无人值守批量安装Linux系统

    原创地址找不到了,请原创来找我吧,感谢原创. KickStart 无人值守批量安装Linux系统 一:需求分析 不适合本地安装的情况如下: (1)无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地 ...

最新文章

  1. memcached的应用和兼容程序
  2. 大疆口袋云台存储卡_让拍摄更加安心,大疆无人机与口袋相机的存储卡选择:东芝M303E...
  3. JAVA的IO编程:管道流
  4. ensp1.3.00.100用哪个virtualbox_virtualBox使用 Ubuntu18.0.4
  5. python中path的用法,python中path的用法
  6. qemuuser模式运行linux,在Android上使用qemu-user运行可执行文件
  7. BZOJ1259:[CQOI2007]矩形rect(DFS)
  8. 模块 datetime
  9. 安装java程序出错
  10. Amesim液压仿真基础与液压知识经验结合专题
  11. 电力线通信有望在物联网应用中大放异彩
  12. 使用nginx + uwsgi部署自己的django项目
  13. java 实现生成公司的电子公章,并且盖章生成电子合同
  14. 二元函数可微与切平面存在的关系
  15. 阿里平头哥首次交货——玄铁910是个啥?是芯片吗?
  16. 谱尼软件测试谱尼为网络安全护航
  17. 一种最低级的按键状态机
  18. 客服QQ,打开临时会话框(不用加为好友)
  19. DataGridView 基本用法及注意事项
  20. MFC实现窗口透明,并显示一张透明PNG图片

热门文章

  1. LeetCode - 141. 环形链表
  2. layui-概念-入门-总结
  3. webstorm中配置svn
  4. Android 自定义dialog
  5. Mysql5.6.21源码安装
  6. 解决Windows系统崩溃Linux系统却没有任何问题的错误
  7. 使用Windows8开发Metro风格应用四
  8. 数据库迁移 编码问题
  9. Seize Operation Master
  10. 玩客云刷windows做服务器_精选 | 搭建一个私人服务器如何?