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

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

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

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

 

 

 

 

 

 

 

[root@localhost cdrom]# mkdir /mnt/cdrom  创建挂载点

[root@localhost cdrom]# mount /dev/cdrom /mnt/cdrom/    挂载光盘镜像

安装FTP

[root@localhost Server]# cd /mnt/cdrom/Server/

[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm 

[root@localhost Server]# service vsftpd start  重启 ftp

[root@localhost Server]# chkconfig vsftpd on   设置成开机自动启动

安装DHCP

[root@localhost Server]# cd /mnt/cdrom/Server/

[root@localhost Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm 

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

[root@localhost Server]# vim /etc/dhcpd.conf 

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

 

 

 

[root@localhost ~]# service dhcpd start 启动DHCP

Starting dhcpd: [ OK ]

[root@localhost ~]# chkconfig dhcpd on 设置开机启动

 

TFTP

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

tftp-server-0.49-2

[root@localhost ~]# 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

 

 

 

 

 

 

 

 

 

 

 

[root@localhost ~]# service xinetd restart  启动超级守护进程Stopping xinetd:                                           [  OK  ] Starting xinetd:                                           [  OK  ]

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

 

 

  

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

 

 

 

[root@localhost tftpboot]# mkdir pxelinux.cfg

[root@localhost tftpboot]# mkdir pxelinux.cfg   为pxelinux.0 建立目录

[root@localhost tftpboot]# cp /mnt/cdrom/isolinux/isolinux.cfg  pxelinux.cfg/default 复制配置文件

[root@localhost pxelinux.cfg]# vim default  

 

 

 

 

[root@localhost tftpboot]# vim /etc/dhcpd.conf 

 

 

 

[root@localhost tftpboot]# vim pxelinux.cfg/default 

 

 

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

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

[root@localhost tftpboot]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

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

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

 

配置kc.cfg

 

 

安装yum

[root@localhost ~]# yum install system-config-kickstart

 

 

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

 

 

 

本文出自 “人来疯” 博客,转载请与作者联系!

你可能感兴趣的:(linux)