kickstart 打包iso步骤.记录

2024-02-09 13:08

本文主要是介绍kickstart 打包iso步骤.记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打包iso步骤

1、安装制作工具

安装anaconda、repodata、createrepo、mkisofs等工具,执行createrepo程序生成repodata下的comps.xml文件

yum -y install anaconda repodata createrepo mkisofs rsync

2、拷贝packages.log 为 install.log

cp /var/log/anaconda/packaging.log /root/install.log

    #如果没有该文件,可以手动生成(新安装的干净系统):

rpm -qa >> /root/install.logawk '{print $2}'  /root/install.log |xargs -i cp /media/Packages/{}.rpm /root/iso/Packages/

    注:如果是手动生成的install.log,将'{print $2}' 改为'{print $0}' 。

2、挂载磁盘

mount /dev/cdrom /mnt/

如果是虚拟机,要勾选“已连接”,否则挂载失败

创建目录

mkdir -p /root/iso/{Packages,repodata}

3、查询install 中的rpm,并拷贝到Packages中

awk '/packaging/{print $4}' install.log | awk '/-/{print $1}' | sed 's/^.*://g'|xargs -i cp /mnt/Packages/{}.rpm /root/iso/Packages/awk '/Installing/{print $3}' vim_install.log | awk '/-/{print $1}' | sed 's/^.*://g'|xargs -i cp /var/cache/yum/x86_64/7/{updates,base}/packages/{}.rpm /root/iso/Packages/

4、拷贝comps.xml

cp /mnt/repodata/*-comps.xml /root/iso/repodata/comps.xml

5、拷贝/mnt/cdrom中,除了Packages和repodata

/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /mnt/  /root/iso

6、将/root/anaconda-ks.cfg拷贝到/root/iso/isolinux/ks.cfg

cp /root/anaconda-ks.cfg /root/iso/isolinux/ks.cfg

并根据自己需要修改ks.cfg中内容

7、生成新的repodata

createrepo -g /root/iso/repodata/comps.xml  /root/iso

# 2020-12-17

# 生成iso命令

mkisofs -o CentOS-7.5_64-test.iso -input-charset utf-8 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long  /root/iso

F.A.Q

 问题一:kickstart repoerror insufficient space in download directory  /run/install/repo/Packages

原因:

重新生成repo

在CentOS下需要根据'.discinfo'来设置'baseurl'(declare -x discinfo=head -1 .discinfo; createrepo -u "media://$discinfo"...); 在CentOS7中不再需要如此做,实际上如果在CentOS7中执行了这个命令,在安装的过程中,可能会报错"RepoError after 10 retries: Insufficient space in download directory /run/install/repo/Packages"

在其他版本中可执行如下指令:

# declare -x discinfo=$(head -1 /root/iso/.discinfo)# createrepo -u "media://$discinfo" -g /root/minimal-x86_64.xml /root/iso/

这篇关于kickstart 打包iso步骤.记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/694310

相关文章

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发

Java实现TXT文件导入功能的详细步骤

《Java实现TXT文件导入功能的详细步骤》在实际开发中,很多应用场景需要将用户上传的TXT文件进行解析,并将文件中的数据导入到数据库或其他存储系统中,本文将演示如何用Java实现一个基本的TXT文件... 目录前言1. 项目需求分析2. 示例文件格式3. 实现步骤3.1. 准备数据库(假设使用 mysql

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin