我们接着上篇继续来说CentOS系统安装的这点事,上篇我们己经实现了通过网络来安装操作系统,安装操作系统需要人机交互,如果机器量少还好,如果量比较多的话,就比较累人了.幸好redhat给我们提供了一个好用的工具,Kickstart
ks.cfg文件,以项目列表的形式展现,每个项目以关键字来识别
创建ks.cfg文件
为了便于记忆,我尽量安照正常安装的过程来进行选项排列
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #告知安装程序,这是一次全新安装,而不是升级 install #告知安装程序,这是一个网络安装,使用FTP来提供安装所需的资源 #我这边是使用匿名方式,还可以使用用户名/密码 #url --url ftp://<username>:<password>@<server>/<dir> url --url= "ftp://192.168.80.3/pub" #使用文本模式安装 text #默认语言是英语 lang en_US.UTF-8 #使用美式键盘 keyboard us #清空mbr zerombr #指定bootloader的安装位置及参数 #--location 指定boot record位置,我们这边不做多系统,因此直接写在mbr里面 #--driveorder 指定第一开机装置 #--append 指定内核参数,这边我用的默认值,没有做更改 bootloader --location=mbr --driveorder=sda --append= "crashkernel=auto rhgb quiet" #设置安装完成后的主机网络,关键字是 network #这边参数都比较常见,我就不一个个解释了 network --bootproto=static --ip=192.168.80.8 --netmask=255.255.255.0 --gateway=192.168.80.2 -- hostname =CentOS6 --noipv6 #设置时区 #--utc 设定使用UTC timezone --utc Asia /Shanghai #设置密码加密方式为sha512 启用shadow文件 auth --useshadow --passalgo=sha512 #设定root的密码 #--iscrypted 如果root密码是已加密过,就必须使用这个参数,如何获得这个加密后的密码,详见本文附1 rootpw --iscrypted $6$qQaMyYyZMjz /tpqH $cjMWaGj8xpZK4jplrbUCnXD /8jesH7WTSBAefkL6HYcgFmKFUd/pbWtC75Q62d3PI8IYclNulf750Q7C7iYs .1 #清空所有分区 #--all 从系统中清除所有分区 #--initlable 初始化磁盘标签,例如我的虚拟机是x86架构的,通常是初始化为MSDOS clearpart --all --initlabel #新建磁盘分区 #新建/boot分区 part /boot --fstype=ext4 --size=500 #新建3个pv,每个pv大小为10G part pv.008002 --size=10240 part pv.008003 --size=10240 part pv.008005 --size=10240 #新建一个VG,名为vg_root 包含了刚才创建的3个PV volgroup vg_root --pesize=4096 pv.008002 pv.008003 pv.008005 #创建LV logvol /home --fstype=ext4 --name=lv_home --vgname=vg_root --size=2048 logvol /opt --fstype=ext4 --name=lv_opt --vgname=vg_root --size=2048 logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=6116 logvol /tmp --fstype=ext4 --name=lv_tmp --vgname=vg_root --size=4096 logvol /var --fstype=ext4 --name=lv_var --vgname=vg_root --size=4096 logvol swap --name=lv_swap --vgname=vg_root --size=2048 #禁止firstboot,firstboot就是我们使用图形化安装完系统,重启后有一个初始设置 firstboot --disable #禁止selinux selinux --disabled #禁止防火墙 firewall --disabled #设定安装过程中的日志级别 logging --level=info #设定安装完成后关机 poweroff #安装包我选择的是Basic模式,添加了中文支持 %packages @base #中文支持 @chinese-support @console-internet @core @debugging @directory-client @hardware-monitoring @java-platform @large-systems @network- file -system-client @performance @perl-runtime @server-platform @server-policy %end |
1 2 3 | # cd /var/ftp/ # ls ks.cfg pub |
1 2 3 4 5 6 7 8 | # pwd /var/lib/tftpboot/pxelinux .cfg # vim default label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks= ftp : //192 .168.80.3 /ks .cfg |
安装过程
剩下要做的就是把想要装系统的主机,配置成网络启动,然后一切交给kickstart吧,过会回来,系统就以经装好了.^_^
下面是安装过程中截的几个图
安装完成,系统自动关闭
安装完成后的验证
1 2 3 4 5 6 7 8 9 10 11 12 | [root@CentOS6 ~] # hostname CentOS6 [root@CentOS6 ~] # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:43:C4:B7
inet addr:192.168.80.8 Bcast:192.168.80.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe43:c4b7 /64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:62 errors:0 dropped:0 overruns:0 frame:0
TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6788 (6.6 KiB) TX bytes:6625 (6.4 KiB)
Interrupt:18 Base address:0x2000 |
2.文件系统
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | [root@CentOS6 ~] # pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_root lvm2 a-- 10.00g 24.00m
/dev/sda3 vg_root lvm2 a-- 10.00g 2.00g
/dev/sda5 vg_root lvm2 a-- 10.00g 8.00g [root@CentOS6 ~] # vgs
VG #PV #LV #SN Attr VSize VFree
vg_root 3 6 0 wz--n- 29.99g 10.02g [root@CentOS6 ~] # lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_home vg_root -wi-ao--- 2.00g
lv_opt vg_root -wi-ao--- 2.00g
lv_root vg_root -wi-ao--- 5.97g
lv_swap vg_root -wi-ao--- 2.00g
lv_tmp vg_root -wi-ao--- 4.00g
lv_var vg_root -wi-ao--- 4.00g [root@CentOS6 ~] # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_root-lv_root
5.9G 1.9G 3.7G 34% / tmpfs 499M 0 499M 0% /dev/shm /dev/sda1 485M 33M 427M 8% /boot /dev/mapper/vg_root-lv_home
2.0G 67M 1.9G 4% /home /dev/mapper/vg_root-lv_opt
2.0G 68M 1.9G 4% /opt /dev/mapper/vg_root-lv_tmp
4.0G 136M 3.7G 4% /tmp /dev/mapper/vg_root-lv_var
4.0G 181M 3.6G 5% /var |
3.防火墙,SELinux和时区
1 2 3 4 5 6 | [root@CentOS6 ~] # service iptables status iptables: Firewall is not running. [root@CentOS6 ~] # getenforce Disabled [root@CentOS6 ~] # cat /etc/sysconfig/clock ZONE= "Asia/Shanghai" |
可以看到,我们在ks.cfg中的设定都满足了,Kickstart还是相当棒的吧
最后用一张图简单描述一下普通光盘安装和kickstart安装的区别,左手边是普通的光盘安装,右手边是通过Kickstart安装
附1:获取加密过的root密码
1 2 3 4 | # grub-crypt Password: Retype password: $6$qGUmNKeF6lbOgLDH$tojze8BnPBJE1f8xQdAcv9pjoOK.hNtYlCNWODWhwSgF /GsWihvgSLPWXMqX0U/N8DKfoAa9An2zrU4CkzWrU/ |
重复两遍密码后,系统输出的那串字符串,就是我们需要的加密后的密码
本文出自 “月白白” 博客,请务必保留此出处http://yuebaibai222.blog.51cto.com/2535988/1335654