CN109783111A - 操作系统的安装镜像的制作方法 - Google Patents
操作系统的安装镜像的制作方法 Download PDFInfo
- 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
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中,对操作系统进行的调整包括升级已安装的软件包、删除已安装的软件包、删除或替换配置文件及开启或关闭某服务中的一项或多项。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124603A (zh) * | 2019-11-30 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种cd-rom挂载方法、装置以及相关设备 |
Citations (3)
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 |
-
2017
- 2017-11-13 CN CN201711115098.5A patent/CN109783111A/zh active Pending
Patent Citations (3)
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)
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 |