设为首页 收藏本站
查看: 1351|回复: 0

[经验分享] centOS7封装

[复制链接]

尚未签到

发表于 2018-4-21 09:05:21 | 显示全部楼层 |阅读模式
  centOS封装
  原文:http://www.cnblogs.com/ruiy/p/5552081.html
前言
  在实际工作中,CentOS的安装需要设置的语言、键盘模式、时区等信息都存在很大程度上的雷同型。并且,安装完成后的一些设置工作也都是一样的。这些工作都可以在安装操作系统的时候自动完成。最终做到,安装完成即可得到一个可以使用的CentOS系统。
理论描述
  Kickstart安装提供一个安装过程自动化的方法,可以是部分自动化,也可以是完全自动化。Kickstart文件包含所有安装程序会问到的问 题答案,比如您要在系统中使用的时区、如何对驱动器进行分区、或者应该安装哪些软件包。因此为安装程序提供准备好的Kickstart文件,就可以让安装 程序自动执行安装,而不需要用户介入。这在同时向大量系统中部署Red Hat Enterprise Linux时特别有用。
  可将Kickstart文件保存在独立服务器系统中,并由每台计算机在安装过程中读取。这个安装方法可支持单一Kickstart文件在多个机器中安装Red Hat Enterprise Linux,使其成为网络和系统管理员的理想工具。
  CentOS作为RHEL的社区版本,同样支持Kickstart机制。在安装时,如果指定了安装使用的ks.cfg文件,并且将安装过程中所需要的软件包都封装在ISO里面。就可以实现操作系统的自动安装。
  ks.cfg文件同样支持在安装完成后,执行一些系统配置相关的脚本。通过此功能,可以到将一些通用配置工作自动完成。
操作步骤
准备封装环境
  安装全新的一个CentOS系统,这里选择CentOS 6.6。下载其DVD镜像,使用VMware Workstation安装。选择软件包时,推荐选择minimal的安装角色。然后,在定制界面勾选Base软件组。推荐使用minimal版本的 CentOS默认安装,链接如下:
http://mirrors.sohu.com /linux/centos/6/isos/x86_64/CentOS-6.6-x86_64-minimal.iso  安装完成后,启动这个虚拟机。并将其DVD状态设置为启用,以便于在虚拟机中挂载磁盘。
  通过putty或者SecureCRT登录刚刚安装好的CentOS系统。启用虚拟机的网络,使其可以在线安装软件包。
  通过如下命令,挂载CDROM
mkdir /mnt/cdrom  
mount /dev/cdrom /mnt/cdrom
  在系统中创建文件夹,以作为定制版CentOS的ISO文件的根目录
mkdir /srv/CentOS  将CDROM中的文件复制到此目录下。
cp -rp /mnt/cdrom /srv/CentOS/cp /mnt/cdrom /.*info  /srv/CentOS  此时CentOS目录下的文件当类似如下所示:
[root@localhost ~]# ll -a /srv/CentOStotal 91dr-xr-xr-x. 7 root root  4096 Oct 24 22:22 .drwxr-xr-x. 6 root root  4096 Nov 10 22:29 ..-r--r--r--. 1 root root    14 Oct 24 21:59 CentOS_BuildTag-r--r--r--. 1 root root    33 Oct 24 22:13 .discinfo  
dr-xr-xr-x. 3 root root  2048 Oct 24 22:12 EFI-r--r--r--. 1 root root   212 Nov 28  2013 EULA-r--r--r--. 1 root root 18009 Nov 28  2013 GPL
  
dr-xr-xr-x. 3 root root  2048 Oct 24 22:22 images
  
dr-xr-xr-x. 2 root root  2048 Oct 24 22:12 ISOlinuxdr-xr-xr-x. 2 root root 40960 Oct 24 22:22 Packages
  
-r--r--r--. 1 root root  1354 Oct 20 00:00 RELEASE-NOTES-en-US.html
  
dr-xr-xr-x. 2 root root  4096 Oct 24 22:22 repodata
  
-r--r--r--. 1 root root  1706 Nov 28  2013 RPM-GPG-KEY-CentOS-6
  
-r--r--r--. 1 root root  1730 Nov 28  2013 RPM-GPG-KEY-CentOS-Debug-6
  
-r--r--r--. 1 root root  1730 Nov 28  2013 RPM-GPG-KEY-CentOS-Security-6
  
-r--r--r--. 1 root root  1734 Nov 28  2013 RPM-GPG-KEY-CentOS-Testing-6
  
-r--r--r--. 1 root root  3380 Oct 24 22:22 TRANS.TBL
  
-r--r--r--. 1 root root   276 Oct 24 22:22 .treeinfo
  安装创建软件库,制作ISO等用途使用的工具
yum install wget anaconda repodata createrepo mkisofs yum-plugin-downloadonly -y定义自动应答
  从用户根目录复制安装系统时自动创建的ks应答文件到CentOS目录下
cp /root/anaconda-ks.cfg /srv/CentOS/isolinux/ks.cfg  修改其内容为如下所示:
[root@localhost ~]# cat /srv/CentOS/isolinux/ks.cfg  
#Kickstart file automatically generated by anaconda.
  
#version=DEVELinstall
  
#安装模式
  
cdrom
  
#从CDROM中安装
  
