一、自动化安装系统工具

1、Cobbler
    另一个自动化安装工具;

2、Kickstart
 
二、使用kickstart自动化安装系统

服务器安装的软件:

1、dhcp服务   
[root@linuxidc ~]# yum install dhcp -y

dhcpd的配置文件:
  1 subnet 192.168.10.0 netmask 255.255.255.0 { 
  2  range 192.168.10.100 192.168.10.120; 
  3  option domain-name-servers 8.8.8.8; 
  4  option domain-name "linuxidc.seagate.com"; 
  5  option routers 192.168.10.10; 
  6  option broadcast-address 192.168.10.255; 
  7  next-server 192.168.10.10;设置tftpd服务器的地址 
  8  filename "pxelinux.0";Tftpd服务器的文件名 
  9  default-lease-time 600; 
 10  max-lease-time 7200; 
 11 }

2、tftpd服务

[root@linuxidc dhcp]# yum install tftp-server

tftpd服务的文件目录:

[root@linuxidc tftpboot]# pwd 
/var/lib/tftpboot

修改/etc/xinetd.d/tftp启用tftpd服务:
  6 service tftp 
  7 { 
  8        socket_type            = dgram 
  9        protocol                = udp 
 10        wait                    = yes
 11        user                    = root 
 12        server                  = /usr/sbin/in.tftpd 
 13        server_args            = -s /var/lib/tftpboot
 14        disable                = no 
 15        per_source              = 11 
 16        cps                    = 100 2 
 17        flags                  = IPv4 
 18 }

3、安装syslinux服务,提取引导文件pxelinux.0文件到tftpd文件目录:
[root@linuxidc tftpboot]# yum provides */pxelinux.0 
syslinux-4.05-8.el7.x86_64 : Simple kernel loader which boots from a FAT filesystem 
Repo        : mine 
Matched from: 
Filename    : /usr/share/syslinux/pxelinux.0

[root@linuxidc tftpboot]# yum install syslinux-4.05-8.el7.x86_64 -y

[root@linuxidc syslinux]# cp pxelinux.0 /var/lib/tftpboot/

