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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS