定制centos7系统镜像iso
摘要
本文主要介绍如通过genisoimage制作centos的iso,在保留原有默认安装的RPM包的基础下,添加自己所需要的RPM包的,最终生成一个自定制版的ISO,节省了宝贵的时间并确保了安装的定制性
搭建基础环境
安装所需要的工具:
yum -y install createrepo isomd5sum genisoimage
建立对应文件夹以及拷贝原镜像文件
#mkdir /root/iso
把/root/iso作为iso的制作目录
#mount /dev/sdb4 /media/ 其中/dev/sdb4 是u盘,内部为centos7的安装引导文件
#cp -r /media/* /root/iso/
#cp /media/.discinfo /root/iso/
#cp /media/.treeinfo /root/iso/
# chmod +w /root/iso/isolinux/syslinux.cfg
修改syslinux.cfg文件,将“append initrd=initrd.img”后面的当前行内容删除,并加入“ks=hd:/dev/sdb4:/isolinux/ks.cfg”。
default linux
menu color timeout_msg 0 #ffffffff #00000000 none
# Command prompt text
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none
# Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.
menu tabmsg Press Tab for full configuration options on menu items.
menu separator # insert an empty line
menu separator # insert an empty line
label linux
menu label ^Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:/dev/sdb4 ks=hd:/dev/sdb4:/isolinux/ks.cfg quiet 这步的作用是实现自动化安装,如果不加上就需要手动配置参数就行下一步安装了。
目前新的服务器需要修改/EFI/BOOT/grub.cfg
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:/dev/sdb4 ks=hd:/dev/sdb4:/isolinux/ks.cfg quiet
initrdefi /images/pxeboot/initrd.img
}
修改自动化安装配置文件
#cp /root/anaconda-ks.cfg /root/iso/isolinux/ks.cfg
本次制作iso用的是系统安装成功生成的默认的anaconda-ks.cfg文件,并未做修改,如果有需求可以自行修改。下面是我使用的示例,并稍加了一些文件配置说明(详细配置说明可以查找kickstart配置文件):红色部分可以自己定义相关配置
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media 从光驱安装
cdrom
# Use graphical install 图形化安装
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts 美式键盘
keyboard --vckeymap=us --xlayouts='us'
# System language 美式英语
lang en_US.UTF-8
# Network information 网卡配置
network --bootproto=dhcp --device=xxx --onboot=off --ipv6=auto --no-activate
network --hostname=localhost.localdomain
# Root password root用户的密码
rootpw --iscrypted $6$Ok9Jcj51va/3x830$/6rLkpu8k2tPCmd7byUBE7wuRexmuoMzp0jAelDRYMAIk9yRL/84mCFrOTp5QYWJNVcEIB7wWgw0010p0r21vT0
# System services
services --disabled="chronyd"
# System timezone 时区
timezone Asia/Shanghai --isUtc --nontp
user --name=pan --password=$6$ONSyoQ.S58OJpcnj$jUz6vDadzY5wZ39fr0dEONbI/iNIeVkpRMaUjz9ZJbIqQLPLKqq8ZJWRoDGjolLJfkwmw58Dp5xPhKufAca8y/ --iscrypted --gecos="pan"
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
#安装包的信息%packages
@^minimal
@core
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%post
echo "13107200" > /proc/sys/net/core/rmem_max
%end
%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty%end
取系统默认安装的RPM包和需要添加的RPM包
1.修改yum的配置文件,将yum下载的安装包保存起来
#vi /etc/yum.conf
修改keepcache=1 (1为保存,0为不保存,默认是0)
修改后使用yum安装的包会保存在“/var/cache/yum/”下。
在使用Centos系统安装完成后会生成/root/install.log,该文件记录了系统安装时安装的RPM包信息。如果没有该文件,可以手动生成(新安装的干净系统):
#rpm -qa >> /root/install.log
清空ISO制作目录里的Packages和repodata两个目录里的所有内容,并根据install.log将所需安装包放入Packages文件夹内:
该命令需要在/root目录下,即install.log所在目录
# awk '{print $0}' /root/install.log |xargs -i cp /media/Packages/{}.rpm /root/iso/Packages/
因为需要自定制iso,需要预安装其他的包,将解决好依赖关系的包全部放入/root/iso/Packages/中:
重新生成repo
修改comp.xml文件,定义RPM包组
进入/media/repodata 目录,将“*-x86_64-comps.xml”文件拷贝到/ISO/repodata路径下,并重命名成comps.xml。由于centos7下的comps.xml文件名很长,这里“*”为省略符,实际操作时输入完整文件名。
如果系统直接安装某个程序,可以在comps.xml文件中的对应group中直接添加,也可以添加新的group,然后在最后的environment中增加新添加的group,然后同步把安装包拷贝到/root/PanIOS/Packages/中即可。
#cd /root/iso
#createrepo -g comps.xml .
PS:如果有新增或删除了Packages目录的RPM包,请重新生成comps.xml文件
生成ISO文件
genisoimage -o CentOS-7.8.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /root/iso
生成ISO文件MD5值
implantisomd5 CentOS-7.8.iso
定制centos7系统镜像iso相关推荐
- 自己centos7系统制作iso镜像,并新建虚拟机
一.自己centos7系统制作iso镜像 1. 前置工作 将系统安全配置 SELINUX 改为 disabled,否则制作好的镜像无法登陆!!! vim /etc/selinux/config # 将 ...
- 009 系统镜像ISO GHO WIM和ESD的区别
ISO是光盘镜像的存储格式之一,它形式上只有一个文件能够真实反映光盘的内容,可由刻录软件或者镜像文件工具来建立. GHO是ghost工具软件的镜像文件扩展名.ghost在狭义上被特指为能快速恢复的系统 ...
- 系统镜像ISO、GHO、WIM、ESD的区别
基本概念 ISO镜像:.iso是电脑上光盘镜像(CD Mirror)的存储格式之一,因为其是根据ISO-9660有关CD-ROM文件系统标准存储的文件,所以通常在电脑中以后缀.iso命名,俗称iso镜 ...
- 安装系统 镜像 ISO
2014-01-10 14:35:22 把iso里的boot和bootgmr以及sources复制到c盘,pe下,开始菜单,运行,cmd,输入"C:\boot\bootsect.exe /n ...
- Red Hat6 Linux镜像文件,红帽 Red Hat Linux 系统镜像iso下载(汇总.百度云)
rhel-server-6.10 Red Hat Enterprise Linux 6.10 Binary DVD with fix for efidisk.img (20180619): rhel- ...
- linux中文镜像文件iso下载地址,linux系统镜像iso文件下载
Asp.Net Core--基于声明的授权 翻译如下: 当创建身份时,其可以被分配由可信方发布的一个或多个声明. 索赔是名称值对,表示主题是什么,而不是主体可以做什么. 例如,您可能有驾驶执照,由当地 ...
- 自制java虚拟机_《深入理解Android:Java虚拟机ART》 —1.2.3 准备模拟器和自制系统镜像...
1.2.3 准备模拟器和自制系统镜像 阅读源码是学习虚拟机的主要方法.但在某些关键地方,有时候很难确定代码逻辑的走向,这时就需要在源码中加一些日志来辅助我们观察虚拟机的行为.在此,笔者推荐使用模拟器和 ...
- centos7 pe系统安装_如何用U盘安装CentOS7系统
匿名用户 1级 2016-11-20 回答 1.准备一个使用u大侠软件制作好的启动u盘一个(最好1G以上的空的U盘),关于如何使用u大侠制作u盘启动盘; 2.下载CentOS7系统 [第一步]将Cen ...
- [安装系统] UlTraISO U盘系统镜像刻录
系统安装|U盘安装|U盘刻录系统镜像文件 注:本文介绍如何把操作系统镜像文件刻录到U盘中. 第一步:UltraISO安装 [针对第一次刻录U盘镜像的伙伴,这个步骤一次完成永久受益] 好了,UltraI ...
最新文章
- App研发录读后总结(一)
- oracle中dlink使用,Oracle,MetaLink,中文使用指南
- Winform中通过NPOI导出Excel时通过ICellStyle和IDataFormat格式化日期显示格式
- 5最后一条记录_在一堆数据中,如何获取最后一次记录?
- 短程调度 中程调度 长程调度
- 学习Linux——计算机概论
- 算法笔记--二分图判定
- 用户 sa 登录失败。_Sqlserver2008R2特定用户只能查看管理指定的数据库
- DOCKER基础技术:LINUX NAMESPACE(上)
- educoder 1-1Python 计算思维训练——公式编程
- Office2016下Excel饼图和Visio饼图绘制的几个小技巧(饼图分离、颜色逐块编辑、扇形区起始角度指定等)
- meltdown linux 补丁,谈谈CentOS发布内核安全补丁:修复Meltdown和Spectre漏洞
- 机器人的弊议论文_辩证对待机器人-议论文范文600字
- IR077K firmware设计
- HTTPS证书过期|SSL证书过期 |华硕路由器| NAS|Certtificate is not valid
- “收藏本站”,“设为首页”的脚本
- Java面向对象之interface接口
- 【巴法云连接小爱同学+RC522刷卡双控制舵机门锁】
- 产品经理游戏公司的产品经理
- 改变DataGridView中的DataGridViewButtonCell单元格的背景色.