1. 概念:

自动安装的脚本,这篇文章以RHEL6.8为例

kickstart for RHEL6.8官方教程:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Migration_Planning_Guide/sect-Migration_Guide-Installation-Graphical_Installer-Kickstart.html

1.1 安装程序:anaconda,有tui(基于cureses的文本配置窗口)和gui(图形界面)两种

1.2 启动顺序:bootloader --> kernel(initrd(rootfs)) --> anaconda

MBR:boot.cat

||

V

Stage2:执行isolinux/isolinux.bin

  读取配置文件isolinux/isolinux.cfg,其中重要选项有

    加载内核:isolinux/vmlinuz

    向内核传递参数:append  initrd=initrd.img

||

V

装载根文件系统,并启动anaconda

  默认界面是图形界面:需要512MB+内存空间

  若需要显式指定启动TUI接口: 向启动内核传递一个参数"text"即可

  按ESC键可以键入boot命令行,键入linux text即可正常启动

  键入linux method,即可手动指定仓库

1.3 anaconda的工作过程

1.3.1 安装前配置阶段
  安装过程使用的语言;
  键盘类型
  安装目标存储设备
  Basic Storage:本地磁盘
  Special Storage: iSCSI
  设定主机名
  配置网络接口
  时区
  管理员密码
  设定分区方式及MBR的安装位置;
  创建一个普通用户;
  选定要安装的程序包;
1.3.2 安装阶段
  在目标磁盘创建分区并执行格式化;
  将选定的程序包安装至目标位置;
  安装bootloader;
1.3.3 首次启动
  iptables
  selinux
  core dump

1.4 anaconda的配置方式:
交互式配置方式;
支持通过读取配置文件中事先定义好的配置项自动完成配置;遵循特定的语法格式,此文件即为kickstart文件;

2. 版本:

OS:RHEL6.8

kickstart:system-config-kickstart-2.8.6.6-1.el6.noarch.rpm

3. ks-scripts:

# Kickstart file automatically generated by anaconda.
# version=DEVEL # ==========命令段========== # ----------必备命令--------- # lang 语言类型
# 中文是zh_CN.UTF-8
lang en_US.UTF-8 # keyboard 设置键盘类型
keyboard us skipx # rootpw:管理员密码,会有salt
# 可以使用openssl生成:openssl passwd -1 -salt `openssl rand -hex 4`
rootpw --iscrypted $6$LFw8plSO4ZU9jfXp$oV4ywwfa0BbAVDFLKj/Mqnbbe5lCv/H0DgppcOWbcMc3JjvHsJ5bjncpf795fyxqGt.r3n31NVsVOdO.1mIwS/ # authconfig:认证方式配置
# 下面这个例子是使用shaodw文件储存密码,密码加密方式为sha512
authconfig --enableshadow --passalgo=sha512 # timezone:时区
timezone --utc Asia/Shanghai # bootloader 定义bootloader的安装位置及相关配置
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" # clearpart:这个选项会清空所有分区
# clearpart --none --drivers=/dev/sda
clearpart --all --initlabel # part:分区布局
# pv.008002在后面创建vg的时候还会用到,是物理分区的标示
part /boot --fstype=ext4 --size=500
part pv.008002 --grow --size=200 # volgroup 创建逻辑卷组
# logvol 创建逻辑卷
volgroup vg_system --pesize=4096 pv.008002
logvol /home --fstype=ext4 --name=lv_home --vgname=vg_system --size=4096
logvol /opt --fstype=ext4 --name=lv_opt --vgname=vg_system --size=4096
logvol / --fstype=ext4 --name=lv_root --vgname=vg_system --size=4096
logvol swap --name=lv_swap --vgname=vg_system --size=4096
logvol /tmp --fstype=ext4 --name=lv_tmp --vgname=vg_system --size=4096
logvol /usr --fstype=ext4 --name=lv_usr --vgname=vg_system --size=4096
logvol /var --fstype=ext4 --name=lv_var --vgname=vg_system --size=4096 # ----------必备命令END--------- # ----------可选命令--------- # 安装操作系统,可以使用install或者upgrade
install # 安装界面类型,test为tui,默认为GUI
text # network:配置网络接口
network --onboot yes --device eth0 --bootproto static --ip 10.30.2.1 --netmask 255.255.255.0 --gateway 10.30.2.254 --noipv6 --nameserver 10.24.2.1 --hostname hctjcobbler # 防火墙配置
# 可以使用firewall --service=ssh来开放ssh的端口
firewall --disabled # selinux配置
# 启用selinux使用:selinux --enforcing
selinux --disabled # 清空mbr
zerombr yes # 配置服务是否启用
services --disabled=avahi-daemon,cups --enabled=auditd # 系统安装完成之后的行为:halt,poweroff或者reboot
reboot # 指明安装时使用的repository
repo --name="ftp" --baseurl=ftp://10.26.2.58/depot/yum/rhel65 --cost=1000 # 指明安装时使用的repository,但为url格式;
url --url ftp://10.26.2.58/depot/yum/rhel65/ # ----------可选命令END--------- # ==========命令段END========== # ==========程序包段==========
# 指明要安装的程序报,以及包组,也包括不安装的程序包
# 以%packages开头%end结尾
# 可以使用 @group_name(安装一组软件)
# package(安装单个软件)
# -package(不安装某个软件)
%packages
@base
@compat-libraries
@console-internet
@core
@debugging
@development
@directory-client
@fonts
@graphical-admin-tools
@hardware-monitoring
@java-platform
@large-systems
@legacy-unix
@legacy-x
@network-file-system-client
@performance
@perl-runtime
@system-management-snmp
@server-platform
@server-policy
@storage-client-multipath
@system-management
@system-admin-tools
@system-management-wbem
@x11
@storage-client-iscsi
mtools
pax
python-dmidecode
oddjob
tunctl
yum-plugin-downloadonly
yum-plugin-versionlock
sgpio
x86info
zsh
ftp
lftp
compat-gcc-34
compat-gcc-34-g77
jpackage-utils
compat-gcc-34-c++
samba-winbind
certmonger
pam_krb5
krb5-workstation
nscd
pam_ldap
nss-pam-ldapd
system-config-lvm
lm_sensors
rsh
rwho
rusers
telnet
tcp_wrappers
finger
ksh
xterm
libXmu
perl-LDAP
perl-DBD-SQLite
ipmitool
OpenIPMI
rrdtool
screen
tree
lsscsi
tog-pegasus
rpm-devel
libuuid.i686
freetype.i686
libSM.i686
libICE.i686
libXau.i686
libxcb.i686
libX11.i686
libXext.i686
libXi.i686
libXrender.i686
libXrandr.i686
libXfixes.i686
libXcursor.i686
expat.i686
fontconfig.i686
zlib.i686
libstdc++.i686
pam.i686
libacl.i686
-pcmciautils
%end
# ==========程序包段END========== # ==========脚本段==========
# %pre:安装前脚本。运行环境:运行安装介质上的微型linux # %post:安装后脚本。运行环境:安装完成的系统; # ==========脚本段END==========

  

