一、自动化安装系统工具
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安装系统的更多相关文章
-
NanoPi NEO2 学习笔记 1:安装系统、首次开机和一些设置
初识NEO2 前几天搞到了一块NanoPi NEO2,A53的核心,512M内存,一个千兆网口,非常小的体积,质量也不错,非常满意,140元的价格可以买到这样一块ARM开发板也是非常划算了,非常适合低 ...
-
学习笔记17—circos安装集(window环境)
Windows7环境下Circos使用教程 一.下载安装软件包 1.strawberry perl 因为Circos软件是依赖perl语言编译环境的,但是windows环境下默认是没有perl的,所以 ...
-
PHP学习笔记----IIS7下安装配置php环境
原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...
-
Ext.Net学习笔记17:Ext.Net GridPanel Selection
Ext.Net学习笔记17:Ext.Net GridPanel Selection 接下来是Ext.Net的GridPanel的另外一个功能:选择. 我们在GridPanel最开始的用法中已经见识过如 ...
-
SQL反模式学习笔记17 全文搜索
目标:全文搜索 使用SQL搜索关键字,同时保证快速和精确,依旧是相当地困难. SQL的一个基本原理(以及SQL所继承的关系原理)就是一列中的单个数据是原子性的. 反模式:模式匹配 使用Like 或者正 ...
-
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...
-
openresty 学习笔记一:环境安装
openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...
-
alfs学习笔记-自动化构建lfs系统
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一名linux爱好者,记录构建Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习lfs,用博客 ...
-
blfs(systemd版本)学习笔记-构建gnome桌面系统
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 大概思路: lfs(系统)+xorg(驱动)+gnome(桌面组件) 链接: lfs(systemd版本)学习笔记系列:http ...
随机推荐
-
常用的数据统计Sql 总结
最近刚在搞一个BI的项目,里面需要大量的sql 数据统计相关运用,加深了我又对SQL的理解与使用. 所以,分享几个数据统计时常用的sql 语句总结: 1. 统计各个条件下的数据 select Batc ...
-
C++之路进阶——poj3461(Oulipo)
Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 35694 Accepted: 14424 Descript ...
-
使用java自带线程池管理器demo
1.程序入口:D*Test package com.lbh.myThreadPool.present; import java.util.concurrent.ExecutorService; ...
-
第20章 DLL高级技术(2)
20.3 延迟载入DLL 20.3.1延迟载入的目的 (1)如果应用程序使用了多个DLL,那么它的初始化可能比慢,因为加载程序要将所有必需的DLL映射到进程的地址空间.→利用延迟加载可将载入过程延伸到 ...
-
POJ 1286 【POLYA】
题意: 给你三种颜色的珠子,每次给你N,问在旋转,翻转之后视作相同的情况下,能组成多少种不同的项链. 思路: 让我们借这道题拯救一下我对POLYA定理的理解... sigma(m^(gcd(i,n)) ...
-
android109 结构体,联合体,枚举,自定义
#include <stdio.h> #include <stdlib.h> void study(){ printf("吃饭睡觉打*\n"); } // ...
-
lsof 拥有更多的功能
lsof 拥有更多的功能# lsof -i 看系统中有哪些开放的端口,哪些进程.用户在使用它们,比 netstat -lptu 的输出详细. # lsof -i 4 查看IPv4类型的进程COMMA ...
-
[SSD大法好]神舟K480-I5-D3鸟枪换炮M6S
Hello,SSD 期盼已久,终于入手了M6S的256G固态硬盘,白天就不安生一直百度.谷歌.必应,势必要把所有相关消息查个清楚这神舟K480I5D3怎生拆呢. 最后心里隐约有了安装的法门. 但到得开 ...
-
利用Filter和拦截器,将用户信息动态传入Request方法
前言: 在开发当中,经常会验证用户登录状态和获取用户信息.如果每次都手动调用用户信息查询接口,会非常的繁琐,而且代码冗余.为了提高开发效率,因此就有了今天这篇文章. 思路: 用户请求我们的方法会携带一 ...
-
Java基础-常用的String方法
先从String的new的方式 说起 这是面试题里面经常出现的 算是老套路之一 就是 比较下列两个的变化 两种实例化的区别 第一种String name1 = "好人";Strin ...