LiveCD镜像文件的定制化

news2024/10/6 1:36:12

  最近想要定制化一款属于自己的LiveCD镜像文件,并且里边封装好所需要的软件程序,本文将会记录具体的操作步骤,供有需要的人参考借鉴。

环境说明:

环境配置说明配置参数
编码环境Centos7.9
LiveCD文件CentOS-7-livecd-x86_64.iso

附LiveCD下载链接:

Centos7:https://buildlogs.centos.org/centos/7/isos/x86_64/
Centos6:https://mirrors.bfsu.edu.cn/centos-vault/6.10/isos/x86_64/

操作步骤:

1、制作ks应答文件,可拷贝已安装系统生成的文件。

  默认情况下,已经安装好的系统在root用户的家目录下会默认有ks文件(centos7.9默认为anaconda-ks.cfg),直接拷贝就可以使用。也可以使用其它工具来自动生成。
  这里不做重点阐述,感兴趣的小伙伴可以查阅资料。

#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=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8

# Network information
network  --bootproto=dhcp --device=enp4s0f0 --onboot=off --ipv6=auto --no-activate
network  --bootproto=dhcp --device=enp4s0f1 --onboot=off --ipv6=auto
network  --bootproto=dhcp --device=enp4s0f2 --onboot=off --ipv6=auto
network  --bootproto=dhcp --device=enp4s0f3 --onboot=off --ipv6=auto
network  --hostname=localhost.localdomain

# Root password
rootpw --iscrypted $6$gaK5808gYkpuiQPa$7Dd6l95oDjOvy.NlSPtwZVVGddwePE0e/N5ou8g8Rqassl4JJvMe5kVLcBKSrFCr7Zqf6mTEayiX62wQzOaot1
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# X Window System configuration information
xconfig  --startxonboot
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda

%packages
@^graphical-server-environment
@backup-server
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@dns-server
@file-server
@gnome-desktop
@guest-agents
@guest-desktop-agents
@ha
@hardware-monitoring
@identity-management-server
@infiniband
@input-methods
@internet-browser
@java-platform
@kde-desktop
@large-systems
@load-balancer
@mail-server
@mainframe-access
@mariadb
@multimedia
@network-file-system-client
@performance
@postgresql
@print-client
@print-server
@remote-system-management
@resilient-storage
@security-tools
@smart-card
@system-admin-tools
@virtualization-client
@virtualization-hypervisor
@virtualization-tools
@x11
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

2、从镜像网站下载对应的LiveCD版本的iso文件,然后上传到服务器上。

在这里插入图片描述这里推荐下载 CentOS-7-livecd-x86_64.iso ,该iso镜像文件相对较小,且桌面版本为通用的,比较好用。

3、挂载iso镜像文件,拷贝系统文件。

myFile: 存放镜像所有文件内容。
mySquashfs:存放 squashfs 临时系统打包文件内容。

mount -o loop CentOS-7-livecd-x86_64.iso /mnt/

