一、自动化安装系统工具

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. hdu-2136 Largest prime factor---巧用素数筛法

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2136 题目大意: 每个素数在素数表中都有一个序号,设1的序号为0,则2的序号为1,3的序号为2,5的 ...

  2. Android(java)学习笔记58:Android 英文朗诵

    1. 首先,我先把代码放到下面: package com.himi.speaker; import java.util.Locale; import android.app.Activity; imp ...

  3. c# 后台线程 访问前台控件并显示信息

    //设置为后台线程 Thread th = new Thread(delegate() { append(); }); th.IsBackground = true; th.Start(); //在a ...

  4. HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)

    传送门: Bungee Jumping Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  5. [译]GLUT教程 - 安装

    Lighthouse3d.com >> GLUT Tutorial >> Basics >> Setup 你需要什么 要用GLUT库开发程序,你可以下载最新版本3. ...

  6. AngularJS表格排序

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  7. Unity 游戏框架搭建 (九) 减少加班利器-QConsole

    为毛要实现这个工具? 在我小时候,每当游戏在真机运行时,我们看到的日志是这样的. 没高亮啊,还有乱七八糟的堆栈信息,好干扰日志查看,好影响心情. 还有就是必须始终连着usb线啊,我想要想躺着测试... ...

  8. Hibernate学习第一天

    Hibernate框架第一天 今天任务 1. 使用Hibernate框架完成对客户的增删改查的操作 教学导航 1. 能够说出Hibernate的执行流程 2. 能够独立使用Hibernate框架完成增 ...

  9. 微信小程序已发布版本vconsole仍出现问题解决办法

    解决办法很简单,进入小程序的体验或者开发版,点击关闭调试,再次进入小程序,就不会出现了

  10. TabbarController进行模块分类和管理

    iOS-CYLTabBarController[好用的TabbarController]   用TabbarController进行模块分类和管理,这里推荐一个CYLTabBarController, ...