4、从安装光盘镜像的/images/pxeboot目录下拷贝initrd.img,vmlinuz 文件到 tftpd的文件目录
[root@linuxidc pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/

5、在tftpd文件目录下面创建pxelinux目录

[root@linuxidc tftpboot]# mkdir pxelinux.cfg

6、拷贝安装光盘镜像/isolinux/目录下面的isolinux.cfg,boot.msg到tftpd文件目录下,并命名为default,给用户写权限
[root@linuxidc isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 
[root@linuxidc isolinux]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

[root@linuxidc isolinux]# cp boot.msg /var/lib/tftpboot/

7、安装http服务,配置http安装源
[root@linuxidc pxelinux.cfg]# yum install httpd -y

在http的根目录/var/www/html创建iso目录,将安装光盘镜像iso的所有文件拷贝到iso目录下面,配置/var/www/html/iso目录:
130 <Directory "/var/www/html/iso"> 
131    AllowOverride None 
132    # Allow open access: 
133    Require all granted 
134 </Directory>

8、创建kickstart自动安装脚本

可以从一台已装好系统的机器上面的root家目录下面的anaconda-ks.cfg作为参考,脚本里面有以下一些必须要写的命令:
    bootloader:

keyboard:

lang:

part or partition:

rootpw:

timezone:

安装包选择:
    以%package开始,以%end结束,中间的软件包以@开始,软件包的定义在iso安装镜像的repodata目录下面的*comps-Server.x86_64.xml定义
 31 %packages 
 32 @base 
 33 @core 
 34 @desktop-debugging 
 35 @dial-up 
 36 @fonts 
 37 @gnome-desktop 
 38 @guest-agents 
 39 @guest-desktop-agents 
 40 @input-methods 
 41 @internet-browser 
 42 @multimedia 
 43 @print-client 
 44 @x11 
 45  
 46 %end

安装前脚本:以%pre开始,以%end结束;

安装后脚本:以%post开始,以%end/结束;

9、生成kickstart脚本并放到http根目录/var/www/html下面:
auth --enableshadow --passalgo=sha512 
install
url --url http://192.168.10.10/iso
firstboot --enable
ignoredisk --only-use=sda 
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8 
network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto 
network  --hostname=localhost.localdomain 
rootpw --plaintext RedHat 
timezone Asia/Chongqing --isUtc --nontp 
xconfig  --startxonboot 
bootloader --location=mbr --boot-drive=sda 
part / --fstype=xfs --size=5000 
part swap --fstype=swap --size=512 
clearpart --none --initlabel  
%packages 
@base 
@core

1234567891011121314151617181920212223 @desktop-debugging 
@dial-up 
@fonts 
@gnome-desktop 
@guest-agents 
@guest-desktop-agents 
@input-methods 
@internet-browser 
@multimedia 
@print-client 
@x11 
%end 
%post 
useradd redhat 
echo redhat |passwd --stdin redhat 
cat >/etc/yum.repos.d/test.repo<<EOF 
[test] 
name=test
baseurl=file:///iso
gpgcheck=0 
<<EOF 
%end 
reboot

10、在/var/lib/tftpboot/pxelinux.0/default文件里面修改ks安装源
    
append initrd=initrd.img inst.ks=http://192.168.10.10/ks.cfg

11、新建虚拟机,启动虚拟机,从pxe network 启动,系统将会自动安装

-----------------------------分割线-----------------------------

使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64 http://www.linuxidc.com/Linux/2012-12/76913p4.htm

Linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解决办法 http://www.linuxidc.com/Linux/2014-03/98986.htm

使用PXE结合kickstart 自动安装Linux系统 http://www.linuxidc.com/Linux/2014-03/98014.htm

RHCE认证之无人值守安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE) http://www.linuxidc.com/Linux/2013-10/91013.htm

PXE网络装机(有人值守与无人值守安装) http://www.linuxidc.com/Linux/2013-07/87456.htm

-----------------------------分割线-----------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-03/115204.htm

RHCE7认证学习笔记17——KickStart安装系统的更多相关文章

  1. NanoPi NEO2 学习笔记 1:安装系统、首次开机和一些设置

    初识NEO2 前几天搞到了一块NanoPi NEO2,A53的核心,512M内存,一个千兆网口,非常小的体积,质量也不错,非常满意,140元的价格可以买到这样一块ARM开发板也是非常划算了,非常适合低 ...

  2. 学习笔记17—circos安装集(window环境)

    Windows7环境下Circos使用教程 一.下载安装软件包 1.strawberry perl 因为Circos软件是依赖perl语言编译环境的,但是windows环境下默认是没有perl的,所以 ...

  3. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  4. Ext.Net学习笔记17:Ext.Net GridPanel Selection

    Ext.Net学习笔记17:Ext.Net GridPanel Selection 接下来是Ext.Net的GridPanel的另外一个功能:选择. 我们在GridPanel最开始的用法中已经见识过如 ...

  5. SQL反模式学习笔记17 全文搜索

    目标:全文搜索 使用SQL搜索关键字,同时保证快速和精确,依旧是相当地困难. SQL的一个基本原理(以及SQL所继承的关系原理)就是一列中的单个数据是原子性的. 反模式:模式匹配 使用Like 或者正 ...

  6. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  7. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  8. alfs学习笔记-自动化构建lfs系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一名linux爱好者,记录构建Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习lfs,用博客 ...

  9. blfs(systemd版本)学习笔记-构建gnome桌面系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 大概思路: lfs(系统)+xorg(驱动)+gnome(桌面组件) 链接: lfs(systemd版本)学习笔记系列:http ...

随机推荐

  1. IOS 极光推送(第三方框架)

    下载极光推送文件,将以下两个文件导入项目中 APService.h libpushSDK.a #import "HMAppDelegate.h" #import "APS ...

  2. Android(java)学习笔记19:Java中InetAddress类概述和使用

    1. 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机. 在TCP/IP协议中,这个标识号就是IP地址. 那么,我们如果获取和 ...

  3. 开源重磅,java内容管理系统CMS,点击就可以编辑,保存,轻松构建自己的站点

    买的暂时空间不给力.内存不足,老给关闭,先转到京东云上了,免费的,也不知免费多久. 这是地址2  http://java4cms.jd-app.com/index.html 这是地址  http:// ...

  4. 2018.11.4 Hibernate中一对、多对多的关系

    简单总结一下 多表关系 一对多/多对一 O 对象 一的一方使用集合. 多的一方直接引用一的一方. R 关系型数据库 多的一方使用外键引用一的一方主键. M 映射文件 一: 多: 操作: 操作管理级别属 ...

  5. c#用链表存储并读取配置文件(代码部分)

    //读取配置参数 private void loadcofig() { //List<param> camra1 = new List<param>(); List<st ...

  6. js数组、字符串常用方法

    数组方面 push:向数组尾部增加内容,返回的是新数组的长度. var arr = [1,2,3]; console.log(arr); var b = arr.push(4); console.lo ...

  7. 逻辑回归(分类问题)(Logistic Regression、罗杰斯特回归)

    逻辑回归:问题只有两项,即{0, 1}.一般而言,回归问题是连续模型,不用在分类问题上,且噪声较大,但如果非要引入,那么采用逻辑回归模型. 对于一般训练集: 参数系统为: 逻辑回归模型为:      ...

  8. c++ 单继承派生类的构造函数

    1.派生类的构造函数: #include <iostream> #include<string> using namespace std; class Student//声明基 ...

  9. Vue nodejs商城项目-商品列表页面组件

    data(){        return {            goodsList:[], // 商品列表            priceFilter:[ // 价格区间数组          ...

  10. 菜鸟崛起 DB Chapter 1 数据库概述

    1. 数据库的概述 在目前阶段,如果要存储和管理数据,则离不开数据库.当数据存储到数据库后,就会通过数据库管理系统对这些数据进行组织和管理.数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据 ...