您的位置:首页 > 运维架构 > Linux

CentOS安装与自动化安装光盘配置

2016-03-29 15:17 519 查看
写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How。本篇主要内容:● CentOS镜像安装启动流程● isolinux.cfg文件格式
[b]● isolinux安装前引导配置[/b]
[b][b]● anaconda介绍[/b][/b]
[b][b][b]● centOS自动化安装光盘制作[/b][/b][/b]
[b][b][b] kickstart文件格式
[/b][/b][/b]
[b][b][b] iso镜像制作工具[/b][/b][/b]

CentOS镜像安装启动流程:
bootloader --> isolinux/vmlinuz(isolinux/initrd) --> anaconda
isolinux即相当于平时启动时的/boot目录
MBR:isolinux/boot.cat
Stage2:isolinux/isolinux.bin
安装界面配置文件:isolinux/isolinux.cfg
系统安装后grub配置文件:isolinux/grub.conf
anaconda即相当于平时启动时的/sbin/init程序

isolinux.cfg配置文件格式:
timeout 600
超时时间,注意,这里表示的是60秒
label linux
菜单标识符,开机esc键进入boot:命令行,可以使用“linux”来指定启动此条目
menu label ^Install or upgrade an existing system
菜单名称
menu default
设置为默认启动项
kernel vmlinuz
加载内核
append initrd=initrd.img
向内核传递参数,手动修改自定义参数也写到这里

isolinux安装前引导配置:
在安装界面按ESC键可以进入isolinux的安装命令提示符界面
boot:
启动不同菜单条目:
(这里给出的是默认条目,如果修改了isolinux.cfg文件,可能会不同。)
linux 安装或升级
vesa 基本磁盘设备安装
rescue 救援模式
local 本地磁盘启动系统
memtest86 内存测试
boot: linux ks=ks.cfg
指定所使用的自动化配置文件,如:
cdrom:/ks.cfg ftp://172.18.0.1/ks.cfg boot: linux text
指明使用文本界面安装
boot: linux METHOD
指定使用的安装源(本地、hd、nfs、url),如
boot: linux cdrom
boot: linux url --url='http://xxx.com/xx/'
网络相关:
ip=IPADDR
netmask=MASK
gateway=GW
dns=DNS_SERVER_IP
远程访问:
vnc
vncpassword='PASSWORD'
装载额外驱动:
dd
实例:



#使用简单界面安装
开机引导界面按esc键,键入"linux text"



#赋予网卡ip地址,并访问网络上的自动化安装配置文件进行安装
开机引导界面按esc键,键入"linux ip=172.18.31.100 netmask=255.255.0.0 gateway=172.18.0.1 ks=http://172.16.0.1/ks.cfg"
#启用vnc功能进行安装
开机引导界面按esc键,键入"linux vnc vncpassword=fredme123 ip=172.18.31.100 netmask=255.255.0.0 gateway=172.18.0.1"
会提示是否进行media测试,测试或跳过后,出现以下界面:



使用vnc客户端连接






anaconda介绍:
anaconda安装启动流程:
安装前配置
交互式配置
依托配置文件自动配置
安装阶段
按照安装前配置完成系统安装、软件部署
首次启动
anaconda界面风格:
tui:基于cureses的文本配置窗口
传递给内核"text"参数即可切换此风格
gui:图形界面
默认项,需要512MB+内存空间
anaconda软件包仓库:
anaconda支持将软件仓库指定到下列任何一个位置:
本地光盘
本地硬盘
ftp server
http server
https server
nfs server
引导界面按esc键,在boot:后键入linux url --url='URL'或linux cdrom手动指定软件仓库

centOS自动化安装光盘制作:
自动化安装的重点在于配置好kickstart文件,并在安装时指定到目标文件。
kickstart文件格式:
命令段:
必备命令:
authconfig:配置认证方式
authconfig --enableshadow --passalgo=sha512
bootloader:bootloader安装位置及相关配置
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
keyboard:设置键盘类型
keyboard us
lang:设置语言
lang zh_CN.UTF-8
part:分区设置
part /boot --fstype=ext4 --size=500
part pv.008002 --size=51200
volgroup vg0 --pesize=8192 pv.008002
logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
rootpw:管理员密码
rootpw --iscrypted $6$CGsqab6d$Cd.PnnWtlL5XZAyr9J2zoMqyJH1QodcDp1pQp0uZ1f0Cq4eq9.TMkSQU6IfpvYZEYc32.lmF0lKuQwavnC49a0
timezone:时区
timezone Asia/Shanghai
其他:
clearpart:清除所有分区
clearpart --all --initlabel
逻辑卷相关:
part pv.008002 --size=61440
volgroup vg0 --pesize=8192 pv.008002
logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
可选命令:
install OR upgrade:安装或升级;
text:安装界面类型,text为tui,默认为GUI
network:配置网络接口
network --onboot yes --device eth0 --bootproto dhcp --noipv6
firewall:防火墙
firewall --disabled
selinux:SELinux
selinux --disabled
halt、poweroff或reboot:安装完成之后的行为;
repo:指明安装时使用的repository;
repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
url: 指明安装时使用的repository,但为url格式;
url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.7-x86_64/
cdrom:指明安装时使用cdrom作为软件仓库
参考:官方文档《Installation Guide》

程序包段:
指明要安装的程序包/包组,也可以指明不安装的程序包/包组
%packages 标记程序包段开头
@group_name 安装的包组
package 安装的包
-package 不安装的包
%end 标记程序包段结尾
脚本段:
%pre 安装前脚本开头标记
脚本部分,与shell一致,命令列表
%end 安装前脚本结尾标记
%post 安装后脚本开头标记
脚本部分,与shell一致,命令列表
%end 安装后脚本结尾标记
kickstart文件定制工具:
借助于图形化工具system-config-kickstart可以快速准确的定制kickstart文件
# yum -y install system-config-kickstart
# system-config-kickstart
# ksvalidator KS_FILE 检查是否有语法错误
创建光盘镜像:
~]# 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/
实例:
#定制自动化安装kickstart文件,并配置成自动化安装源为本地光盘
# 摘要:
1)利用system-config-kickstart生成ks.cfg文件
2)修改isolinux/isolinux.cfg文件内容,指定ks.cfg文件位置
3)使用mkisofs命令生成光盘镜像
#挂载光盘镜像
[root@localhost ~]# mount /dev/cdrom /media
mount: block device /dev/sr0 is write-protected, mounting read-only
#创建目录,并将光盘内容拷贝到此目录
[root@localhost ~]# mkdir my_ks_linux
[root@localhost ~]# cp /media/* my_ks_linux/
#安装system-config-kickstart程序包并生成定制化的ks.cfg文件
[root@localhost ~]# yum -y install system-config-kickstart
[root@localhost ~]# system-config-kickstart
需要特别说明的是,配置软件仓库为本地cdrom
[root@localhost ~]# cp ks.cfg my_ks_linux/
#修改isolinux安装引导配置文件,指定使用ks.cfg文件自动化安装
[root@localhost ~]# cd my_ks_linux/isolinux/
[root@localhost isolinux]# vim isolinux.cfg
在label linux下面的append initrd=initrd.img行尾添加ks=cdrom:/ks.cfg
[root@localhost ~]# 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/my_ks_linux.iso   my_ks_linux/
#将生成的光盘文件挂载到虚拟机进行安装测试
如果配置过程无错误,将全程自动化安装


#定制自动化安装kickstart文件,并配置自动化安装源为网络
不将软件源放入自定义光盘,只需拷贝光盘isolinux目录到自定义目录即可。
[root@localhost ~]# system-config-kickstart
需要指明网络安装源位置,如:
url --url="http://172.16.0.1/cobbler/ks_mirror/6/"
[root@localhost ~]# mkdir mylinux
[root@localhost ~]# cp -r /media/isolinux mylinux/
[root@localhost ~]# cp ks.cfg mylinux/
[root@localhost ~]# cd mylinux/isolinux/
[root@localhost isolinux]# vim isolinux.cfg
You have mail in /var/spool/mail/root
[root@localhost isolinux]# cd
[root@localhost ~]# 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/mylinux.iso   mylinux/
#将生成的光盘文件挂载到虚拟机进行安装测试
如果配置过程无错误,将全程自动化安装
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息