admin管理员组

文章数量:1563235

本期的内容稍微长一点,需要的同学可以看一下,有问题可以留言问我。好了言归正传,步入正题!

一 、搭建基础环境

1、安装安装包

yum install createrepo mkisofs isomd5sum squashfs-tools

2、创建制作目录

mkdir /root/PanISO

3、挂载

mount /dev/cdrom /media/

4、复制镜像信息到工作目录

cp -r /media/* /root/PanISO/

cp  /media/.discinfo /root/PanISO/

cp  /media/.treeinfo /root/PanISO/

5、赋予权限

chmod +w /root/PanISO/isolinux/isolinux.cfg

6、挂载原始镜像

 注意:本步操作前需要提前下载好centos7的iso镜像文件,放入目录中

mount -o loop /root/CentOS-7-x86_64-DVD-2009.iso /mnt

准备需要的 rpm 包

1、获取系统默认安装的RPM包和需要添加的RPM包

在使用Centos系统安装完成后会生成/root/install.log,该文件记录了系统安装时安装的RPM包信息。如果没有该文件,可以手动生成(新安装的干净系统):

rpm -qa >> /root/install.log

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

awk '{print $0}'  /root/install.log |xargs -i cp /media/Packages/{}.rpm /root/PanISO/Packages/

2定制安装包

将要新安装的rpm包及依赖包yum下载到test下

这里举个例子,如:docker

mkdir /root/test
yum-config-manager --add-repo http://mirrors.aliyun/docker-ce/linux/centos/docker-ce.repo
yum install -y  --downloadonly --downloaddir=/root/test docker-ce
curl --silent --location https://rpm.nodesource/setup_15.x | sudo bash -
yum install -y  --downloadonly --downloaddir=/root/test nodejs
curl --silent --location https://dl.yarnpkg/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
rpm --import https://dl.yarnpkg/rpm/pubkey.gpg
yum install -y  --downloadonly --downloaddir=/root/test yarn
yum install -y  --downloadonly --downloaddir=/root/test ntp
yum install -y  --downloadonly --downloaddir=/root/test ntpdate
yum install -y  --downloadonly --downloaddir=/root/test dos2unix

将下载好的rpm包移动到制作目录里面

mv /root/test/* /root/PanISO/Packages/

Docker安装包及依赖包如下

  • container-selinux.noarch
  • containerd.io
  • docker-ce-cli
  • docker-ce-rootless-extras
  • fuse-overlayfs
  • fuse3-libs
  • slirp4netns
  • docker-ce

然后将这些安装包移动到制作目录的Packages下,再将原始配置文件复制到制作目录下

mv /root/test/* /root/PanISO/Packages/

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

将上述包名添加到ks.cfg中的%packages里面

%packages

container-selinux.noarch

containerd.io

docker-ce-cli

docker-ce-rootless-extras

fuse-overlayfs

fuse3-libs

slirp4netns

docker-ce

dos2unix

%end

上述的dos2unix包是为了防止windows上编辑的文本,在linux系统出现格式问题,用来进行格式匹配的。

dos2unix:是一个用于将DOS/Windows格式的文本文件转换为Unix/Linux格式的工具。它特别适用于处理那些由于文件格式不同而导致的兼容性问题。DOS/Windows格式的文件使用回车符(CR)和换行符(LF)作为断行符,而Unix/Linux格式的文件则只使用换行符(LF)。dos2unix命令通过转换这些断行符,使得文件可以在Unix/Linux环境中正确显示和执行。

转换代码示例:

dos2unix 需要转换的文件名
如:dos2unix test.yaml

安装后脚本命令,启动docker并开机自启

%post 

systemctl start docker

systemctl enable docker

%end 

// 本章内容看到这块就可以

 后面的这块内容是装机自启脚本执行,需要的同学下期为大家奉上,详细讲解后续

%post 

mkdir /home/admin/linux

mkdir /home/usb

cd /dev

for file in $(ls)

do

  if [ ${file:0:2} = "sd" ]

    then

    mount -o loop /dev/$file /home/usb

  fi

done

cp -r /home/usb/linux/* /home/admin/linux

cd /home/admin/linux

sh all.sh

%end

重新生成repo 

移动配置文件

cd /root/PanISO
mv repodata/*comps.xml repodata/comps.xml
cd repodata/

删除其他文件

ls | grep -v comps.xml$|xargs rm 

重新生成软件组的数据信息

cd /root/PanISO.
createrepo -g repodata/comps.xml ./

由comps.xml生成repodata包。注意当有新包加入,或者更新comps.xml文件,均需要重新生成repodata文件夹

createrepo -g repodata/comps.xml ./

实现自动化安装

这步的作用是实现自动化安装,如果不加上就需要手动配置参数就行下一步安装了。

# BIOS引导

 vi isolinux/isolinux.cfg

 append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

# 将以上多处相同的内容调整为为以下内容,光驱进行安装

 append initrd=initrd.img inst.ks=cdrom:/isolinux/ks.cfg quiet

# 使用硬盘进行安装修改为以下内容

append initrd=initrd.img ks=hd:LABEL=CDROM:/isolinux/ks.cfg inst.stage2=hd:LABEL=CDROM quiet

# EFI引导

vi EFI/BOOT/grub.cfg

linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

# 将以上多处相同的内容调整为为以下内容,光驱进行安装

linuxefi /images/pxeboot/vmlinuz inst.ks=cdrom:/ks.cfg quiet

# 使用硬盘进行安装修改为以下内容

linuxefi /images/pxeboot/vmlinuz inst.ks=hd:LABEL=CentOS\x207\x20x86_64:/ks.cfg inst.stage2=hd:LABEL=CentOS\x207\x20x86_64:/ks.cfg quiet

制作ISO

1生成镜像

mkisofs -o Pan-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  /root/PanISO/

2校验MD5

implantisomd5 Pan-7.3.iso

六、其他应用安装在附件脚本

下章讲解说明

刻录U盘

使用U盘刻录工具将生成的ISO写入U盘即可进行安装测试

本文标签: 系统