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

相关文章

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.