Linux无人值守安装

前言

    通常情况下,我们安装Linux操作系统的时候需要从光盘启动,通过系统光盘bootloader启动安装程序,进入交互式安装模式,由用户配置安装选项,如磁盘分区、选择安装包等操作;安装完毕后重启结束安装。在生产环境中,成百上千台服务器需要安装操作系统的时候如果也采用交互式安装模式,无疑是极其低效的。本文主要介绍批量自动部署安装Linux操作系统。

服务器端环境部署:

    DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,为客户端分配IP地址。

    tftp-server(Trivial File Transfer Protocol):简单文件传输协议,为客户端提供bootloader、kernel及其他引导文件

    xinetd(eXtended InterNET services daemon):超级守护进程,tftp服务依赖于此进程

    kickstart文件:自动安装配置文件

    httpd:为客户端提供安装源及kickstart安装文件

    引导文件:可从系统安装光盘提取。

一、安装配置DHCP服务

    安装dhcp

[root@qin ~]# yum -y install dhcp

    修改dhcp配置文件

[root@qin ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@qin ~]# vim /etc/dhcp/dhcpd.conf 
default-lease-time 28800;                    #默认租约时间
max-lease-time 86400;                        #最大租约时间
log-facility local7;
subnet 192.168.19.0 netmask 255.255.255.0 {  #提供dhcp服务的子网
  range 192.168.19.100 192.168.19.110;       #可分配地址范围
  option domain-name "qin.org";              #指定搜索域
  option domain-name-servers 114.114.114.114, 8.8.8.8;        #指定域名
  option routers 192.168.19.1;                                #指定网关
  next-server 192.168.19.23;                                  #指定tftp服务器
  filename "pxelinux.0";                                      #指定pxe引导文件
}

    启动dhcp服务

[root@qin ~]# service dhcpd configtest        #检查配置文件错误
Syntax: OK
[root@qin ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]
[root@localhost ~]# ss -unl|grep :67
UNCONN     0      0                         *:67                       *:*
[root@qin ~]# chkconfig dhcpd on

二、安装配置tftp-server。

    安装

[root@qin ~]# yum -y install tftp-server

    为客户端提供引导文件

[root@qin ~]# mkdir /media/cdrom                    #引导文件可从系统安装光盘拷贝
[root@qin ~]# mount /dev/cdrom /media/cdrom
[root@qin ~]# cp /media/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
[root@qin ~]# cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/
[root@qin ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@qin ~]# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@qin ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.19.23/ks.cfg    #指定kickstart文件路径
[root@qin ~]# yum -y install syslinux               #pxe引导文件由此包提供
[root@qin ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@qin ~]# tree /var/lib/tftpboot/               #检查内核及引导文件是否完整
/var/lib/tftpboot/
├── boot.msg
├── initrd.img
├── pxelinux.0
├── pxelinux.cfg
│   └── default
├── splash.jpg
├── vesamenu.c32
└── vmlinuz

1 directory, 7 files

    启动tftp-server

[root@qin ~]# chkconfig tftp on
[root@qin ~]# service xinetd start
Starting xinetd:                                           [  OK  ]
[root@qin ~]# ss -unl|grep :69
UNCONN     0      0                         *:69                       *:*

三、kickstart文件生成

[root@qin ~]# yum -y groupinstall "X Window System" "Desktop"    #kickstart文件创建依赖与图形桌面
[root@qin ~]# yum -y install system-config-kickstart

    在图形桌面执行system-config-kickstart命令,根据需要选择或填写相关信息即可。

ks.png

    保存退出后会生成一个配置文件,可以根据需要再次修改。

firewall --disabled
selinux --disabled
install
url --url="http://192.168.19.23/centos6"        #指定网络安装路径
repo --name="CentOS"  --baseurl=http://192.168.19.23/centos6 --cost=100    #指定安装源地址
rootpw --iscrypted $1$RWj/3$0JlND19WoyIh3cIx1zdCE0        #密码字符串也可以通过grub-md5-crypt命令生成
auth  --useshadow  --passalgo=sha512
text                 #文本界面安装,默认为graphics
keyboard us
lang en_US
skipx
logging --level=info
reboot
timezone  Asia/Chongqing
network  --bootproto=dhcp --device=eth0 --onboot=on
bootloader --location=mbr
zerombr            #清空mbr
clearpart --all  
part pv.01 --grow --size=1            #配置逻辑卷,system-config-kickstart不支持逻辑卷,需要直接修改配置文件
part /boot --fstype=ext4 --size=500
volgroup VolGroup --pesize=4096 pv.01
logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size=1024 --maxsize=8192
logvol swap --name=lv_swap --vgname=VolGroup --grow --size=1984 --maxsize=1984

%packages        #指定安装包或包组,包组以@打头
@base
@development
@server-platform-devel
%end

%pre        #安装前执行脚本,此处未指定
%end

%post       #安装后执行脚本
groupadd -g 1001 qin
useradd -u 1001 -g 1001 qin
%end

四、安装配置httpd。

    安装

[root@qin ~]# yum -y install httpd

    配置

[root@qin ~]# mkdir /var/www/html/centos6
[root@qin ~]# mount /dev/cdrom /media/cdrom
[root@qin ~]# mount --bind /media/cdrom /var/www/html/centos6        #绑定光盘镜像到httpd工作目录作为安装源供客户端使用
[root@qin ~]# cp /root/ks.cfg /var/www/html/            #把此前生成的kickstart文件放到http工作目录供客户端调用

    启动

[root@qin ~]# service httpd start
[root@qin ~]# chkconfig httpd on

客户端配置

    1、修改bios设置,从网卡启动

network.png

dhcp.png

    2、选择第一项,可以直接回车执行自动安装;亦可以按TAB键手动修改需要读取的kickstart文件

ks1.png

    3、开始安装

install.png

    4、安装完验证是否与kickstart文件一致

ip.png

id.png

lvm.png

   

原创文章,作者:秦,如若转载,请注明出处:http://www.178linux.com/4350

(1)
秦
上一篇 2015-05-14 14:06
下一篇 2015-05-18 17:32

相关推荐

  • ☞Web服务器之apache

    Web服务器之apache http协议 telnet的使用 curl命令 httpd的相关配置 welcome.conf — 403 forbidden 修改监听的端口和地址 保持连接 DSO 定义物理主机站点文档 资源访问授权 路径别名Alias 本地httpd-manual 开启status 日志设定 虚拟主机 基于用户的访问控制 httpd压力测试 …

    Linux干货 2016-10-08
  • Linux文件夹作用

    适用对象:本文适用于初学Linux以及有志于学习Linux的朋友们。   Linux文件系统形状类似于倒置的树状结构,所有的文件或文件夹都可以被认为是根目录/的子目录。 在Linux系统安装完成之后,系统会自动在/目录下创建一些文件,而这些文件都有自己特殊的作用。本文就/下的目录做个简单的介绍。 /bin:存放所有用户使用的二进制可执行命令 /bo…

    Linux干货 2016-10-19
  • Linux yum客户端的配置及yum命令

    一、什么是yum我们在Linux系统上安装处理软件,一般是使用RPM,它是通过预先编译完成并且把软件打包为RPM文件格式后,再加以安装的一种方式,使用者只要拿到这个打包好的软件,然后将里头的文件放置到应该摆放的目录,这样就完成了安装。但是,由于有些软件是有依赖于其他软件的,当你要安装某个RPM类型的软件时,RPM会检验RPM软件数据库,它所依赖的相关软件包是…

    2017-06-11
  • Tomcat 全系列发现严重安全漏洞

    据 Tomcat 安全组确认,Tomcat 全系列产品均被发现严重安全漏洞:CVE-2014-0227 请求夹带漏洞。 级别:严重 受影响版本: Apache Tomcat 8.0.0-RC1 to 8.0.8 Apache Tomcat 7.0.0 to 7.0.54 Apache Tomcat 6.0.0 to 6.0.41 描述:可以通过构造一个截断请…

    Linux干货 2015-02-11
  • 有证说话硬–实现CA和证书申请

    centos下利用openssl来实现证书的颁发 直接进入正题,细节坑就不说了,自己解决起来更有挑战性不是 步骤流程: 我是拿的7.3版本做CA主机,6.8版本做客户端 1.创建CA 2.生成私钥 3.生成自签名证书 4.到客服端 5.生成私钥 6.生成证书申请文件 7.将请求发送给-CA主机 8.CA主机-验证签署 9.拷回给客户端使用 用法:openss…

    2017-04-11
  • Linux系统中文件权限(特殊权限)的相关认识

    文件属性 在linux系统中一切皆文件,所有的数据都是以文件的形式存储在系统中,我们可以通过ls命令可以查看文件的相关属性,如下图:                                &n…

    Linux干货 2016-08-04

评论列表(1条)

  • stanley
    stanley 2015-05-18 17:27

    有qa过程吗?虚拟化机器能正常安装吗?一个网络同时有多个dhcp服务会出什么问题吗?