4. 安装

4.1 安装引导选项:

ks:指明kickstart文件的位置;

ks=cdrom:/PATH/TO/KICKSTART_FILE #DVD drive
ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE #Hard Driv
ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE #HTTP Server
ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE #FTP Server
ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE #HTTPS Server

asknetwork:交互式填入网卡IP地址

text:文本安装方式

method:手动指定使用的安装方法
  与网络相关的引导选项:
    ip=IPADDR
    netmask=MASK
    gateway=GW
    dns=DNS_SERVER_IP
  远程访问功能相关的引导选项:
    vnc
    vncpassword='PASSWORD'
  启动紧急救援模式:
    rescue
  装载额外驱动:
    dd

4.2 kickstart文件的格式(详见脚本上的注释)

4.2.1 命令段:指定各种安装前配置选项,如键盘类型等

4.2.1.1 必备命令:

4.2.1.2 可选命令:

4.2.2 程序包段:

4.2.3 脚本段:

  %pre:安装前脚本。运行环境:运行安装介质上的微型linux

  %post:安装后脚本。运行环境:安装完成的系统;

4.3 kickstart图形工具:

名称:system-config-kickstart-2.8.6.6-1.el6.noarch.rpm

安装:yum install system-config-kickstart

检查语法错误命令:ksvalidator

4.4 安装过程:

4.4.1 光盘安装:

引导光盘制作:

挂载引导光盘到系统文件夹

mount /dev/sr0 /mnt

拷贝所有文件到要制作镜像的文件夹

cp -r /mnt/* /tmp/myboot/

下载ks文件到光盘镜像制作文件夹

wget ftp://10.26.2.58/scripts/kickstart/anaconda-ks2.cfg

制作镜像文件

mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "RHEL 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /tmp/boot.iso   /tmp/myboot/

修改isolinux/isolinux.cfg文件,在需要引导的选项后面指定ks地址

append initrd=initrd.img ks=cdrom:/anaconda-ks.cfg

4.4.2 网络安装:

开机按ESC键进入引导选项

# 使用网络安装

boot: linux ip=10.30.2.1 netmask=255.255.255.0 ks=ftp://10.26.2.58/scripts/kickstart/annaconda-ks.cfg

【Linux】【Basis】【RHEL】KickStart for RHEL6.8的更多相关文章

  1. 【Linux&Unix--open/close/write/read系统调用】

    个人学习整理.如有不足之处,请不吝不吝赐教. 转载请注明:@CSU-Max 系列博文:      Linux&Unix学习第一弹 -- 文件描写叙述符与权限  Linux&Unix学习 ...

  2. 【linux之设备,分区,文件系统】

    一.设备 IDE磁盘的设备文件采用/dev/hdx来命名,分区则采用/dev/hdxy来命名,其中x表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推), y代表分区的号码(由1开始,..3以此类推) ...

  3. 【linux之挂载,Raid,LVM】

    一.挂载,卸载 挂载:将新的文件系统关联至当前根文件系统卸载:将某文件系统与当前根文件系统的关联关系移除 cat /etc/mtab 存储着已经挂载的文件系统 (跟 mount 一样) mount:显 ...

  4. 【linux之进程管理,系统监控】

    一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...

  5. 【Linux磁盘优化管理--RAID和LVM】

    在现阶段的企业环境中,为了数据的安全性及完整性必须要有一个合理的存储方案.面对着每秒可能产生超过几TB的数据,考虑到磁盘能不能实现 热冗余,及扩容,缩容.Linux给出了RAID(磁盘阵列)以及LVM ...

  6. 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)

    原文:http://blog.csdn.net/wenqian1991/article/details/46700177 通过前面的分析,可以发现,网络协议栈中的数据处理,都是基于各类结构体,所有有关 ...

  7. 【linux之链接,函数,随机数】

    一.链接 硬链接(hard link):同一个文件使用了多个别名.新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用.硬链接和原来的文件没有什么区别,而且共享一个inode号.通过 ...

  8. 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

    额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...

  9. 5.2【Linux 内核网络协议栈源码剖析】socket 函数剖析 ☆☆☆

    深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来. 应用层 FTP SMTP HTTP ... 传输层 TCP UDP 网络层 IP ICMP ARP ...

  10. 【Linux下安装使用virtualenv与virtualenvwrapper】

    virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的 ...

随机推荐

  1. Maven快速入门(五)Maven的依赖管理

    前面我们讲了maven项目中的最重要的文件:pom.xml 配置文件相关内容.介绍了pom 是如何定义项目,如何添加依赖的jar 包的等. 我们知道,在Maven的生命周期中,存在编译.测试.运行等过 ...

  2. 我罗斯方块最终篇(Block类)

    负责的任务 完善Block类的相关函数及变量: 对Block类中函数进行调整改进,并于其他人负责的类相互配合: 对Block类的函数功能进行调试: github项目地址. 效果图 具体可见总篇,一下仅 ...

  3. Mac下查看 Java 安装目录位置和安装数量

    /usr/libexec/java_home -V 第一个红框是安装数量, 第二个红框是目前正在使用的 JDK 版本位置

  4. eclipse下的python环境安装

    添加python开发环境到eclipse:   点击help--install New Software 点击add,弹出新窗口: Name:填PyDev Location:填 http://pyde ...

  5. liunx下安装mysql(8.0.27)

    一.软件下载: 1.通过官网下载: https://dev.mysql.com/downloads/repo/yum/ 本文使用的系统为centos7,基于RedHat7的版本 2.下载完成后文件 m ...

  6. [loj2135]幻想乡战略游戏

    以1为根建树,令$D_{i}$为$i$子树内所有节点$d_{i}$之和 令$ans_{i}$为节点$i$的答案,令$fa$为$i$的父亲,则$ans_{i}=ans_{fa}+dis(i,fa)(D_ ...

  7. 千呼万唤,web人脸识别登录完整版来了,这样式我爱了

    大家好,我是小富~ 在我最开始写文章的时候曾经写过一篇文章 基于 Java 实现的人脸识别功能,因为刚开始码字不知道写点什么,就简单弄了个人脸识别的Demo. 但让我没想到的是,在过去的一年里有好多好 ...

  8. HTML四种定位-绝对定位

    绝对定位 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&q ...

  9. Hive处理Json数据

    Json 格式的数据处理 Json 数据格式是我们比较常用的的一种数据格式,例如埋点数据.业务端的数据.前后端调用都采用的是这种数据格式,所以我们很有必要学习一下这种数据格式的处理方法 准备数据 ca ...

  10. 如何在Docker容器中使用Arthas

    Arthas(阿尔萨斯) 能为你做什么? Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar ...