制作centos6.7镜像

更新glibc制作centos6.7镜像

一、需求:

项目中环境是centos6.7mini版需要安装taosdata的数据库,由于taosdata的依赖中需要glibc2.14,centos6.7默认的glibc版本是glibc2.12;需要升级centos的系统版本,简单办法是得拷贝依赖包执行安装命令就行,由于glibc依赖怕安装的时候出现其它程序的问题,考虑把glibc放到镜像里面。

简单安装命令如下:

sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm glibc-common-2.17-55.el6.x86_64.rpm glibc-devel-2.17-55.el6.x86_64.rpm glibc-headers-2.17-55.el6.x86_64.rpm --force --nodeps

二、制作思路

  1. 准备环境
  2. 根据需求修改配置文件
  3. 生成镜像
  4. 安装镜像,并检查。

三、制作实现

1.准备环境

安装centos6.7mini操作系统,具体参考网上安装。

配置网络使其能够联网。

挂载系统盘

mount -t auto /dev/cdrom /media/

修改yum源,2020年11月30日 centos6各大开源镜像站已经停止维护了,修改为阿里的源

sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo 
yum clean all
yum makecache
2.安装制作工具

​ 安装制作镜像所依赖的工具

yum -y install createrepo mkisofs isomd5sum rsync
3.复制文件到ISO目录
rsync -a --exclude=Packages/ --exclude=repodata/ /media/ /ISO/   ###exclude:不复制此目录
mkdir -p /ISO/{Packages,repodata}

目录结构:

.

├── CentOS_BuildTag # 系统版本构建标签

├── .discinfo # 包含安装盘的识别信息,如果缺少此⽂件,将导致使⽤定制后的ISO安装系统时,在初始化过程中提示找不到光盘!

├── EFI # UEFI 启动模式下必须文件,Legacy模式下是非必须文件

├── EULA # 最终用户许可协议

├── GPL # 通用公用许可证/执照(General Public License)

├── images # 启动⽂件和驱动盘映像⽂件⽬录,最重要的是第⼆阶段的引导映像

├── isolinux # 存放光盘启动时的安装界面信息

├── LiveOS # 存储了映像文件

├── Packages # 系统自带⼆进制RPM安装包⽬录

├── repodata # 系统自带RPM安装包的描述⽂件,如依赖关系,包含⽂件,校验码信息

├── RPM-GPG-KEY-CentOS-6 # rpm的GPG校验公钥

├── RPM-GPG-KEY-CentOS-Debug-6 # rpm的GPG校验公钥

├── RPM-GPG-KEY-CentOS-Security-6 # rpm的GPG校验公钥

├── RPM-GPG-KEY-CentOS-Testing-6 # rpm的GPG校验公钥

├── TRANS.TBL # 提供比ISO9660标准约定的基本文件名更加灵活的文件名, 用简约符号代表目录、文件、链接;

6 directories, 8 files
4.复制依赖包

新安装的系统,保留/root下的install.log和anaconda-ks.cfg,复制依赖包分为两种情况,一种是新安装的系统,另一种修改比较大,从系统里面获取。

a.新安装系统保留有install.log

###获取安装包信息
awk '{print $2}' /root/install.log | sed 's/^[0-9]*://g' >/root/package.txt
###从挂载的包里提取安装包 
[root@dream ~]# cat test.sh
#!/bin/bash
Packages='/ISO/Packages/'             #挂载的光盘镜像中存放安装包的路径
 i='/media/Packages/'              #新镜像存放安装包的路径
 while read line
 do
 cp ${Packages}/${line}*.rpm  /${i} || echo "$line don't cp......."
 done < /root/package.txt

b.从系统获取

[root@dream ~]# rpm -qa >> /root/install.log   ###获取已经安装包
### 复制包到/ISO/Packages,如果第三方包通过yun安装的话,也可以直接放进去
[root@dream ~]# awk '{print $0}'  /root/install.log |xargs -i cp /media/Packages/{}.rpm /ISO/Packages/ 

部署需要更新版本软件,我们需要对立面的rpm进行更新,需要把依赖下载下来

[root@dream ~]# yum install yum-plugin-downloadonly
[root@dream ~]# yum install epel-release
###将需要更新的包及依赖关系下载到本地并拷贝到/ISO/Packages/里面
 yum install --downloadonly vim
5.修改配置文件

修改isolinux.cfg

在原有的配置文件里添加
inst.ks=cdrom:/isolinux/ks.cfg: 指定通过此ks进行自动安装,如果把这条删除就会手动进行安装
menu default: 设置为默认启动
[root@dream ISO]# pwd
/ISO

[root@dream ISO]# chmod 755 isolinux/isolinux.cfg
[root@dream ISO]# vim isolinux/isolinux.cfg
  label ks
    menu label autoinstall
    kernel vmlinuz
    append initrd=initrd.img inst.ks=cdrom:/isolinux/ks.cfg
 	menu default
[root@dream ISO]# chmod 444 isolinux/isolinux.cfg

创建ks.cfg

制作方式有:

a.拷贝/root/anaconda-ks.cfg进行修改

b.使用工具system-config-kickstart 进行制作

c.手动编写

通过工具进行配置,具体参考:

具体参数参考:

[root@dream ISO]# vim isolinux/ks.cfg
install
# Keyboard layouts
keyboard us
# Root password
rootpw --iscrypted $1$nD88pFjh$H9Kd9/Zp2J3jR.dxP9JBv0
# (Required) Wrapper around the authconfig command CCE-14063-2 (row 80)
authconfig --enableshadow --passalgo=sha512
# System language
lang en_US.UTF-8
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use CDROM installation media
cdrom
# Use text mode install
text
# Run the Setup Agent on first boot
firstboot --disable
ignoredisk --only-use=sda
logging --level=info
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Network information
network  --bootproto=dhcp --device=em1 --onboot=on
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --location=mbr --driveorder=sda --append=""
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
part biosboot  --fstype=biosboot --size=1
part /boot --fstype=ext4 --ondisk=sda --size=500
part pv.01 --grow --ondisk=sda --size=1
volgroup OS_vg pv.01
logvol  /  --fstype=ext4 --vgname=OS_vg  --size=102400  --name=lv_root
logvol  /home --fstype=ext4 --vgname=OS_vg --size=51200  --name=lv_home
logvol  swap  --vgname=OS_vg --size=40960  --name=lv_swap

%packages
@core
@server-policy
@workstation-policy
vim

%post --nochroot 
#!/bin/sh 
set -x -v
exec 1>/mnt/sysimage/root/kickstart-stage1.log 2>&1
 
echo "==> copying files from media to install drive..."
cp -r /run/install/repo/postinstall /mnt/sysimage/root 
%end

%post
#!/bin/sh
set -x -v
exec 1>/root/kickstart-stage2.log 2>&1
 
cd /root/postinstall
chmod 755 *.sh
sh install.sh
%end

%packages
@base
@compat-libraries
@development
@java-platform
@x11
@kde-desktop
%end

创建安装脚本

[root@dream ISO]# mkdir -p postinstall/mysoft       ###里面放入lsscsi-0.30r148.tgz
[root@dream ISO]# vim postinstall/install.sh        ###添加自定义安装内容
#!/bin/bash
mkdir -p /opt/soft
mv /root/postinstall/mysoft/lsscsi-0.30r148.tgz /opt/soft/

cd /opt/soft/
tar -xvzf lsscsi-0.30r148.tgz
cd /opt/soft/lsscsi-0.30r148/
./configure
make & make install

修改comps文件

[root@dream ISO]#  cp /media/repodata/34bae2d3c9c78e04ed2429923bc095005af1b166d1a354422c4c04274bae0f59-c6-minimal-x86_64.xml  /ISO/repodata/comps.xml
[root@dream ISO]# createrepo -g repodata/comps.xml ./
  1. 制作镜像
    [root@dream ISO]# genisoimage -joliet-long -V rhel6 -o centos6.7-minimal-x86_64-dvd.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
    
  2. 生成md5值
[root@dream ISO]# implantisomd5 /ISO/centos6.7-minimal-x86_64-dvd.iso
Inserting md5sum into iso image...
md5 = 05864a5dff022db2c9ff8d634625ef67
Inserting fragment md5sums into iso image...
fragmd5 = d5ace274175fcf1e561f8b6f44c9bec1d9af11dbb924aa158b45522f32c7
frags = 20
Setting supported flag to 0

四、安装测试

生成镜像,安装机器,机器安装后验证安装后的结果是否安装成功。

参考:
https://www.cnblogs.com/chenjinxi/p/8341562.html
https://www.cnblogs.com/flintlovesam/p/6605788.html
https://blog.csdn.net/dream_ya/article/details/105269016?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase
https://yangfannie.com/771.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS 6.7镜像文件是可下载的基于CentOS 6.7操作系统的安装介质文件。这个文件可以被用来安装CentOS 6.7操作系统,并在计算机上创建新的CentOS环境。 CentOS是一种基于Red Hat Enterprise Linux的Linux操作系统。它是一个免费的、开源的、从源代码编译的操作系统,为企业用户和个人用户提供稳定、安全、可靠的操作系统。CentOS采用了适合服务器环境的Linux内核,并经过了几次优化。CentOS 6.7是CentOS 6.x的最新版本,包括了一些新的功能和修复了一些已知的问题。 CentOS 6.7镜像文件包含了一个完整的CentOS操作系统,包括了操作系统内核、软件包、驱动程序、配置文件等。通常,用户可以从CentOS官方站点或者其他的镜像站点下载文件,然后使用它来进行安装。 用户可以使用CD/DVD光盘、USB驱动器、虚拟机等方式来安装CentOS。在安装过程中,用户需要进行一些配置,例如选择安装类型、分区磁盘、创建用户等等。当然,用户也可以根据自己的需求选择性的安装软件包。 在安装后,用户可以开始使用CentOS操作系统。CentOS 6.7支持大量的应用程序和服务,例如WEB服务器、数据库、邮件服务器等。在使用CentOS的过程中,用户可以根据自己的需求进行配置和管理,以实现更好的系统性能和安全性。 ### 回答2: CentOS是一个由社群商业支持的Linux发行版,CentOS 6.7是它的一个版本。镜像文件是一种文件,它用于在计算机系统之间进行复制和下载,以便在新的计算机上安装特定的操作系统。 CentOS 6.7镜像文件可以在CentOS官网进行下载。该文件提供了完整的操作系统安装程序,包含了所有的软件和工具,可以方便地安装在新的计算机上。同时,CentOS 6.7的镜像文件也可以用于升级已安装的CentOS 6系统。 下载CentOS 6.7镜像文件时,建议选择最近的版本和最近的镜像源,以确保下载速度和可靠性。下载后,可通过光盘刻录软件将镜像文件刻录到CD或DVD上,并使用该光盘启动计算机来进行安装。在安装过程中,用户可以根据需要进行自定义设置。 总之,CentOS 6.7镜像文件是一种方便、高效的方式,可以让用户快速地安装全新的操作系统或升级现有的系统。 ### 回答3: CentOS 6.7是一种Linux操作系统,是CentOS 6的第7个发行版本。它包含了各种开源软件和工具,可用于个人、企业和机构的计算机和服务器。CentOS 6.7镜像文件是CentOS 6.7的安装文件,通常以.iso格式提供。这个文件可以在官方CentOS网站上下载,也可以在镜像站点上下载。 CentOS 6.7镜像文件通常分为32位和64位版本,用户必须选择适合自己计算机/服务器硬件和操作系统的镜像文件。安装CentOS 6.7可以通过DVD、USB闪存驱动器或网络进行。在安装过程中,用户将被引导到选择要安装的软件包的屏幕。用户可以选择服务器或桌面版本,也可以自定义选择要安装的软件包。 安装CentOS 6.7后,用户可以使用其提供的各种工具和应用程序来完成各种任务,例如搭建网站、部署应用程序、管理服务器等。CentOS 6.7还提供了长期支持版本,用户可以从CentOS网站下载安全补丁和更新以获取更好的系统稳定性和安全性。 总之,CentOS 6.7镜像文件是安装CentOS 6.7的文件,它是一个功能强大的Linux操作系统,可以用于各种个人、企业和机构的计算机和服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值