系统安装过程

开机系统bios自检,然后通过bootloader加载isolinux相当于吧光盘当作根文件系统挂在起来,加载的过程中会需要initrd机制,在内存中挂在一个临时根文件系统,把根文件系统需要的驱动加载出来,之后再把真正的根文件系统挂载上来。然后运行anaconda程序。

Anaconda

简介

Anaconda是Red Hat Enterprise Linux、CentOS、Fedora等操作系统的安装管理程序。它以Python及C语言写成,以图形的PyGTK和文字的python-newt接口写成。它可以用来自动安装配置,使用户能够以最小的监督运行。 Anaconda安装管理程序应用在RHEL,Fedora和其他一些项目,Anaconda提供纯文字模式和GUI模式,用户可以安装在各种各样的系统

Anaconda工作过程

安装前配置阶段

  • 安装过程使用的语言;
  • 键盘类型
  • 安装目标存储设备
  • Basic Storage:本地磁盘
  • Special Storage: iSCSI
  • 设定主机名
  • 配置网络接口
  • 时区
  • 管理员密码
  • 设定分区方式及MBR的安装位置;
  • 创建一个普通用户;
  • 选定要安装的程序包;

安装阶段

  • 在目标磁盘创建分区并执行格式化;
  • 将选定的程序包安装至目标位置;
  • 安装bootloader;

首次启动

  • iptables
  • selinux
  • core dump

Anaconda的配置方式

  • 交互式配置方式:开机页面之后手动安装
  • 自动化安装:在kickstart文件中吧配置项都设置好,让anaconda读取kickstart配置文件自动化安装

安装引导选项

系统安装菜单页面的时候,按下键盘ESC即可进入文本页面输入命令

boot:
  • text:文本安装方式
  • method:手动指定使用的安装方法
与网络相关的引导选项:
  • ip=IPADDR
  • netmask=MASK
  • gateway=GW
  • dns=DNS_SERVER_IP
远程访问功能相关的引导选项
  • vnc
  • vncpassword=‘PASSWORD’
启动紧急救援模式:
  • rescue
装载额外驱动:
  • dd
ks:指明kickstart文件的位置;

ks=

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

ks示例文件

firewall --disabled  #关闭防火墙
install    #安装操作系统
url --url="https://mirrors.aliyun.com/centos/6/os/x86_64/"  #采用网络源安装
rootpw --iscrypted $1$.EaLyDeQ$FujxZcce.b3ZpI1MI9JWR0  #加密后的root密码
auth  --useshadow  --passalgo=sha512  #认证方式,默认
graphical  #图形化界面安装
keyboard us  #键盘布局
lang en_US  #系统默认语言
selinux --disabled #关闭selinux
skipx
logging --level=info  #安装过程日志等级
reboot  #安装结束后重启
timezone  Asia/Shanghai  #设置时区
network  --bootproto=static --device=eth0 --gateway=192.168.253.2 --ip=192.168.253.181 --nameserver=192.168.253.2 --netmask=255.255.255.0 --onboot=on  #网络相关设置
bootloader --location=mbr  #bootloader安装在mbr上
zerombr
clearpart --all --initlabel
#分区信息
part /boot --fstype="ext4" --size=150
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1
#需要安装的包
%packages
@base
@development
%end

kickstart文件格式

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

  • authconfig:认证方式配置 (默认,一般不改动)
示例:
authconfig --enableshadow --passalgo=sha512
  • bootloader:定义bootloader的安装位置及相关配置
示例:
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"#--location=mbr --driveorder=sda:bootloader优先装在sda磁盘的mbr上。
#crashkernel=auto rhgb quiet:表示内核一旦崩溃,auto自动处理一般是核心转储,quiet安静模式,不输出
#rhgb:红帽自带的参数
  • keyboard:设置键盘类型
例子:keyboard us
  • lang:语言类型
例子:设置语言英文
lang en_US.UTF-8
  • part:分区布局;
标准分区例子:part /boot --fstype=ext4 --size=500
lvm例子: part pv.008002 --size=51200
  • rootpw:管理员密码
例子:
rootpw --iscrypted STRING
  • timezone:时区
例子:
timezone Asia/Shanghai
  • network:配置网络接口
例子:
network --onboot yes --device eth0 --bootproto dhcp --noipv6
  • firewall:防火墙
