首页 > 代码库 > 自动化安装linux
自动化安装linux
个人使用的linux的安装没有太多难度,但是一旦到生产环境内,那种随性而装系统的,将会给服务器管理员带来极大的麻烦,这里需要对生产系统进行一定的定制,定制取决于公司的计算机的类型,公司的计算机往往都是一个类型一个型号。这里定制就很方便了,把分区都设置一样,这样可以批量部署大批的机器。
一 linux安装原理
回忆一下手动安装一个系统的步骤:1选择语言,2选择键盘布局,3分配分区,4选择安装类型,5选择额外的包,6选择时区,7设置root密码。安装时候的主观感受是配置一步系统执行一步,其实不然,等所有的配置都配置完后,安装进程才开始,只有分配分区是实时执行的。
安装的进程叫anaconda,使用anaconda安装系统后,在root目录下会生成一个文件anaconda-ks.cfg文件,这个文件就是安装当前系统时的全部配置信息,分区情况的那几行被注释掉了。以下简称ks文件,我们可以直接去掉分区那几行的注释,直接使用这个配置安装一个和当前系统一模一样的系统。
二 ks文件
1 ks文件格式
配置文件分为三段:
第一段是主要定义的是分区、grub密码、用户及密码等等,格式如下(这里的配置内容仅适合我的网络环境):
install
url--url=http://172.16.0.1/cobbler/ks_mirror/6/
lang en_US.UTF-8
keyboard us
network --onbootyes --device eth0 --bootproto dhcp --noipv6
# Reboot afterinstallation
reboot
firewall--disabled
authconfig --useshadow --passalgo=sha512
selinux--disabled
timezoneAsia/Shanghai#part /boot --fstype=ext4 --size=200
#part pv.008002--size=61440
#volgroup vg0--pesize=8192 pv.008002
#logvol /--fstype=ext4 --name=root --vgname=vg0 --size=20480
#logvol swap--name=swap --vgname=vg0 --size=2048
#logvol /usr--fstype=ext4 --name=usr --vgname=vg0 --size=10240
#logvol /var--fstype=ext4 --name=var --vgname=vg0 --size=20480
repo--name="CentOS" --baseurl=http://172.16.0.1/cobbler/ks_mirror/6/ --cost=100
以#开头的这几行就是我的分区情况
第二段定义的是安装的包组和安装的包
%packages
@ 代表包组
代表包
%end
第三段定义的是系统安装前和安装后的执行的脚本,格式如下
%pre
这部分定义的安装前脚本
%end
%post
这部分定义的是安装后脚本
%end
2 配置文件生成
配置文件的格式比较简单也比较好理解,但是靠手写定制一个ks文件还是有一定难度,linux中有一个基于图形界面定制ks文件的工具。
安装ks文件生成工具kisckstart
yum install system-config-kickstart -y
运行kisckstart
system-config-kickstart
这个界面我们按照linux的界面基本类似,只有两个部分不一样,一个是display configuration,这里选择是否安装图形界面,不安装图形界面的话就是最小安装;另一个是package selection,这里是选择安装的包。
centos7使用这个是会有一点问题,可以参考我的另一博客:http://oldking.blog.51cto.com/10402759/1876181
三 ks文件的使用
1 手动输入ks文件位置
安装linux的时候,在最开始的选择安装还是升级系统那一个界面按exc,进入命令行模式,输入linux ks=ks文件的位置
这个ks文件可以是在http服务器、ftp服务器或本地文件系统上。位于本地文件系统的格式(这个格式只适用我,要用的话需要适当的变更):
ks=cdrom:/myks.cfg
位于网络的格式(同样这个格式只适用我)
ks=http://172.16.29.1/myks.cfg
ks=ftp://172.16.29.1/pub/myks.cfg
2 开机自动安装系统
这里我们需要定制引导盘,定制步骤如下:
cp /media/cdrom/isolinux//tmp/myiso/
vim/tmp/myiso/isolinux/isolinux.cfg
timeout 600 这一行是开机后选择安装等待的时间,600=60s
initrd=initrd.img textks=cdrom:/myks.cfg text是以字符样子安装系统
cp /root/myks.cfg /tmp/myiso/
cd /tmp
mkisofs -R -J -T -v--no-emul-boot --boot-loadsize 4 --boot-info-table -V "CentOS 7.2 x86_64boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.isomyiso/
这时会在/root/目录下生成boot.iso文件,我们把这个文件发送到windows中就可以使用了,或者直接使用dd命令把这个文件写到光盘或u盘,就可以自动化安装系统了。
总结
这一节主要是为了实现自动化安装linux,大规模部署linux。首先我们要有一个ks文件,使用system-config-kisckstart定义我们想要安装的系统样式;然后就是制作引导光盘boot.iso
本文出自 “老王linux旅程” 博客,请务必保留此出处http://oldking.blog.51cto.com/10402759/1880509
自动化安装linux