失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 制作自己定制的centos7安装光盘 U盘

制作自己定制的centos7安装光盘 U盘

时间:2024-01-17 00:42:02

相关推荐

制作自己定制的centos7安装光盘 U盘

定制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

cprepodata/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

#implantisomd5mylinux.iso

生成你的光盘md5校验码

如果觉得《制作自己定制的centos7安装光盘 U盘》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。