在介绍自动化安装系统之前让我们来回顾一下系统的启动流程,系统的启动大概分为一下几个步骤:加电自检 boot sequence(mbr)— boot loader –>kernel(initramfs)—>rootfs /sbin/init大概就是这么几个过程了,接下来来介绍系统的安装,安装系统虽然看起来简单,普通的安装大多数用户会选择一直下一步的安装把,但是想实现高逼格的安装还是需要简单的加工一下,好吧,开始介绍
anaconda:系统安装程序fedora 的一个开源项目
在系统启动的时候就会启动anaconda程序,它默认启动GUI接口,并向内核传递text参数即可,然后启动系统安装
anaconda安装系统分成两个阶段
安装前配置阶段
键盘类型
安装过程中的余元
支持的语言
时区
选择要使用的磁盘设备
分区格式化
选择要安装的程序包
管理员密码
是否启用iptables
是否启用selinux
想必安装过操作系统的小伙伴都应该知道需要经过这么几步,没装过的小伙伴需要亲自去安装体验一下
安装阶段
在目标磁盘上创建分区,执行格式化操作
将选定的程序包安装到指定目标磁盘
安装boot loader和initramfs
启动安装过程一般位于引导设备中,后续的anaconda及安装用到的程序包等由以下几种方式:
本地光盘
本地硬盘
ftp服务器
http服务器
nfs服务器
如果想手动指定安装源
在启动后安装esc之后会出现boot:开头的提示符在后面输入linux askmethod选择指定的安装源
boot的引导选项,要使用引导选项请在boot:提示符后输入linux option(以下的多种方式)
指定语言
linux keymap=gr
更新anaconda
linux updates
linux text:文本方式安装
askmethod:手动指定安装源
repo=cdrom:device
repo=hd:device/path
repo=http://host/path
repo=ftp://username:password@hosts/path
repo=nfs:server:path
与网络相关的引导选项
ip=IPADDR
netmask=MASK
gateway=GW
dns=DNS IP
启用对安装系统的远程访问
linux vnc vncpassword=密码串
启用远程访问
linux sshd=1
进入救援模式
linux rescue
kickstart文件格式
命令段:用于配置系统
install
firewall
part
lvm
程序包段:指定要安装的程序包及程序包组
%packages:表示
@Base:使用@指定包组
lftp:直接写程序包名
-package
%end:软件包结束
注意:在程序包钱加–,不安装相关包
脚本段
%pre:安装过程开始钱的预备脚本,所能执行的操作较小,它是一个首先得环境,因为其实仅有简单版的shell环境
%post:所有的软件完成之后执行的脚本,此时具有完整意义的shell环境,但并非所有命令都安装,先确保所有的程序已经安装
%end:脚本结束段
kickstart 文件的格式中的命令段中必备命令
authconfig:认证方式配置
authconfig –usershadow –passalgo=sha512
boot loader :boot loader 的安装位置及相关配置
boot loader –location=mbr –driveorder=sda –append=”crashkernel=auto rhgb quiet “
kerboard:设定键盘类型
lang:语言类型
part:创建分区
rootpwd:root的密码
timezone:时区
可选命令
install or upgrade
text:文件安装界面
network
firewall
selinux
halt
poweroff
reboot
repo
user:安装完成后创建新用户
url:指定安装源
key –skip:跳过安装号码,使用与rhel版本的操作系统
创建kickstart文件
创建kickstart文件的方式
直接手动编辑
依据已安装好系统上的kickstart文件模版修改
使用创建工具:system-config-kickstart,建议使用/root/anaconda-ks.cfg模版生成
1、生成默认语言,键盘类型,时区,以及root的密码,还可以指定安装后自动重启,指定是在字符界面安装操作系统,还是在图形界面安装操作系统
2、选择安装方式
3、安装boot loader
4、分区信息,是否清除之前的MBR,清楚磁盘所有分区表,并初始化磁盘卷标
5、网络配置,即可以使用dhcp来获取ip地址,也能自己手动指定地址
6、密码文件加密方式,有MD5,sha256,sha512等方式
7、防火墙设定,禁用或启用
8、显示配置,是否安装图形环境
9、选择要安装的软件包
10、安装前脚本,将自己想要设定的内容写到本初,比如更改issue文件
11、安装后脚本,比如给系统添加一个repo文件
生成后的ks.cfg文件可以通过ksvalidator命令来检查ks文件的语法错误命令
命令用法:ksvalidator ks.cfg
生成好的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="http://10.1.0.1/cobbler/ks_mirror/CentOS-6-x86_64/"
# Root password
rootpw –iscrypted $1$HhTXxIKI$dJ/fz1tpaghO37tA9k7Xl/
# System authorization information
auth –useshadow –passalgo=sha512
# Use graphical install
graphical
firstboot –disable
# System keyboard
keyboard us
# System language
lang zh_CN
# SELinux configuration
selinux –enforcing
# Installation logging level
logging –level=info
# System timezone
timezone Africa/Abidjan
# Network information
network –bootproto=dhcp –device=et0 –onboot=on
# System bootloader configuration
bootloader –location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart –all
# Disk partitioning information
part / –fstype="ext4" –size=10000
part /boot –fstype="ext4" –size=300
%packages
@backup-client
@base
@basic-desktop
@compat-libraries
@console-internet
@debugging
@desktop-debugging
@desktop-platform
@development
@dial-up
@directory-client
@emacs
@fonts
@general-desktop
@graphical-admin-tools
@graphics
@input-methods
@internet-applications
@internet-browser
@office-suite
@server-platform-devel
@technical-writing
@tex
git
%end
制作引导光盘
mkdir /linuxiso
将ks.cfg文件拷贝到/linuxiso目录下
cp /media/isolinux/ /linuxiso
vim /linuxiso/isolinux/isolinux.cfg
将initrd=initrd.img text ks=cdrom:/ks.cfg
cp /root/ks.cfg /linuxiso/
mkisofs:-R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V "Centos 6.5 X86_64 boot(可改)" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6.5.boot.iso(可改) linuxiso/
制作好光盘后,将光盘插入机器(当然这里使用的是虚拟的),调整启动次序为光盘启动,将机器连接到网络中的安装,前提是网络当中有安装源,如果没有安装源可以自己搭建一个ftp的服务器,安装vsftpd启动服务,将光盘当中的所有文件都拷贝到/var/ftp/pub目录下,然后将安装树的源写到ks.cfg文件的url –url那一行即可,这样就可以实现自动化安装操作系统,但是需要注意的是,当你安装完成操作系统后,你的机器的启动次序还是光盘,那么它将会重复安装操作系统,在这里提醒各位的是,在操作系统安装完成之后将启动次序调整为硬盘启动
创建优盘启动
de if=/dev/cdrom of=/dev/sdb
原创文章,作者:fszxxxks,如若转载,请注明出处:http://www.178linux.com/46785