mkdir /myFile
cp -rf /mnt/* /myFile/

mkdir /mySquashfs
cp -rf  /myFile/LiveOS/squashfs.img /mySquashfs/

4、解压squashfs.img文件。

#安装squashfs-tools工具
yum install -y squashfs-tools
cd /mySquashfs/
unsquashfs squashfs.img

解压成功后会在当前目录下产生一个squashfs-root目录。

5、挂载squashfs-root里的文件系统,根据需求修改系统文件。

mount -o loop squash-root/LiveOS/ext3fs.img /media/
#修改系统文件,可chroot切入系统中,也可在外边直接修改文件。
chroot /media/

6、修改完毕后重新打包squashfs.img文件。

cd /mySquashfs/
mksquashfs squashfs-root/ squashfs.img -comp xz

7、拷贝新的squashfs.img文件到LiveCD镜像文件目录下。

rm -rf /myFile/LiveOS/squashfs.img
cp /mySquashfs/squashfs.img /myFile/LiveOS/squashfs.img

8、重新打包LiveCD镜像文件。

mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /home/MyLiveCDv7.0.iso -V "CentOS-7-livecd-x86_64" -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -bisolinux/efiboot.img -no-emul-boot -allow-limited-size .

注意: 这里的 -V 后的名字要与与 EFI/BOOT/grub.cfg 文件里的label一致,否则系统启动时找不到硬盘

9、如果想要手动创建LiveCD镜像文件的话,可以执行下列命令:

#安装livecd-tools
yum -y install livecd-tools
#制作livecd ISO镜像文件
livecd-creator --verbose -c centos7-livecd.ks --cache=cache -f centos7-livecd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1638285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

袁庭新ES系列18节|Spring Data Elasticsearch高级

前言 这一章节袁老师将带领同学们来学习Spring Data Elasticsearch高级操作相关的内容。我们继续来探索SDE是如何将原始操作Elasticsearch的客户端API进行封装的,以及通过Spring Data Elasticsearch如何来操作ES。准备好了吗?我们继续来探索ES的内容。 …

探索AI工具的巅峰:个人体验与深度剖析

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

【Go语言快速上手(六)】管道, 网络编程,反射,用法讲解

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Go语言专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多Go语言知识   🔝🔝 GO快速上手 1. 前言2. 初识管道3. 管…

自定义SpringBoot的starter

案例需求:自定义redis-stater。要求当导入redis坐标时,SpringBoot自动创建Jedis的Bean。 实现步骤: 1、创建redis-spring-boot-autoconfigure模块 2、创建redis-spring-boot-starter模块,依赖redis-spring-boot-autoconfigure的…

Codeforces Round 938 (Div. 3)H-The Most Reckless Defense

来源 题目 You are playing a very popular Tower Defense game called "Runnerfield 2". In this game, the player sets up defensive towers that attack enemies moving from a certain starting point to the players base. You are given a grid of size nm&a…

Delta lake with Java--利用spark sql操作数据2

上一篇文章尝试了建库,建表,插入数据,还差删除和更新,所以在这篇文章补充一下,代码很简单,具体如下: import org.apache.spark.sql.SaveMode; import org.apache.spark.sql.SparkSession;publi…

DRF中的请求入口分析及request对象分析

DRF中的请求入口分析及request对象分析 django restframework框架是在django的基础上又给我们提供了很多方便的功能,让我们可以更便捷基于django开发restful API 1 drf项目 pip install django pip install djangorestframework1.1 核心配置 INSTALLED_APPS [d…

【源码阅读】Golang中的go-sql-driver库源码探究

文章目录 前言一、go-sql-driver/mysql1、驱动注册:sql.Register2、驱动实现:MysqlDriver3、RegisterDialContext 二、总结 前言 在上篇文章中我们知道,database/sql只是提供了驱动相关的接口,并没有相关的具体实现,具…

PG数据库结构与oracle比较

1.数据库集簇逻辑结构 数据库集簇概念:一个大的数据库是由若干个小的数据库组成,实现数据的隔离存放,在概念上应该是与mysql一样的 在mysql中可以用show database列出数据库 PG中用\l 数据库对象存放在数据库中: PG中的所有数据…

Mac 上安装多版本的 JDK 且实现 自由切换

背景 当前电脑上已经安装了 jdk8; 现在再安装 jdk17。 期望 完成 jdk17 的安装,并且完成 环境变量 的配置,实现自由切换。 前置补充知识 jdk 的安装路径 可以通过查看以下目录中的内容,确认当前已经安装的 jdk 版本。 cd /Library/Java/Java…

Maven3.9.6下载安装教程

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ 👀👀👀 个人博客:小奥的博客 👍👍👍:个人CSDN ⭐️⭐️⭐️:Github传送门 🍹 本人24应届生一枚,技术和水平有…

Typescript精进:前端必备的5大技巧(AI写作)

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

瑞_23种设计模式_解释器模式

文章目录 1 解释器模式(Interpreter Pattern)1.1 介绍1.2 概述1.2.1 文法(语法)规则1.2.2 抽象语法树 1.3 解释器模式的结构1.4 解释器模式的优缺点1.5 解释器模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代…

【右一的开发日记】全导航,持续更新...

文章目录 📚前端【跟课笔记】🐇核心技术🐇高级技术 📚捣鼓捣鼓🐇小小案例🐇喵喵大王立大功🐇TED自用学习辅助网站🐇世界top2000计算机科学家可视化大屏🐇基于CBDB的唐代历…

【Java EE】MyBatis使用注解操作数据库

文章目录 🍀参数传递🌴增(Insert)🌸返回主键 🍃删(Delete)🌳改(Update)🌲查(Select)🌸起别名🌸结果映射🌸开启驼峰命名(推荐) ⭕总结 🍀参数传递 需求: 查找…

【JavaEE】进程的概念

文章目录 1、什么是进程(Process)2、PCB1.pid进程的id/标识符2.内存指针3.文件描述符表4、进程调度4.1状态4.2优先级4.3上下文4.4记账信息 1、什么是进程(Process) 一个程序,运行起来/跑起来,在操作系统中…

Delta lake with Java--利用spark sql操作数据1

今天要解决的问题是如何使用spark sql 建表,插入数据以及查询数据 1、建立一个类叫 DeltaLakeWithSparkSql1,具体代码如下,例子参考Delta Lake Up & Running第3章内容 import org.apache.spark.sql.SaveMode; import org.apache.spark.…

Ollamallama

Olllama 直接下载ollama程序,安装后可在cmd里直接运行大模型; llama 3 meta 开源的最新llama大模型; 下载运行 1 ollama ollama run llama3 2 github 下载仓库,需要linux环境,windows可使用wsl; 接…

面试:Spring(IOC、AOP、事务失效、循环引用、SpringMVC、SpringBoot的自动配置原理、Spring框架常见注解)

目录 一、Spring的单例Bean是否是线程安全的? 二、什么是AOP 1、介绍 (1)记录操作日志 (2)实现Spring中的事务 三、spring中事务失效的场景有哪些? 1、异常捕获处理 2、抛出检查异常 3、非public方…

ElasticSearch教程入门到精通——第四部分(基于ELK技术栈elasticsearch 7.x新特性)

ElasticSearch教程入门到精通——第四部分(基于ELK技术栈elasticsearch 7.x新特性) 1. Elasticsearch进阶1.1 核心概念1.1.1 索引Index1.1.1.1 索引创建原则1.1.1.2 Inverted Index 1.1.2 类型Type1.1.3 文档Document1.1.4 字段Field1.1.5 映射Mapping1.…