CN109783111A - 操作系统的安装镜像的制作方法 - Google Patents

操作系统的安装镜像的制作方法 Download PDF

Info

Publication number
CN109783111A
CN109783111A CN201711115098.5A CN201711115098A CN109783111A CN 109783111 A CN109783111 A CN 109783111A CN 201711115098 A CN201711115098 A CN 201711115098A CN 109783111 A CN109783111 A CN 109783111A
Authority
CN
China
Prior art keywords
operating system
mirror image
installation
production method
installation mirror
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711115098.5A
Other languages
English (en)
Inventor
詹秋芳
史安生
王二生
刘鹏
申利飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Standard Software Co Ltd
Original Assignee
China Standard Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Standard Software Co Ltd filed Critical China Standard Software Co Ltd
Priority to CN201711115098.5A priority Critical patent/CN109783111A/zh
Publication of CN109783111A publication Critical patent/CN109783111A/zh
Pending legal-status Critical Current

Links

Abstract

本发明涉及一种操作系统的安装镜像的制作方法,包括如下步骤:步骤S1:判断操作系统所处位置;步骤S2:将操作系统的/proc目录挂载;步骤S3:通过命令chroot进入操作系统;步骤S4:对操作系统进行调整,从而完成操作系统的安装镜像的制作。本发明提供的操作系统安装镜像的制作方法,通过在已经生成的系统(原生系统)上做调整和叠加,使得重新制作系统时不需要从头开始进行包下载、包安装或解决安装过程中出现的种种问题,大大节省了时间。对于需要频繁修改、而且改动不大,频繁出版本的情况,应对起来非常便利。

Description