例子:
firewall --disabled
  • selinux:SELinux
例子:
selinux --disabled
  • repo:指明安装时使用的repository;
例子repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
  • install OR upgrade:安装或升级;
  • text:安装界面类型,text为tui,默认为GUI
  • halt、poweroff或reboot:安装完成之后的行为;
  • url: 指明安装的网络源地址

程序包段: 指明要安装程序包,以及包组,也包括不安装的程序包;

%packages : 程序包段
@group_name : 指定安装包组
package : 安装某包
-package : 指定不安装某包不一定真的不安装,因为依赖关系也可能被安装上去
%end 表示结束

脚本段:

%pre:安装前脚本 ,运行环境是运行安装介质上的微型Linux系统环境;
%post:安装后脚本 ,运行环境是安装完成的系统;

KS文件制作

一般制作有两种方法

  • 手动编写
  • 利用程序生成

主要介绍这种system-config-kickstart生成ks文件的方法,需要使用linux的图形化桌面环境,需要注意一点,如果用CentOS6生成CentOS7的ks文件可能会出问题。

#这里默认已经在图形化桌面环境中了
第一步:安装system-config-kickstart程序
yum install system-config-kickstart -y
第二步:命令行打开输入system-config-kickstart

第三步:配置

基础配置

安装方法配置
这里使用光盘

bootloader选项

分区配置
这里的分了3个分区
1./boot 文件系统ext4 150mb
2.swap交换分区 文件系统ext4 2048mb
3./ 文件系统ext4 余下所有空间

网络配置

认证方法

防火墙配置

使用图形化界面安装

程序包选择
选择要安装的程序包

后面是安装前执行的脚本与安装后执行的脚本

第四步:保存

保存在了root目录下

[root@localhost ~]# cat /root/ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$YVbYBc7a$.jggXcp4crZtutzwm9f4E.
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=static --device=eth0 --gateway=192.168.253.2 --ip=192.168.253.180 --nameserver=192.168.253.2 --netmask=255.255.255.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=150
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1

检查语法错误
ksvalidator /root/ks.cfg

这里使用http方式获取ks文件

 yum install httpd -y  #安装httpdcp /root/ks.cfg /var/www/html/ks.cfg  #复制ks文件到站点目录/etc/init.d/httpd start  #启动httpd服务

启动新的虚拟机

在这里按下ESC进入命令行

命令行启动指定ks文件,就可以自动安装了。

然后回车就可以自动化安装了

自定义CentOS6镜像文件

第一步:创建myboot目录
mkdir -pv /root/myboot

第二步:复制光盘的isolinux目录
#如果没有挂载光盘需要先挂载一下光盘
#mount -r /dev/cdrom /media
cp -r /media/isolinux/ /root/myboot/

修改文件/root/myboot/isolinux/isolinux.cfg

[root@localhost ~]# cat /root/myboot/isolinux/isolinux.cfg
default vesamenu.c32
#prompt 1
timeout 600display boot.msgmenu background splash.jpg
menu title Welcome to CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000label linuxmenu label ^Install or upgrade an existing systemmenu defaultkernel vmlinuzappend initrd=initrd.img ip=192.168.253.181 netmask=255.255.255.0 gateway=192.168.253.2 ks=cdrom:/ks.cfg

第三步:放置ks文件到myboot目录

[root@localhost ~]# cat /root/myboot/ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="https://mirrors.aliyun.com/centos/6/os/x86_64/"
# Root password
rootpw --iscrypted $1$.EaLyDeQ$FujxZcce.b3ZpI1MI9JWR0
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=static --device=eth0 --gateway=192.168.253.2 --ip=192.168.253.181 --nameserver=192.168.253.2 --netmask=255.255.255.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=150
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1%packages
@base
@development%end

第四步:安装mkisofs命令
yum install mkisofs -y

第五步:执行命令
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V “CentOS 6 x86_64 boot” -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot/


这个文件就是镜像文件,上传到window然后导入虚拟机即可。

导入虚拟机之后

回车就可以了自动化安装了

无人值守自动化安装系统相关推荐

  1. linux dhcp 安装系统,Linux上基于网络自动化安装系统(CentOS6.5+DHCP+TFTP+PXE)

    Linux上基于网络自动化安装系统(CentOS6.5+DHCP+TFTP+PXE) 一.前言 安装系统常用的方式就是,光驱安装,U盘安装,但是这种手动安装方法效率都很低,而且出错概率大. 现在网卡速 ...

  2. linux无人值守批量安装系统

    linux无人值守批量安装系统[centos] PXE协议详解: PXE,预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)提供了一种使用网络接口 ...

  3. PXE自动化安装系统工具介绍与部署

    女主宣言 对于单台服务器上的os安装,我们可以手动进行.那若是一个集群中的大量节点服务器需要安装os,手动安装显然是费时费力.作为系统运维工程师,自动化运维是我们必不可少的技能.下来就跟随作者去探索下 ...

  4. 总结之:CentOS 6.5基于DHCP的PXE自动化安装系统详解

    前言    如果要给很多台客户端主机安装操作系统,要是每一台都拿张安装光盘一台一台主机的去装系统.那就台不现实了.在生产环境中也不会被允许的.要实现为多台主机自动安装操作系统.那我们怎么实现自动化安装 ...

  5. 无人值守安装linux指定硬盘,Linux无人值守自动化安装详细配置流程!

    在生产环境中,往往需要给成百上千台服务器安装系统,手动安装略显蛋疼,网络自动化引导安装就能解决批量安装的问题,从此批量系统安装so easy! 以下配置流程均在CentOS 6.7实现 实现环境: P ...

  6. linux pxe安装mysql_搭建PXE实现自动化安装系统

    一.PXE工作原理 ØClient向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地 ...

  7. cobbler自动化安装系统及配置

    一.cobbler的作用及运行机制 1.cobbler的功能 Cobbler通过PXE的方式来快速安装系统,可以管理DHCP,DNS,TFTP.RSYNC以及yum仓库.构造系统ISO镜像.Cobbl ...

  8. cobbler 一键自动化安装系统

    本文介绍---collber ,路径和配置文件都是完全默认的配置 安装步骤 1 准备测试环境 虚拟机vmware nat模式 VMware的NAT模式的dhcp服务也关闭,避免干扰.  2 准备系统环 ...

  9. Cobbler自动化安装系统2

    Cobbler 基础配置 cobbler配置,配置生效 cobbler sync 导入安装镜像 挂载光盘 mount -t iso9660 -o loop /tmp/CentOS-7-x86_64-D ...

最新文章

  1. 构造函数以及this
  2. Mozilla Prism v0.9 For Windows/Linux/Mac
  3. 继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素...
  4. [Effective C++ --029]为“异常安全”而努力是值得的
  5. android计算器弹窗,android实现简易计算器
  6. Kafka集群部署搭建完美标准版
  7. expdp oracle 并行_DMP文件导入ORACLE指南
  8. 关于Zuul的几个问题
  9. linux下darknet指定opencv4编译安装
  10. 怎么会Sql serverW数据库模型图转化成ord于--您还可以查看属性信息字段
  11. select * 排除字段_interesting数据库查找语句Select还能这样用
  12. php 写博客教程,最近写了一个博客程序: QuickBlog PHP 开源的一文多发系统
  13. 学生管理 + 用户管理(Element版)
  14. 字典表该如何写查询语句?
  15. Android | Tangram动态页面之路(七)硬核的Virtualview
  16. 如何让 uni-app 页面中的背景图片高度和宽度自适应
  17. 物联网智能家居与射频识别技术应用
  18. 二维码在Access中的使用
  19. 计算机一个小键盘按不出来怎么办,我的电脑键盘上面1234按不出来怎么办
  20. IWAM账号密码不一致引起IIS无法处理ASP文件

热门文章

  1. 2020给图片加标签、链接
  2. windows下将文件压缩成.tar.gz格式
  3. StreamX 1.2.3 正式发布, 唯快不破,支持 Flink 1.15 诸多更新来袭
  4. emlog评论ajax,EMLOG全站ajax的主题模板-Faded
  5. Web3再怎么牛 也不能逃出这几个老巨头的五指山
  6. 创龙Xilinx Artix-7系列FPGA开发板的拨码开关、拓展IO
  7. 从事第二次全国土地调查底图生产的31家单位
  8. python 堆排序_堆排序用python
  9. vc类型转换函数大全
  10. 基于单片机的热电偶测温仿真设计(#0004)