如果你是一个机房管理员,需要给几十台上百台的PC安装linux ,你会怎么办呢?

是一个个拿着U盘、光盘去安装吗?这个工程量很大的!

现在我们现在用一种简单的方法利用PXE+dhcpd+vsftpd+tftp+kickstart 安装Linux 操作系统,kickstart 这里用来定制系统,是安装系统的引导文件。

 

 

 

 

 

 

 

[[email protected] cdrom]# mkdir /mnt/cdrom  创建挂载点

[[email protected] cdrom]# mount /dev/cdrom /mnt/cdrom/    挂载光盘镜像

安装FTP

[[email protected] Server]# cd /mnt/cdrom/Server/

[[email protected] Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm 

[[email protected] Server]# service vsftpd start  重启 ftp

[[email protected] Server]# chkconfig vsftpd on   设置成开机自动启动

安装DHCP

[[email protected] Server]# cd /mnt/cdrom/Server/

[[email protected] Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm 

DHCP没配置脚本所以编译/etc/dhcpd.conf 

[[email protected] Server]# vim /etc/dhcpd.conf 

:r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample   加入这个文件配置DHCP

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 

 

[[email protected] ~]# service dhcpd start 启动DHCP

Starting dhcpd: [ OK ]

[[email protected] ~]# chkconfig dhcpd on 设置开机启动

 

TFTP

[[email protected] ~]# rpm -qa |grep tftp 这里可以看出TFTP已经安装

tftp-server-0.49-2

[[email protected] ~]# rpm -ql tftp-server 看一下文件在哪里

/etc/xinetd.d/tftp vim编辑下这个文件

/tftpboot

/usr/sbin/in.tftpd

/usr/share/man/man8/in.tftpd.8.gz

/usr/share/man/man8/tftpd.8.gz

 

 

 

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux

 

 

 

 

 

 

 

[[email protected] ~]# service xinetd restart  启动超级守护进程Stopping xinetd:                                           [  OK  ]

Starting xinetd:                                           [  OK  ]

[[email protected] cdrom]# cp -r . /var/ftp/pub/  将光盘镜像拷贝到 /var/ftp/pub/

 

 

 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 

[[email protected] tftpboot]# cp /usr/lib/syslinux/pxelinux.0  .    将pxelinux.0 复制到当前目录

 

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux

 

[[email protected] tftpboot]# mkdir pxelinux.cfg

[[email protected] tftpboot]# mkdir pxelinux.cfg   为pxelinux.0 建立目录

[[email protected] tftpboot]# cp /mnt/cdrom/isolinux/isolinux.cfg  pxelinux.cfg/defaul复制配置文件

[[email protected] pxelinux.cfg]# vim default  

 

 

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 

[[email protected] tftpboot]# vim /etc/dhcpd.conf 

 

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 

[[email protected] tftpboot]# vim pxelinux.cfg/default 

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux

 

现在有一个问题我们思考下  如果给一个机房安装linux 没台设备的名称总不能都一样把 这样会出差错的。如何解决这个问题呢

首先我们需要知道主机名在哪里呢

[[email protected] tftpboot]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=localhost.localdomain      这个就是主机的名称 更改这个就可以

可是我们是无人职守安装  总不可能一个个的设置把 这里我们需要编写一个脚本

 

配置kc.cfg

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 

安装yum

[[email protected] ~]# yum install system-config-kickstart

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux

我们是在虚拟机上做的实验,所以现在要新建一个PC来模拟安装  

 

 

使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux 使用PXE+dhcpd+vsftpd+tftp+kickstart 实现无人值守安装linux