【系统定制】创建自己的安装包组

linux -PXE批量装机 | Kickstart无人值守 | 自动应答文件 | 超详细 PXE批量装机和kickstart无人值守➤PXE概述➤PXE批量部署的优点➤搭建PXE网络体系所需条件➤搭建PXE远程安装服务器➤安装、修改并启动TFTP服务➤安装、修改并启用 DHCP 服务➤准备 Linux 内核、初始化镜像文件➤安装准备 PXE 引导程序➤安装FTP服务,准备CentOS 7 安装源➤配置启动菜单文件➤实现Kickstart无人值守配置➤准备安装应答文件➤打开“Kickstart 配置程序”窗口➤配置kickstart选项➤保存自动应答文件➤配置需要安装的软件包➤编辑引导菜单文件 d 阅读详情

Kickstart

安装好的系统默认在root/目录下生成anaconda-ks.cfg文件

安装包部分

%packages

@^minimal
@core
chrony

%end

@后跟安装包组名(id字段),安装包组可自定义

也可以在该段直接声明您需要安装的包名

(可直接加*号代替全部)会将Packages目录下的所有rpm包安装到新的系统中


XML文件

文件名称:$hexstring-comps.xml在镜像的repodata文件夹下

createrepo命令利用该文件在当前目录下生成repodata/文件夹

createrepo -g $hexstring-comps.xml .

组列表

<group>
  <id>group</id>
  <name>Group</name>
  <default>true</default>
  <uservisible>false</uservisible>
  <description>Create a group</description>
  <packagelist>
    <packagereq type="mandatory">bash</packagereq>
    <packagereq type="default">cpio</packagereq>
  </packagelist>
</group>
  • id:组的id仅仅是在comps.xml文件中作为该组的一个标识,这是必须的;

  • name:表示用户可以看到的组的名字,它也是必须的;

  • default:它表示在系统安装过程中,当选择定制(custom)安装时,该组是否在缺省情况下被选中。如果没有说明,则缺省情况下为不选中。

  • uservisible:它表示该组在缺省情况下是否在安装时可以看到,如果没有说明,缺省设置为YES,为可以看到。

  • description:它表示对该组进行简短的描述,这是必须的;

  • packagelist:它说明在该组内的一系列安装包,这也是必须的。

    • packagereq:包名

    • type:对于安装包的一些属性

    • mandatory 强制安装

    • default 缺省安装
    • optional 可选安装

RPM包

<package>
  <name>bash</name>
  <dependencylist>
    <dependency>mktemp</dependency>
    <dependency>bash</dependency>
    <dependency>glibc</dependency>
    <dependency>libtermcap</dependency>
  </dependencylist>
</package>
  • name:它指的是RPM包名,是必须的。
  • dependencylist:它说明此包对应的依赖的RPM包。
    • dependency:此包需要的包的名字

将xml文件修改内容需要添加在标签的上方,之后使用createrepo命令生成repodata文件夹

即完成了我们自定义组的全部步骤可以在kickstart文件中使用@引用自定义的组名(id字段)


生成xml

为了方便定制 使用下面的脚本来自动生成我们需要的xml文件

sh ***.sh rpmdir idname

脚本内容如下

#!/usr/bin/bash
# $1 -> rpmdir $2 -> id
set -e

array=()
i=1

#change dir to destdir
cd `pwd`/$1

fakexml=`ls`

#seperate string 
for element in $fakexml
do

temp=`echo $element`
array[$i]=`echo ${temp%-[0-9].*[0-9].*.rpm}`
i=`expr $i + 1`

done

STRING+="  <group>\n"
STRING+="    <id>$2</id>\n"
STRING+="    <name>$2</name>\n"
STRING+="    <default>true</default>\n"
STRING+="    <packagelist>\n"

i=0
size=${#array[@]} #the number of packages

while [ $i -lt $size ]
do

STRING+="      <packagereq type=\"default\">"${array[$i]}"</packagereq>\n"
i=`expr $i + 1`

done


STRING+="    </packagelist>\n"
STRING+="  </group>\n"

echo -ne $STRING > create.xml

exit 0

参考文档

Linux 操作系统安装盘的定制

23.3. KICKSTART 语法参考

openEuler 最小化ISO 制作 环境准备 安装一个 centos7 系统 下载 openEuler-22.03-LTS-SP1-x86_64-dvd.iso 在centos7上安装 createrepo 和 mkisofs yum install createrepo mkisofs 将iso上传到 centos7 上 /root目录下 挂载iso mkdir /mnt/src mount –o loop /root/openEuler-22.03-LTS-SP1-x86_64-dvd.iso /mnt/src mkdir /root 阅读详情

相关推荐

GBase 8s 安装-定制安装

GBase 8s 安装-定制安装

weixin_34421618的博客 1948

制作Centos7自动安装镜像(五)

文章总览:制作Centos7自动安装镜像 终于进入到最后的阶段了,这也是这个阶段最为复杂的一步了。 我们来逐步完善吧: 1. 同步系统安装包 建立一个目录,用于制作安装包,我建立的目录是/root/kickstart/iso 首先,将Linux标准的安装光盘放入光驱,或者虚拟光驱,执行如下命令 /usr/bin/rsync -a --exclude=repodata/ /media/ /root/kickstart/iso/ 将光盘上数据全部同步到指定目录。其中/media/ 是光盘的挂载路

oarsman的专栏 3465

如何实现ORACLE19c 安装包DIY

想创建自己的ORACLE 19C安装包,还想定制,看这个就对了。

cqsztech的博客 1832

编包----rpm和deb和ISO目录制作出ISO

净室环境编包 deb:pbuilder 第一、创建净室环境(/etc/pbuilderrc)===git-pbuilder是对pbuilder的一层包装 默认获取系统的架构来构架净室环境 git-pbuilder-liver create | login | clean | update 等 可以指定架构来构建净室环境(32位) ARCH=i386 git-pbuilder-live

码农崛起 6509

uos服务器操作系统定制镜像

UOS服务器E版定制镜像

u013317172的博客 2176

VS2022离线安装包定制指南:从全量到精准下载

本文详细介绍了如何定制VS2022离线安装包,从全量下载到精准选择所需组件。通过命令行参数控制,开发者可以大幅缩减安装包体积,如C++桌面开发组件仅需8.3GB,节省66%空间。文章提供了常见开发场景的定制方案和高级技巧,帮助开发者在网络受限环境下高效部署VS2022。

weixin_26911099的博客 351

RPM 打包进阶

&gt;| 继上篇rpm打包(rpm-max翻译) 这里将我三年前packaging时候的一些整理先贴出来,免得遗忘.Chapter 15. Making a Relocatable Package第十五章 -- 制作可重定位的软件包RPM也给用户安装软件包的自主权,用户可以决定软件包安装在他们系统的位置。然而,软件包构建者必须首先在软件包的设计中给用户这种自由。有这样的功能感觉固然是好的,那么我...

xiezhongtian的专栏 1642

Inno Setup Compiler 美化定制安装包

inno setup 定制美化安装包脚本,仿有道词典安装包实现,在原有项目上优化

YumOS的博客 2474

TortoiseGit定制版开发:5步创建专属安装包

注册表路径在不同Windows版本有差异静默安装参数需要测试不同组合插件依赖项要一并打包建议保留原始安装日志功能最近发现InsCode(快马)平台的在线开发环境特别适合做这类工具开发,不用配置本地环境就能直接编写和测试安装脚本,还能实时看到修改效果。他们的代码提示对Inno Setup语法支持很友好,遇到问题随时可以查文档。对于需要团队协作的场景,这种预制安装包的方法能大幅提升效率。如果你们也在用TortoiseGit,不妨试试这个方案。

StarfallRaven13的博客 352

创建专业安装包的SmartInstallMaker实战指南

SmartInstallMaker是一个先进的安装程序制作平台,旨在简化软件安装包的创建过程。它允许开发者快速打包应用程序,同时提供易于操作的用户界面,使非技术用户也能有效地构建安装方案。SmartInstallMaker支持多种开发环境,包括但不限于:Windows应用程序macOS应用程序Linux应用程序Web应用程序。

weixin_42581003的博客 1048

Inno Setup:构建Windows安装包的实战指南

Inno Setup是一款功能强大的安装包制作工具,它提供了一个可视化界面来引导开发者快速定义安装过程的各种参数,同时也支持通过脚本语言进行高级定制。由于其轻量级和开源的特点,Inno Setup成为了许多IT专业人员制作Windows平台应用程序安装程序的首选。在Inno Setup中,自定义安装类型允许开发者提供多种安装选项,以满足不同的用户需求。通过定义自定义安装类型,可以更细致地控制安装过程和所安装的组件。定义自定义安装类型主要通过脚本中的[Files]和[Tasks]部分来实现。

weixin_30923011的博客 1069

个性化定制软件安装包流程指导(按照步骤即可定制化安装流程)

首先看一下安装效果 Step1: Step2: Step3: Step4: Step5: 下面详细介绍iss格式文件内容: 首先下载安装innosetup增强版 软件下载地址: 软件打包工具-innosetup增强版-桌面系统文档类资源-优快云下载 然后分析上面的案例代码: 案例中的文件夹如下: 主脚本是YNote.iss,库文件脚本在dll.iss中 Tmp文件夹很重要,里面包含了定制化安装界面所需要的各种文件,下图列举了针对上面五个..

IT技术猿猴的博客 8859

Air780E模组AT指令实战:5分钟搞定MQTT连接EMQX服务器(附完整代码)

本文详细介绍了如何使用Air780E 4G模组通过AT指令快速连接MQTT服务器。从硬件接线、网络注册到MQTT连接配置,提供了完整的实战步骤和代码示例,帮助开发者快速实现物联网设备的数据上报与远程通信。

wdx012345的博客 743

创建 VSTO 外接程序的 ClickOnce 安装包

一、创建Excel VSTO 外接程序的新项目 (一)新建解决方案和Excel VSTO 外接程序项目 创建一个Excel VSTO外接程序的新项目,选择“Excel VSTO外接程序(Visual Basic)”模板,命名为“Excel外接程序”。VS将显示解决方案名称为“ClickOnce-外接程序”,包含“Excel外接程序”项目。 (二)设计Excel VSTO外接程序 主要是设计菜单项和代码。 1.在“外接程序安装”项目上,点击右键,选择“添加”——“类”,在“添加新项- Excel外接

苹果2008的博客 1466

从零开始掌握机械臂运动控制:原理、建模与实践

本文系统介绍了机械臂运动控制的核心原理与实践方法。从运动学与动力学建模的基础理论出发,详细解析了经典PID控制与现代MPC(模型预测控制)算法的应用,并通过ROS与MATLAB仿真案例,指导读者从零开始实现机械臂的轨迹规划与精准控制,为工业自动化应用提供完整的技术路径。

weixin_29099217的博客 570

汇编语言与USB量产工具开发解析

本文解析了汇编语言在USB量产工具开发中的应用。USB量产工具主要用于批量配置USB设备,包括固件烧录、格式化、信息写入等功能。汇编语言在底层硬件操作中发挥关键作用,如直接控制USB寄存器、编写驱动和精确时序控制。文章通过伪代码示例展示了USB控制器初始化和固件烧录流程,并强调硬件依赖性、安全机制和时序精度等注意事项。开发需严格遵循芯片手册,建议优先使用厂商SDK,避免设备损坏风险。

RulesChen的博客 1025

Installshield 打包安装包

http://chorfung.blog.163.com/blog/static/1207120002010320104717707/   Installshield 打包安装包心得2010-04-20 22:47:17|  分类: InstallShield |  标签:无 |字号大中小 订阅 一. 说明。 阅读对象:本人,IS的初学者。适用版本:Inst

ALLENJIAO的专栏 9540

Android MediaCodec学习笔记

模块介绍 基本概念 OpenMAX是Khronos Group提出的标准,目标在于创造一个统一的接口,加速大量多媒体资料的处理。OpenMAX分成三层:应用层(Application Layer, AL), 整合层(Integration Layer, IL) 以及开发层(Development Layer, DL)。 OpenMAX (Open Media Acceleration) OpenMAX AL Application Layer ..

kisshine 2358

Installshield 12 安装包制作工具

http://chorfung.blog.163.com/blog/static/1207120002010320104717707/ 一. 说明。   阅读对象:本人,IS的初学者。 适用版本:Installshield 12。 目的:       为了让初学IS的朋友少走些弯路,虽然不是很好的宝典,但里面很多细节都是制作安装包常碰到                   的经

咖啡屋 1848

安装Anaconda和Labelme的教程

1 登录Anaconda官网,选择Download https://www.anaconda.com/distribution/ 2 选择你想下载的Python版本,选择你的操作系统和位数,然后点击Download按钮就开始下载了 3 开始安装 下面两个框框都勾选 点击next,等待安装成功 打开Anaconda Navigator 点击红色圈圈的按钮 在cmd中输入 (1)创建虚拟环境 conda create -n labelme python=3.6 (2)激活虚拟环境 conda activa

qq_42178122的博客 3813

基于 Python 的 LIF 模型:探索神经元同步与小世界网络

首先,我们定义了一个LIFNeuronself.soma.L = self.soma.diam = 12.6157 # 固定神经元形状self.cm = cm # 电容self.V_rest = V_rest # 静息电位self.V = V_rest # 初始化膜电位在初始化过程中,每个神经元被赋予初始的静息电位,并且其膜电位会在后续的模拟过程中动态变化。

qq_36224726的博客 1428

5分钟构建定制化Git安装包生成器

通过多选框实现GUI/CLI、Git-LFS等组件的勾选,这里用Vue的v-model绑定选择状态。特别适合需要快速验证idea的场景,现在团队新人 onboarding 都用这个工具生成定制安装包了。提供VS Code、Vim等常见编辑器的单选按钮,选择后会将对应路径写入安装脚本的默认配置段。这里用选项组+动态参数映射的方式实现。根据用户选择拼接不同代码块:先插入基础环境检测,再按顺序添加组件安装命令,最后追加配置项。快速搭建了个可视化配置工具,整个过程比想象中简单很多,分享下具体实现思路。

AmberLeopard26的博客 648

项目介绍 MATLAB实现基于LSTM-XGBoost长短期记忆网络(LSTM)结合极端梯度提升(XGBoost)进行多变量时序预测的详细项目实例(含模型描述及部分示例代码)

本项目基于MATLAB平台,实现LSTM-XGBoost混合模型进行多变量时序预测。通过LSTM网络自动提取时序特征,结合XGBoost强大的回归能力,有效解决多变量时序数据的高维复杂性、长短期依赖捕捉等难题。项目包含完整的数据预处理流程、模型构建与训练方法,以及性能评估指标。提供的GUI界面支持参数调整、训练监控和结果可视化,适用于能源、金融、气象等多领域预测任务。配套代码详细注释,便于理解模型实现细节,为时序预测研究提供实用参考框架。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 103

Git for Windows定制化构建:使用build-extra打造专属安装包教程

Git for Windows定制化构建是开发者和系统管理员的必备技能,通过build-extra工具集可以轻松创建符合特定需求的Git安装包。本文将详细介绍如何利用build-extra项目提供的脚本和配置文件,从环境准备到最终生成安装包的完整流程,帮助你打造专属的Git for Windows安装体验。 ## 为什么选择build-extra进行Git定制化构建? build-extra项

gitblog_00997的博客 747

大数据工程中的数据血缘分析工具比较

数据血缘(Data Lineage)是大数据治理中的核心组成部分,它描述了数据从源头到目标的完整流动路径。系统介绍数据血缘的核心概念和技术原理比较主流开源和商业数据血缘工具的功能特点提供数据血缘分析的实践指南和选型建议本文首先介绍数据血缘的基本概念,然后深入分析其技术原理和实现方法,接着比较主流工具的特点,最后通过实际案例展示应用场景。数据血缘(Data Lineage): 描述数据从源头到目标的完整流动路径,包括所有转换和处理步骤元数据(Metadata)

大数据洞察的博客 900

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Packaging.DebUOS 专门为 dotnet 应用制作 UOS 安装包

Packaging.DebUOS 是我所在的团队开发开源的一款专门用在为 dotnet 的应用制作成为符合要求的 UOS 统信系统软件安装包的工具,此工具可以辅助开发者使用现有的工具链经过简单的配置即可完成安装包的制作设计思想Packaging.DebUOS 旨在通过使用 csproj 项目文件等方式进行配置,避免直接处理deb包的打包细节,从而降低学习成本。它内置了大量默认属性,可以直接开箱即用...

dotNET跨平台 1177

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 【系统安装】PXELINUX(网络安装引导启动)
下一篇: 内核加密机制及应用
code__L
博客等级 码龄10年 3粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值