定制centos 7 镜像
1. 下载最新centos 7 mini, 我下载的版本是CentOS-7-x86_64-Minimal-1908.iso。

2. 安装系统(使用下载的iso)。

3. 生产install.log

#rpm -qa >> /root/install.log

清空ISO制作目录里的Packages和repodata两个目录里的所有内容,并根据install.log将所需安装包放入Packages文件夹内:

# awk '{print $2}'  /root/install.log |xargs -i cp /mnt/Packages/{}.rpm /root/PathISO/Packages/

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

因为需要自定制iso,需要预安装其他的包,将解决好依赖关系的包全部放入/root/PathISO/Packages/中:

多数情况下我们会根据yum来下载安装包,下面介绍两种获取下载安装包的方法:

1.修改yum的配置文件,将yum下载的安装包保存起来

#vim /etc/yum.conf

修改keepcache=1 (1为保存,0为不保存,默认是0)

修改后使用yum安装的包会保存在“/var/cache/yum/”下。

2.通过yum指令的--downloadonly可以只下载安装包,不进行安装

#yum -y install --downloadonly --downloaddir=/root/test/ vim  wget net-tools

该指令我会将安装的包统一放在/root/test/目录下,yum update同样可以使用该方法,这样定制后的ISO中RPM包都是最新版本的。
注:这里如果提前安装了组件就不能下载安装包了,所以 要先打开keepcache这个选项,依赖包要拷贝过去,我前面没拷贝全vim的依赖包造成后面安装的vim组件没有安装成功,也可能没有写全称vim-enhanced这是vim的全称

4. 挂载iso
#mount /dev/cdrom /media

注意:如果你想用Centos7.3的ISO进行挂载也是可以的

#mount -o loop /root/CentOS-7-x86_64-Minimal-1908.iso /mnt

#cp -r /mnt/* /root/PathISO/

#cp  /mnt/.discinfo /root/PathISO/

#cp  /mnt/.treeinfo /root/PathISO/

修改isolinux.cfg文件(文件位置:/root/PathISO/isolinux/isolinux.cfg

# 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 My Linux
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 ks=cdrom:/isolinux/ks.cfg

#append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg //适用于光盘制作

#append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 inst.ks=hd:LABEL=CentOS7:/isolinux/ks.cfg //适用与usb制作

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 quiet

label check
  menu label Test this ^media & install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 rd.live.check quiet

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

编辑/root/PathISO/isolinux/ks.cfg

# Root password
rootpw --iscrypted $6$VrjQrY4WNa7cMc/m$k2tePtJU0N.0gcbG5XbP.X3KjQxXApRrue79XYyiKveZ3waOnIoJnSr/0y3AXZ.uqKhvL8VCDjRez4AGXiSXt1
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda

%packages
@^minimal
@core
@my linux
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

修改comp.xml文件,定义RPM包组

cd /root/PathISO

cp  repodata/xxx-comps.xml ./comps.xml

编辑comps.xml文件,在第三行的<comps>之后,添加以下内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//CentOS//DTD Comps info//EN" "comps.dtd">
<comps>
  <group>
   <id>my linux</id>
   <name>My Linux</name>
   <description>My Linux</description>
   <default>true</default>
   <uservisible>true</uservisible>
   <packagelist>
      <packagereq type="default">vim</packagereq>
      <packagereq type="default">wget</packagereq>
      <packagereq type="default">net-tools</packagereq>
   </packagelist>
  </group>

在最后一行的</comps>之前,添加以下内容

<category>
   <id>tools</id>
   <name>tools</name>
   <description>tools Packages</description>
   <grouplist>
    <groupid>my linux</groupid>
   </grouplist>
  </category>

#cd PathISO

#createrepo -g comps.xml .

注:确认repodata目录是新生成的目录

制作ISO

#cd /root

genisoimage -joliet-long -V CentOS7 -o mylinux.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 /root/PathISO/

或者

# mkisofs -o MyLinux.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/PathISO/

注:这里生成会提示各种目录或者路径错误,需要仔细检查多试几次

要在efi启动,需要添加如下参数:(这个后期再试验)

-eltorito-alt-boot -b images/efiboot.img -no-emul-boot

#implantisomd5 mylinux.iso

生成你的光盘md5校验码

制作自己定制的centos7安装光盘、U盘相关推荐

  1. linux. sodu yum,centos7安装个人网盘owncloud

    现在个人资料越来越重要,网络速度也已经满足日常需要,网盘已经是生活着存取个人数据不可缺少的工具. 下面在linxu centos7下面安装owncloud搭建自己私人网盘: 1.新建一个账号用来安装个 ...

  2. CentOS7安装光盘修改过程中initrd.img的解包及打包排雷

    碰到一个需求需要修改centos7的安装光盘,在安装时增加一个指令的支持(ks的per段中需要划raid) 这种修改肯定是改initrd.img了.直接挂载光盘找到initrd.img,看文件类型. ...

  3. 制作带启动菜单的安装光盘

    不管是电脑高手还是菜鸟,一定都会用过N合一的安装版,随着DVD刻录机的普及,你是不是也想根据自己的需要制作一张N合一的DVD版光盘呢?一张DVD光盘就可以放下七张CD的内容,方便省事! 注:最好使用光 ...

  4. 制作CentOS 5.9自动安装光盘iso镜像

    准备环境:先手动安装一台centos5.9系统 [root@localhost ~]# mkdir /iso [root@localhost ~]# mount -o loop /dev/cdrom ...

  5. 轻松拥有个性化Windows安装光盘

    Windows 的安装方法虽然很简单,但是却需要用户进行必要的交互操作,例如输入用户信息.登录密码.CD-Key等项目.加之Windows的安装过程比较费时,用户必须有足够的耐心等候.此外,当Wind ...

  6. 全自动安装 linux光盘,CentOS 7.1全自动安装光盘制作详解

    安装系统的话,常用方式就是通过U盘,光盘,kickstart网络自动化安装,网络自动化安装固然好,但是有时候在现场做项目的话根本就没有kickstart环境,甚至连基本的网络建设都没有弄好,此时该如何 ...

  7. 用RT Server Customizer定制Windows 2008 R2安装光盘

    一.下载地址 http://www.rt7lite.com/ 其中RT Se7en Lite用来定制Windows 7.目前支持英文.德文.法语.西班牙语.简体中文和繁体中文等. RT Server ...

  8. 定制linux 安装光盘

    转自:http://blog.chinaunix.net/uid-26569496-id-3317659.html GNU/Linux开源,这个意义实在是非常的广泛,目前在distrowatch上表现 ...

  9. CentOS 7.0全自动安装光盘制作详解

    CentOS 7.0全自动安装光盘制作详解 1 复制光盘文件 1 )挂载 iso 镜像 创建目录用于挂载光盘: mkdir /root/centos7 挂载 iso 镜像  mount -o loop ...