lang en_US.UTF-8
  
#使用英语语言
  
keyboard us
  
#使用美国键盘
  
network --onboot yes --bootproto dhcp
  
#开机启用DHCP网络
  
#rootpw  --iscrypted 6$tEOtj.d19Z6.9u2P$b6sUz3Bj7hiiJ6DD06SFRT8HVlXO5vJEsGALnpwpzMAS5bi95agSYEaRo4tr2Bj9wrKiL.IcYbF6NqYbif.d0/
  
#设置root密码为
  
centosfirewall --service=ssh
  
#启用防火墙,允许ssh服务a
  
uthconfig --enableshadow --passalgo=sha512
  
#启用本地配置的用户授权配置
  
selinux --enforcing
  
#启用
  
SELinux
  
timezone --utc Asia/Shanghai
  
#设置时区为亚洲上海reboot
  
#安装完成后重启
  
%packages --ignoremissing
  
#忽略找不到的安装包
  
@base
  
@core
  
@console-internet
  
tree
  
policycoreutils-python
  
#安装Selinux调试工具
  
ftp.xiyang-liu.com-CentOS-repos
  
#使用自己封装的repo文件
  
salt-minion
  
#安装saltstack客户端
  
%post
  

  
--log=/root/ks-post.log
  
#安装后执行脚本,启用日志
  
sed -i -e  's/^#master: salt/master: salt-master.xiyang-liu.com/g' /etc/salt/minion
  
#设置salt主服务器地址
  
chkconfig salt-minion on
  
#开机启用saltstack客户端服务
  
%end

准备软件包
  yum -y --downloadonly --downloaddir=/srv/CentOS/Packages groupinstall core
yum -y --downloadonly --downloaddir=/srv/CentOS/Packages groupinstall console-internet  
yum -y --downloadonly --downloaddir=/srv/CentOS/Packages groupinstall baseyum -y --downloadonly --downloaddir=/srv/CentOS /Packages install tree
  
yum -y --downloadonly --downloaddir=/srv/CentOS /Packages install salt-minion
  
yum -y --downloadonly --downloaddir=/srv/CentOS /Packages install policycoreutils-python
  
wget http://ftp.xiyang-liu.com/linux/ftp.xiyang-liu.com-CentOS-repos-6-6.noarch.rpm -P /srv/CentOS /Packages
  
#自己封装的rpm包,内包含一组内网的repo源文件
更新软件库索引
  在安装的过程中,我们添加了新软件,并且使用了CentOS默认的group分组信息进行安装。所以,要删除原有的软件库索引,通过createrepo命令重新创建软件库索引。
  原有软件库信息包含如下文件
[root@localhost CentOS]# ls /srv/CentOS/repodata/    文件名列表如下  
1178543d0c796123b61389f85e9bfb499cc37d09ffd6660a7dc48abb08ebd1f1-filelists.xml.gz
  
1942281fc19bc08ef30482f369826958917216990c7cf58749ac79d8a2a7ad47-other.sqlite.bz
  
222df42595558712f571c91cbc49657ad7187a2a7990510e9c8883b5358ae2e16-primary.sqlite.bz
  
2460862ca0e99160b41eecc41b944eb2abc0b82609bd12407bc5609922627eac4-comps.xml.gz
  
4b60435c2aa393f4678e7f47a3e0ec3324c50d47cc59dc1b7d439dd6f2ceeda8-filelists.sqlite.bz
  
27f916b09f7bde0b0396266f9dddd49ae679d116ee68529bbf0feb63cbdf288dd-other.xml.gz
  
9e2ddcc42b44eb150ebc61dde29c997318d8330b92205b3dbb3a87bcc06d10be-comps.xml
  
b047f47dcdfe466ea868dadba0cdde1038517a335e17e4aaf5afc7d78288ccca-primary.xml.gz
  
repomd.xml
  备份原有分组信息:
mv /srv/centos/repodata/*-comps.xml /srv/comps.xml  删除现有软件库索引
rm -r /srv/CentOS/repodata/*  创建新索引
discinfo=`head -1 .discinfo ` ; createrepo -u "media://$discinfo" -g /srv/comps.xml /srv/CentOS/修改ISOLINUX启动文件
  软件包准备完成后,修改ISOLINUX启用器。使其启动时自动使用应答文件进行安装。修改至如下所示:
[root@localhost srv]# cat /srv/CentOS/isolinux/isolinux.cfg  
label linux
  
menu label ^Install or upgrade an existing system
  
menu default
  
kernel vmlinuz
  
append<strong> ks=cdrom:/isolinux/ks.cfg </strong>initrd=initrd.img
创建ISO文件
cd /srv/CentOS/mkisofs -o /srv/CentOS-6.6-xiyang-liu-x86_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /srv/CentOS/结语
  本文档描述了以CentOS minimal安装为基础环境,通过修改ks.cfg文件的形式,定制具有特殊配置的CentOS系统。
参考链接
  Kickstart 安装-红帽安装文档
  https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/chap-kickstart-installations.html
  https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ch-kickstart2.html
  centos定制-oschina-_sylee
  http://my.oschina.net/sylee/blog/167759

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449861-1-1.html 上篇帖子: Centos安装shadowscoksr 下篇帖子: centos定制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表