公开/公告号CN103530148A
专利类型发明专利
公开/公告日2014-01-22
原文格式PDF
申请/专利权人 国云科技股份有限公司;
申请/专利号CN201310430734.9
申请日2013-09-18
分类号G06F9/445(20060101);
代理机构北京科亿知识产权代理事务所(普通合伙);
代理人汤东凤
地址 523808 广东省东莞市松山湖科技产业园区松科苑14号楼
入库时间 2024-02-19 22:44:42
法律状态公告日
法律状态信息
法律状态
2018-12-04
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F9/445 变更前: 变更后: 申请日:20130918
专利权人的姓名或者名称、地址的变更
2016-09-07
授权
授权
2014-02-26
实质审查的生效 IPC(主分类):G06F9/445 申请日:20130918
实质审查的生效
2014-01-22
公开
公开
技术领域
本发明涉及Linux软件发布领域,特别是指一种大型Linux软件包的发布方 法。
背景技术
大型Linux软件的特点是安装时间长、依赖的软件多。目前大型Linux软 件的发布都是以rpm和deb软件包为载体,再辅以文档说明依赖软件的安装、 安装后的验证方法等。
但是,以上描述的大型Linux软件的发布方法存在如下的问题:
1、需要做大量的工作以适配不同的Linux版本;大型Linux基于某个版本 开发时,所依赖的Linux内核、系统软件等可能都是在该版本下才能安装成功; 在适配到其他Linux版本时可能都需要查找到替代的版本,同时要对替代的版本 重新进行兼容性和稳定性的测试。
2、此发布方法一般不直接提供依赖软件包的下载,用户一般只能通过文 档的介绍,使用yum和apt工具从Linux软件源上下载相应的软件,这种方法的 缺点第一是下载依赖于网络,在不能连接到因特网或内网没有搭建源的情况下, 软件不能安装成功,第二是yum和apt工具默认只会下载依赖软件的最新版本, 这种情况下安装的依赖对大型Linux软件来说可能出现不满足的情况。
3、以rpm和deb软件包的形式发布的软件没有数据完整性检查机制,软 件包在分发过程中有被篡改的可能,影响数据安全。
为了提升软件的部署的效率,增强部署的快捷性和部署过程之中的软件的 稳定性性,需要一种通过预先定制软件包的发布的光盘镜像系统,通过光盘的 安装来达到稳定快速的安装的方式。
发明内容
本发明解决的技术问题在于提供一种大型Linux软件包的发布方法,解决大 量的rpm包的版本认证,在无网络的情况下rpm包的下载和相关依赖的下载, 安全稳定的部署开发软件;减少数据的丢失或者不匹配的rpm包的安装引起的 不稳定性等问题。
本发明解决上述技术问题的技术方案是:包括如下步骤:
包括如下步骤:
步骤1:使用Linux大型软件开发环境用的原版的Linux安装光盘,在服务 器上安装Linux最小系统;
步骤2:安装完最小系统后,获取安装的日志文件;日志文件中包含系统已 经安装的软件包列表;
步骤3:在系统中设置rpm或deb工具保留下载软件的缓存;
步骤4:搭建制作ISO的环境,创建制作的目录并把原版光盘中除了软件包 以外的文件拷贝到工作目录中;
步骤5:在系统中安装Linux大型软件的依赖环境,然后安装Linux大型软 件的软件包以验证依赖环境正确与否,直到Linux大型软件能正常运行为止;
步骤6:将系统软件缓存目录下的依赖软件的缓存也拷贝到工作目录中;
步骤7:安装生成光盘所需要的createrepo和mkisofs工具;
步骤8:编写ks.cfg文件,并使iso系统从ks.cfg引导自动安装;
步骤9:在工作目录中重新生成软件包的xml描述文件即comps.xml文件, 然后按需要重新编写comps.xml文件;
步骤10:生成iso镜像文件;
步骤11:生成MD5校验码。
所述的最小系统是指Linux安装光盘中包含的系统核心软件包和大型Linux 软件依赖的软件包,其他的应用软件、桌面系统等不需要选择安装。
所述安装之后的日志文件是指/root/instal.llog文件,install.log文件包含了最 小安装的系统所安装了哪一些的包,通过命令
awk'/Installing/{print$2}'install.log|sed's/^[0-9]*://g'>/root/packages.list
可以获取安装包的列表,并将安装的列表导入到本地的一个文件当中;最后 根据列表将安装的rpm包转移到工作目录下。
所述的设置rpm包保留的下载的缓存,是指将linux系统/etc/yum.conf配置 文件中保留缓存的选项开启,此后下载的rpm都缓存在/var/cache/yum/x86_64/6/ 目录下。
所述的生成comps.xml文件是将光盘的所有文件同步到制定的工作目录当 中,然后在工作目录下的/repodata/目录里边生成相对应的comps.xml;生成 comps.xml的命令是:createrepo–g repodata/*-comps.xml/data/OS/-- --simple-md-filenames,然后根据要求定制其下的组件和rpm包之间的依赖。
所述的安装软件运行的依赖的包和依赖的相关的库文件,是指开发的软件 编译之后运行需要的rpm包和rpm包的依赖;这些rpm包都是根据软件运行所 需要的在安装的最小系统yum install里的相关的包;并记录下相关的依赖的列 表(之间的依赖关系),然后将依赖关系添加到comps.xml文件当中,并将 /var/cache/yum/x86_64/6/目录里边相对应的rpm拷贝到工作目录下的/packages/ 下边,同时在/packages/下边的TRANS.TBL的列表文件当中增加对应的rpm的 名称。
本发明通过预选定制软件包的发布的光盘镜像系统,通过光盘的安装来达 到稳定快速的安装的方式,提升了软件的部署的效率,增强了部署的快捷性和 部署过程之中的软件的稳定性。同时,能够减少在软件使用的环境上搭需要的 必须软件或者相关依赖库文件的时间的麻烦。
附图说明
下面结合附图对本发明进一步说明:
附图是本发明方法流程图;
具体实施方式
首先创建制作系统的工作目录
(1)mkdir-p/mnt/cdrom
(2)mkdir-p/data/OS
(3)mount/dev/cdrom/mnt/cdrom
(4)rsync-a--exclude=Packages/mnt/cdrom/data/OS
(5)mkdir/data/OS/Packages
然后使用编写的脚本实现精简之后的rpm拷贝到相应的目录下边,实现拷 贝的脚本的内容如下:
然后安装必要的实用工后:
yum–y install createrepo mkisofs
然后生成comps.xml的文件
cd/data/OS
createrepo–g repodata/*-comps.xml/data/OS/----simple-md-filenames
然后根据coms.xml文件来增减和减少相关的依赖,来搭建gcloud的相关依赖 的组建
然后编写ks.cfg的文件,ks.cfg的文件内容如下:
然后配置系统从ks.cfg启动
vi/data/OS/isolinux/isolinux.cfg
default auto
label auto
kernel vmlinuz
append ks=cdrom:/isolinux/kerry.cfg initrd=initrd.img
然后制作系统iso
mkisofs-R-J-T-r-l-d-joliet-long-allow-multidot-allow-leading-dots-no-bak-o /data/Gcloud-6.1-r009-20-ks-all-noPP-100G-x86_64.iso-b isolinux/isolinux.bin-c isolinux/boot.cat-no-emul-boot-boot-load-size4-boot-info-table/data/OS
然后生成生成MD5检验码完成GCLOUD的系统光盘
/usr/bin/implantisomd5/data/Gcloud-6.1-r009-20-ks-all-noPP-100G-x86_64.iso。
机译: 分发大型linux软件包的方法
机译: 分发大型linux软件包的方法
机译: 释放大型Linux软件包的方法