最新文章

  1. python: how to delete a given item if it exist in the list
  2. android中进程的优先级
  3. 闪退没由报错_秉承工匠精神,3步定位飞桨报错原因,你也来试试?
  4. Unity3D GUI学习之GUILayout控件及使用
  5. 指针变量的定义与引用
  6. neo4j 嵌入式_在嵌入式Neo4j中使用Neo4j浏览器
  7. html知识笔记(三)——img标签、form表单
  8. 23种设计模式之策略模式
  9. sdut 区间覆盖问题
  10. Oracle数据库ORA-12514错误的解决办法
  11. SpringBoot 使用AOP功能
  12. 360浏览器自定义切核功能
  13. 19岁「黑客」连续破解25辆特斯拉
  14. MySQL---主从复制
  15. HTTP缓存原理及相关知识(2)-CDN
  16. R 语言基本操作(基本信息的查看、与本地文件系统交互、编译器版本升级)
  17. GB/T 10595-2017版标准的错别字
  18. 画法几何,工程制图基础.....多角度平面投影图推断立体空间结构,实际距离的判别等
  19. CMOS门电路(OD门、传输门、双向模拟开关、三态门)
  20. 抖音微博火山快手皮皮虾微视去水印附源码

热门文章

  1. 计算机网络课程设计——发送和接收TCP数据包以及发送和捕获ARP数据包
  2. WebGPU,前端可视化的未来。
  3. javax.mail发送邮箱
  4. (8)Total Commander——文件管理工具(更新中)
  5. xilinx PL测 DP 点屏 /接收(一)--环境
  6. CMU 提出全新 GAN 结构,GAN 自此迈入预训练大军!
  7. 如何以访客模式访问_重新访问了访客模式
  8. 相机标定问题-Matlab Py-Opencv
  9. HUAWEI华为笔记本电脑MagicBook 14 Windows系统 i7 独显MX250 16GB+512GB (Nbl-WAE9HNP)原装出厂Windows10系统恢复原厂OEM系统
  10. linux下改变Mysql数据库大小写的设置