linux自定义iso,制作自定义CentOS的ISO安装盘
一、下载CentOS镜像文件
CentOS镜像链接:http://vault.centos.org/
本文以CentOS 7.3为例
二、使用vmware安装centos
安装过程自行百度
三、制作ISO过程记录
1、CentOS虚拟机下挂载镜像
1)查看是否有光盘挂载
ls -l /dev/cdrom |grep cd
2)将ISO所在的/dev/cdrom里面的文件挂载到media
mount /dev/cdrom /media/
2、安装制作发行版的工具
yum install -y createrepo mkisofs isomd5sum squashfs-tools
3、拷贝文件
#拷贝/media/下的文件到ISO/路径下
mkdir /ISO
cp -r /media/* /ISO/
cp /media/.discinfo /ISO/
cp /media/.treeinfo /ISO/
chmod +w /ISO/isolinux/isolinux.cfg
#清空ISO文件夹下的Packages和repodata文件夹
rm -rf /ISO/Packages/*
rm -rf /ISO/repodata/*
4、拷贝相关软件包到/ISO/Packages目录下
在使用Centos系统安装完成后会生成/root/install.log,该文件记录了系统安装时安装的RPM包信息。如果没有该文件,可以手动生成(新安装的干净系统):
1)生成install.log
rpm -qa >> /root/install.log
2)拷贝rpm包的脚本
awk '{print $0}' /root/install.log |xargs -i cp /media/Packages/{}.rpm /ISO/Packages/
因为需要自定制iso,需要预安装其他的包,将解决好依赖关系的包全部放入/ISO/Packages/中
3)配置yum下载指定软件包列表(rpms_list.txt)的所有依赖包
(1)只下载不安装
#!/bin/sh
# (1) 只下载不安装
for line in `cat rpms_list.txt`
do
echo $line
yum install -y --downloadonly --downloaddir=/root/test/ $line
done
echo "安装包下载完毕,下面整理包名"
#(2)获取下载的所有包的名字到指定文件
cd /root/test
for file in $(ls *)
do
echo $file >> /root/rpm_names.txt
done
echo "包名全称整理完毕,下面替换后缀"
#(3)去除 “.rpm”
sed -i "s/.rpm//g" /root/rpm_names.txt
echo "替换完毕"
#拷贝包到指定目录
cp /root/test/* /ISO/Packages/
5、修改isolinux.cfg文件,将“append initrd=initrd.img”后面的当前行内容删除,并加入“ks=cdrom:/isolinux/ks.cfg”。
label linux
menu label ^Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg
6、修改自动化安装配置文件
cp /root/anaconda-ks.cfg /ISO/isolinux/ks.cfg
在%packages与%end中间加入需要自定义安装的包全称,带版本号,本例使用如下的一个rpm包,并且要记得将该rpm包放到/ISO/Packages目录下
添加自定义rpm包的位置
在指定字符串“kexec-tools”后面添加rpm_names.txt中的所有包名
#!/bin/sh
for line in `cat rpm_names.txt`
do
sed -i "/kexec-tools/a\\"$line"" ks.cfg
done
7、生成comps.xml文件
1)进入/ISO/repodata 目录,将“*-x86_64-comps.xml”文件拷贝到/ISO/repodata路径下,并重命名成comps.xml。
cp /media/repodata/*-x86_64-comps.xml /ISO/repodata/comps.xml
2)切换到ISO/路径下,生成comps.xml文件
createrepo -g repodata/comps.xml ./
8、进入到ISO目录,生成ISO文件
mkisofs -o CentOS-7.3.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 /ISO/
9、生成ISO文件MD5值
/usr/bin/implantisomd5 /ISO/CentOS-7.3.iso
10、使用生成的ISO镜像去安装系统时就会默认把自定义的rpm装上
11、若不自动安装则需配置isolinux.cfg
label linux
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 quiet
inst.stage2为安装介质位置,hd:LABEL为介质标签,例如CentOS7。这个和生成ISO镜像文件的命令genisoimage的参数-V有关。
制作命令
# 注意参数中的-V,和上面的isolinux.cfg文件有关
genisoimage -joliet-long -V CentOS7 -o CentOS-7-3.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /ISO
欢迎扫码关注公众号,不定期更新一些干货
linux自定义iso,制作自定义CentOS的ISO安装盘相关推荐
- 安装linux系统initrd,制作initrd(5):解剖Ubuntu安装盘
ubuntu定期更新他们的iso,iso引导系统后会有Try/Install Ubuntu两个选项.特别是选择了livecd,仅仅一张盘子就能运行一个图形化的linux,总觉得挺神奇的.在好奇心的推动 ...
- Rufus怎么使用?Rufus制作Win10 U盘启动安装盘教程
Rufus 是一个开源免费的快速制作 U 盘系统启动盘和格式化 USB 的实用小工具,本文就为大家带来了使用方法,需要的朋友一起看看吧 [制作Win10 U盘启动安装盘教程] [制作uefi win7 ...
- win7原版镜像_淘汰固态变U盘,不用工具制作win7/10双系统安装盘2/2
二.系统制作篇 如何制作一张windows7/10 安装盘,嗯,方法很多,例如用微软官方工具啊,UltraISO等等很多第三方工具.本分旨在利用windows既有的程序来简单制作一个既能安装win7也 ...
- 自定义linux iso,制作自定义的ISO镜像(Centos 7.6)
本文以制作自定义的centos7的ISO镜像为例,自定义ISO无非就是提前安装好yum包,提前安装好pip包,提前安装好自己的应用这三种情况,对于提前安装yum包,如下的链接讲的非常清楚,这里就不再详 ...
- img文件制作linux启动u盘,如何在Linux系统中制作可启动img/iso镜像文件
img/iso文件是镜像文件,在Linux系统操作中有时需要制作镜像文件,那么制作镜像文件的方法有哪些呢?下面小编就给大家介绍下如何下Linux下制作可启动img/iso文件. 制作镜像文件有三种方法 ...
- linux系统做成iso镜像文件,如何在Linux系统中制作可启动img/iso镜像文件
img/iso文件是镜像文件,在Linux系统操作中有时需要制作镜像文件,那么制作镜像文件的方法有哪些呢?下面小编就给大家介绍下如何下Linux下制作可启动img/iso文件. 制作镜像文件有三种方法 ...
- 服务器系统导出iso,制作云服务器系统iso
制作云服务器系统iso 内容精选 换一换 云服务器创建后区域固定,不能将云服务器转移到另一个区域,也不能将云服务器转移到另一个帐号.您可以通过镜像迁移方式实现云服务器的跨帐号跨区域迁移.服务器迁移的常 ...
- 用UltraISO制作CentOS U盘安装盘
1 下载UltraISO 网上有很多版本,下个绿色版的就ok了. 下载地址:http://www.pc6.com//softview/SoftView_13698.html 2 下载Cen ...
- ultraos win10启动盘_用UltraISO把Win10 ISO镜像写入U盘制作系统安装盘
如果你已经下载好了Win10 ISO镜像,但你的电脑却没有配置刻录机,那么如何制作Win10系统安装盘呢?其实只要借助UltraISO软件把Win10 ISO镜像写入U盘,即可把U盘制作成Win10系 ...
最新文章
- WCF错误:413 Request Entity Too Large
- [Leetcode]笔记
- axios get传参_axios 传数组或对象格式的参数用GET和POST的区别
- SpringBoot学习笔记(8):事物处理
- C# 连接SQL 连接字符串
- openjdk8之编译和debug
- A Simple Math Problem (矩阵快速幂)
- 数组排序-冒泡排序和选择排序
- TOGAF9企业架构规划与设计学习考试经验简记
- MarkDown安装后不能预览问题(awesomium_sdk的下载)
- 暂时初步完成了搜索引擎的基本功能
- 【GlobalMapper精品教程】007:如何加载谷歌卫星影像?
- 机器学习7个主要领域
- NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing...
- 为什么要隐藏ip地址
- # 2gether 在一起 # 2 号星际碎片现身,全军出击!
- 自学Vue之路——Vue介绍及基本语法
- webERP的网络资源
- Vanilla相关术语
- 第六章_编写定制标签