操作系统的安装镜像的制作方法
技术领域
本发明涉及计算机软件操作系统安装技术领域,具体涉及一种操作系统 的安装镜像的制作方法。
背景技术
操作系统,包括Linux操作系统一般采用iso镜像进行发布。制作系统iso 镜像的通常步骤为,首先提供约不小于20G的硬盘空间,然后确定软件仓库 地址,并整理一份待安装的包名称列表,最后使用Yum命令将所有包安装到 指定的位置。
在安装过程中,可能需要处理各种包依赖导致安装失败的问题,最终安 装成功后,将会在指定的位置生成一份较为完备的文件系统。
上述过程是制作系统镜像的第一步,也是最耗时的一步,从包下载、包 安装到解决安装过程中出现的冲突往往需要一天左右的时间。对于需要频繁 修改、而且改动不大,频繁出版本的情况,应对起来就不那么便利了。
综上,现有的操作系统安装镜像的制作方法确有改善的必要。
发明内容
为解决现有技术存在的不足,本发明提供了一种操作系统的安装镜像的 制作方法,包括如下步骤:
步骤S1:判断操作系统所处位置;
步骤S2:将操作系统的/proc目录挂载;
步骤S3:通过命令chroot进入操作系统;
步骤S4:对操作系统进行调整,从而完成操作系统的安装镜像的制作。
其中,所述步骤S1中,通过确定变量MOUNT值确定操作系统所处位置。 其中,所述MOUNT值的确认指令为:查找系统启动模式是否是“救援”模 式,如果是“救援”模式,那么设置MOUNT变量的值为/mnt/local,否则设 置为/mnt/sysimage。
其中,所述步骤S3的操作指令为:
将当前系统的/proc目录挂载到$MOUNT/proc目录下,然后通过chroot 命令进入到$MOUNT所指定的系统中,从而改变用户当前操作的环境。
其中,所述操作系统在安装阶段采用非交互式进行安装。
其中,所述步骤S4中,对操作系统进行的调整在后安装脚本的post段 进行。
其中,所述步骤S4中,对操作系统的调整部分的脚本写在单独的文件 内,通过在post段内的ks.cfg的预定位置调用该脚本实现操作系统安装镜 像的制作。
其中,操作系统的调整部分的脚本所写入的单独的文件,为在操作系统 安装阶段所执行的文件。
其中,操作系统的调整部分的脚本所写入的单独的文件,为脚本 backup_recovery.sh。
其中,所述步骤S4中,对操作系统进行的调整包括升级已安装的软件 包、删除已安装的软件包、删除或替换配置文件及开启或关闭某服务中的 一项或多项。
本发明提供的操作系统安装镜像的制作方法,通过在已经生成的系统 (原生系统)上做调整和叠加,使得重新制作系统时不需要从头开始进行包 下载、包安装或解决安装过程中出现的种种问题,大大节省了时间。对于需 要频繁修改、而且改动不大,频繁出版本的情况,应对起来非常便利。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面详细说明 本发明的技术方案及其产生的有益效果。
本发明提供的操作系统安装镜像的制作方法,其核心就是不用再重新从 软件仓库上下载数千个待安装的软件包,而是采用ADDON机制在已经生成的 系统(原生系统)上做调整和叠加,仅仅只需更新有改动部分即可。因为软 件仓库一般是作为服务器提供的,对于制作安装镜像的机器来说,需要联网 访问,即使是在局域网环境下,下载包数量也是巨大且耗时的。因此本发明 提供的方法便利、快速,对于需要频繁修改且改动不大,出版本频率比较高 的情况来说非常适用。
以Linux系统为例,操作系统安装采用 anhttp://yjsxt.usst.edu.cn/aconda原理运行。anaconda有两种模式,分 别是交互式和非交互式。交互式也即普通安装模式,按照提示选项一步步 地安装;非交互式则通过读取kickstart的配置文件,按照设定的参数进行 自动安装,这和window中的无人值守安装差不多,这个文件即是ks.cfg文 件(相当于window中的wi2k3.sif应答文件)。在安装操作系统过程中, 获取ks.cfg文件的方式有多种,常见有cdrom和硬盘,还可以通过U盘、 http、ftp和nfs等方式。ks.cfg文件组成大致分为3段:
a、命令段:键盘类型、语言、安装方式等系统的配置,有必选项和可 选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项。
b、软件包段:在安装过程中默认安装的软件包,安装软件时会自动分 析依赖关系。
c、脚本段(可选):
%pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少);
%post:后安装脚本(基本支持所有命令),也是安装结束后,可定制部 分。
由于%post阶段几乎支持所有指令,故在此阶段对原生系统做一些调整 是比较便利的,因此,本发明提供的方法,就是通过在ks.cfg文件的post阶 段对操作系统进行调整,从而完成安装镜像的制作。
post阶段在ks.cfg的位置如下所示……
......
#SELinux configuration
selinux--disabled
#Installation logging level
logging--level=info
#System timezone
timezone Asia/Beijing
#############################################################
以下是安装结束后,可定制部分#
#############################################################
%post--nochroot--log=/mnt/sysimage/root/ks-post-nochroot.log
chmod-R 777/mnt/sysimage/diskE
chown root.root-R/mnt/sysimage/diskE
......
在对操作系统进行定制调整之前,需要判断操作系统所处位置,也即确 认变量MOUNT值。
确定了MOUNT值之后,将系统的/proc目录挂载,然后通过命令chroot 进入该系统。
mount/proc/$MOUNT/proc--bind
chroot$MOUNT。
经过chroot之后,系统读取的是$MOUNT下的目录和文件,这是一个 与原系统文件部相关的目录结构,用户登录到$MOUNT目录下的系统中。在 这个新的系统中,可以对已安装的包进行更新、卸载、升级等操作,也可以 对系统的配置文件进行修改,删除操作,或者关闭或开启某服务等。
下面是部分操作指令:
删除软件包:
chroot$MOUNT/bin/bash-c"rpm-e kernel kernel-headers --nodeps"
chroot$MOUNT/bin/bash-c"rpm-e neokylin-backgrounds-extras-baseneokylin-backgrounds-extras-mate bash-completion--nodeps";
修改配置文件:
chroot$MOUNT/bin/bash-c"rm-rf/etc/localtime"
chroot$MOUNT/bin/bash-c"ln -s/user/share/zoneinfo/Aisa/Karachi/etc/localtime"
chroot$MOUNT/bin/bash-c"sed-i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config";
开启或关闭系统服务:
chroot$MOUNT/bin/bash-c"systemctl enable nmb.service smb.service"
chroot$MOUNT/bin/bash-c"systemctl mask lvm2-monitor.serviceModemManager.service mandb.timer fedora-loadmodules.service fedora-readonly.service";
通过这种方式运行的好处就是,命令运行结束,修改也就完成,不需 要额外运行exit命令退出chroot模式。
为了方便查看修改部分,较佳将调整部分的脚本写在单独的文件 (backup_recovery.sh)内,在ks.cfg的合适位置调用该脚本。
脚本backup_recovery.sh在ks.cfg的位置如下所示:
通过在/run/install/repo/productinfo文件中检索关键字“3rdSI”, 如果检索成功,那么就不需要对系统进行调整,否则就运行 backup_recovery.sh脚本文件。因此,对系统的调整处理可以通过 productinfo文件进行控制。
由于脚本backup_recovery.sh是在安装阶段执行的,因此原生系统也 是在安装阶段进行调整的,系统安装完成后,就得到了原生系统的升级版 了。
本发明中,所谓的“iso镜像”,是电脑上光盘镜像(CD Mirror)的存 储格式之一,因为其是根据ISO-9660有关的CD-ROM文件系统标准存储的文 件,所以通常在电脑中以后缀.iso命名,俗称iso镜像文件。
本发明中,所谓的“Yum”,是一个在Fedora和RedHat以及CentOS中 的Shell前端软件包管理器。基于前端软件包管理,能够从指定的服务器自 动下载前端软件包并且安装,可以自动处理依赖性关系,并且一次安装所有 依赖的软件包,无须繁琐地一次次下载、安装。
本发明中,所谓的“anaconda”,是包括linux系统在内的操作系统的 预安装环境,其提供操作系统安装选项的一个接口,可以将它比作是 window中的PE环境。
本发明中,所谓的“ADDON”,是指扩展,其使得第三方开发者有能力扩 展应用程序,以提供前期无法预料的特色;减小应用程序的大小等。
本发明中,所谓的“原生系统”,是指首次生成的操作系统。
本发明的操作系统安装镜像的制作方法,适用于多种操作系统,尤其适 用于Linux操作系统的安装镜像制作。
本发明提供的操作系统安装镜像的制作方法,采用ADDON机制在已经生 成的系统(原生系统)上做调整和叠加,在重新制作系统时不需要从头开始 进行包下载、包安装或解决安装过程中出现的种种问题,仅仅只需更新有 改动部分即可。相对于需要重新从软件仓库上下载数千个待安装的软件包的 方法,本发明在应对需要频繁修改、而且改动不大,频繁出版本的情况时, 更便利、快速,可大大节省更新时间。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明 的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对 上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保 护范围以权利要求书所界定的为准。

Claims (10)

1.一种操作系统的安装镜像的制作方法,其特征在于,包括如下步骤:
步骤S1:判断操作系统所处位置;
步骤S2:将操作系统的/proc目录挂载;
步骤S3:通过命令chroot进入操作系统;
步骤S4:对操作系统进行调整,从而完成操作系统的安装镜像的制作。
2.如权利要求1所述的操作系统的安装镜像的制作方法,其特征在于:所述步骤S1中,通过确定变量MOUNT值确定操作系统所处位置。
3.如权利要求2所述的操作系统的安装镜像的制作方法,其特征在于:所述MOUNT值的确认指令为:
查找系统启动模式是否是“救援”模式,如果是“救援”模式,那么设置MOUNT变量的值为/mnt/local,否则设置为/mnt/sysimage。
4.如权利要求2所述的操作系统的安装镜像的制作方法,其特征在于:所述步骤S3的操作指令为:
将当前系统的/proc目录挂载到$MOUNT/proc目录下,然后通过chroot命令进入到$MOUNT所指定的系统中,从而改变用户当前操作的环境。
5.如权利要求1所述的操作系统的安装镜像的制作方法,其特征在于:所述操作系统在安装阶段采用非交互式进行安装。
6.如权利要求5所述的操作系统的安装镜像的制作方法,其特征在于:所述步骤S4中,对操作系统进行的调整在后安装脚本的post段进行。
7.如权利要求6所述的操作系统的安装镜像的制作方法,其特征在于:所述步骤S4中,对操作系统的调整部分的脚本写在单独的文件内,通过在post段内的ks.cfg的预定位置调用该脚本实现操作系统安装镜像的制作。
8.如权利要求7所述的操作系统的安装镜像的制作方法,其特征在于:操作系统的调整部分的脚本所写入的单独的文件,为在操作系统安装阶段所执行的文件。
9.如权利要求8所述的操作系统的安装镜像的制作方法,其特征在于:操作系统的调整部分的脚本所写入的单独的文件,为脚本backup_recovery.sh。
10.如权利要求1-9中任一项所述的操作系统的安装镜像的制作方法,其特征在于:所述步骤S4中,对操作系统进行的调整包括升级已安装的软件包、删除已安装的软件包、删除或替换配置文件及开启或关闭某服务中的一项或多项。
CN201711115098.5A 2017-11-13 2017-11-13 操作系统的安装镜像的制作方法 Pending CN109783111A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711115098.5A CN109783111A (zh) 2017-11-13 2017-11-13 操作系统的安装镜像的制作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711115098.5A CN109783111A (zh) 2017-11-13 2017-11-13 操作系统的安装镜像的制作方法

Publications (1)

Publication Number Publication Date
CN109783111A true CN109783111A (zh) 2019-05-21

Family

ID=66494361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711115098.5A Pending CN109783111A (zh) 2017-11-13 2017-11-13 操作系统的安装镜像的制作方法

Country Status (1)

Country Link
CN (1) CN109783111A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124603A (zh) * 2019-11-30 2020-05-08 北京浪潮数据技术有限公司 一种cd-rom挂载方法、装置以及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129381A (zh) * 2011-03-14 2011-07-20 兰雨晴 一种定制linux操作系统的方法
CN104375867A (zh) * 2014-11-25 2015-02-25 浪潮电子信息产业股份有限公司 一种定制Linux系统制作ISO镜像方法
US20160283218A1 (en) * 2013-09-18 2016-09-29 G-Cloud Technology Ltd Method for distributing large-sized Linux software packages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129381A (zh) * 2011-03-14 2011-07-20 兰雨晴 一种定制linux操作系统的方法
US20160283218A1 (en) * 2013-09-18 2016-09-29 G-Cloud Technology Ltd Method for distributing large-sized Linux software packages
CN104375867A (zh) * 2014-11-25 2015-02-25 浪潮电子信息产业股份有限公司 一种定制Linux系统制作ISO镜像方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124603A (zh) * 2019-11-30 2020-05-08 北京浪潮数据技术有限公司 一种cd-rom挂载方法、装置以及相关设备

Similar Documents

Publication Publication Date Title
US9606791B2 (en) Controlled method and apparatus to securely install and update software
EP3249523B1 (en) Zero downtime maintenance in constrained systems
US9678737B2 (en) Method for distributing large-sized Linux software packages
US8584115B2 (en) Automated operating system device driver updating system
KR100952251B1 (ko) 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지
US8479187B2 (en) Adaptive switch installer
US7380003B1 (en) Method and system for staged web service upgrade from an existing version to a different version
US20190146776A1 (en) Patch-Upgrade-Based File Processing Method and Apparatus, Terminal, and Storage Medium
RU2376715C1 (ru) Устройство мультимедийного промежуточного программного обеспечения, использующее метаданные, способ управления мультимедийным промежуточным программным обеспечением и носитель информации для него
US8935688B2 (en) Methods for facilitating updates at an information handling device
EP2955627B1 (en) Managing versions of components of a software suite
US9367547B2 (en) Method and system for generating and deploying container templates
EP2805233B1 (en) Installation engine and package format for parallelizable, reliable installations
US8769521B2 (en) Calendar aware adaptive patching of a computer program
CN107391665A (zh) 一种数据库实例的创建方法和装置
CN108076388B (zh) 参数分离方法、智能电视及存储介质
CN105677425A (zh) 一种c/s系统结构的软件系统更新方法
US8543995B2 (en) Information processor, information processing method, and computer-readable storage medium
CN109783111A (zh) 操作系统的安装镜像的制作方法
CN111722868A (zh) 一种申威防火墙快速移植高版本linux内核的方法
CN116820606A (zh) 引导程序配置方法、装置、设备以及存储介质
CN110688140A (zh) 一种代码管理方法和终端
KR101461319B1 (ko) 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치
CN114816437A (zh) 一种逆向生成Java实体类的方法、系统和设备
CN111522615B (zh) 命令行界面的更新方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190521