Ubuntu22.04桌面版安装Cubic2024版本并定制ISO完整教程

1.背景介绍:

1.1 现实痛点

在日常运维和开发工作中,我们经常需要再多台服务器上部署相同的环境,传统做法通常包括:

  • 手动安装操作系统
  • 逐个安装所需软件和依赖库
  • 配置系统参数和服务
  • 处理复杂的依赖关系和版本冲突

这种方式面临几个突出问题:

问题类型 具体表现
重复性工作 每台服务器都需要重复相同的安装配置流程
依赖管理 需要手动解决软件包的间接依赖关系和版本冲突
环境不一致 手动操作容易出错,导致各服务器环境差异
离线部署困难 在无网络环境中,依赖包下载和安装变得异常复杂
1.2 解决方案:定制ISO

通过定制化ISO镜像,我们可以预先在镜像中安装好所有基础软件和环境配置,然后使用这个定制镜像批量部署服务器。这样:

  • 一次配置,多次使用:只需定制一次 ISO,即可在多台服务器上重复使用
  • 环境一致性:所有使用同一镜像安装的系统环境完全相同
  • 离线友好:无需网络即可完成完整环境部署
1.3 为什么选择Cubic

在Ubuntu ISO定制领域,存在多种工具可供选择:

工具 特点 使用人群
Cubic 图形化界面,向导式操作 新手和中级用户
debootstrap + chroot 命令行操作,灵活性高 高级用户
Systemback Live 系统制作 需要复制现有系统

Cubic(Custom Ubuntu ISO Creator) 是目前最受欢迎的 Ubuntu ISO 定制工具,它将复杂的"手动解压 → chroot → 重打包"流程简化为直观的图形化向导。

1.4 版本兼容性说明

⚠️ **重要提示:**Cubic 最新版本(2025.06.93)与 Ubuntu 22.04 存在兼容性问题,会导致 ISO 生成卡住。因此,本教程使用 Cubic 2024.02.86 版本 + Ubuntu 22.04 LTS 的组合,经验证稳定可靠。

2.什么是Cubic:

2.1 定义

Cubic(Custom Ubuntu ISO Creator)是 Ubuntu 官方 PPA 维护的图形化 Live ISO 定制工具,专为 Ubuntu 和 Debian 系发行版设计。

2.2 核心功能

Cubic支持以下定制功能:

功能类别 具体能力
软件管理 预装/删除软件包、添加自定义软件源
**系统配置 **修改 systemd 服务、网络设置、防火墙规则
界面定制 替换壁纸、主题、桌面环境配置
内核管理 更换或升级 Linux 内核
体积优化 自动清理无用包,压缩体积最大可减少 50%
2.3 工作原理

Cubic的核心原理是:

  • 解压: 将原始 ISO 文件解压到工作目录
  • 挂载: 使用 chroot 技术进入解压后的系统环境
  • 定制: 在 chroot 环境中进行任意修改(安装软件、修改配置等)
  • 打包: 将修改后的系统重新打包为 squashfs 文件系统
  • 生成: 生成包含新引导记录的可启动 ISO 文件
2.4 与传统方式的对比
对比项 传统手动方式 Cubic方式
操作复杂度 需要记忆大量命令 图形化向导,简单直观
技术门槛 需要深入了解 ISO 结构和 chroot 基本 Linux 知识即可
出错概率 高(容易遗漏步骤) 低(自动化处理)
可重复性 好(项目文件可保存)

3.环境准备:

3.1 系统要求
项目 推荐配置
操作系统 Ubuntu 22.04 LTS 桌面版
**内存 **8 GB 或以上
磁盘空间 30 GB 或以上
网络 稳定的网络连接
3.2 软件要求
  • Ubuntu 22.04 LTS 桌面版已安装并正常运行
  • 拥有 sudo 权限的用户账户
  • 原始 Ubuntu ISO 文件(本教程以 Ubuntu 20.04 为例)
3. 3原始ISO准备

从 Ubuntu 官网下载所需版本的 ISO 镜像:

  • 服务器版:ubuntu-20.04.3-live-server-amd64.iso
  • 桌面版:ubuntu-22.04.5-desktop-amd64.iso

将 ISO 文件保存到便于访问的位置(如 ~/Downloads/)。

4.Cubic2024版本安装

4.1 离线包安装

步骤 1:下载 Cubic 2024 离线包

下载文件:cubic_2024.02-86-release202402210132ubuntu23.10.1_all.deb
下载渠道:

bash 复制代码
# 进入下载目录
cd ~/Downloads

# 安装 Cubic
sudo dpkg -i cubic_2024.02-86-release~202402210132~ubuntu23.10.1_all.deb

# 修复可能存在的依赖问题
sudo apt --fix-broken install -y

步骤 3:验证安装

bash 复制代码
# 查看版本(注意:不要使用 sudo)
cubic --version
Cubic version... 2024.02.86
Copyright....... © 2015, 2020 PJ Singh
Website......... https://github.com/PJ-Singh-001/Cubic
4.2 启动Cubic
bash 复制代码
# 直接运行(不要使用 sudo)
cubic

或者在应用程序菜单中搜索 "Cubic" 并点击图标启动。

注意: Cubic 是一个图形界面应用程序,不能使用 sudo 直接运行,否则会报错。Cubic 会在需要时自动请求管理员权限

5.使用Cubic定制ISO

5.1 整体流程概览



启动 Cubic
选择项目目录
选择原始 ISO 文件
等待 ISO 解压
进入 chroot 环境
进行定制操作
定制完成?
退出 chroot
选择压缩算法
生成新 ISO
测试验证

5.2 创建新项目

启动 Cubic 后,首先需要创建或选择一个项目目录:

  1. 点击文件夹图标浏览选择目录
  2. 创建一个新目录,例如 /home/用户名/cubic-project/
  3. 点击 Next 进入下一步

💡 项目目录将存放解压的 ISO 内容和最终生成的定制 ISO,建议至少有 15GB 可用空间。

5.3 选择原始ISO文件
  1. 点击 Select 按钮
  2. 浏览并选择之前准备好的 Ubuntu 20.04 ISO 文件
  3. Cubic 会自动识别系统版本和架构信息
  4. 可选:修改 Volume ID、Name、Version 等元信息
  5. 点击 Next 开始解压

解压过程大约需要 2-5 分钟,请耐心等待。

5.4 进入chroot环境

ISO 解压完成后,Cubic 会自动进入 chroot 虚拟环境------一个以 root 权限运行的终端窗口。这是定制的核心阶段,所有系统修改都在这里完成

6.chroot环境定制详解

6.1 环境准备与网络配置

进入 chroot 终端后,首先进行基础环境配置。
测试网络连接

bash 复制代码
# 测试网络
ping baidu.com

修复 DNS 解析(如需要)

如果 ping 失败或后续 apt update 报 DNS 错误:

bash 复制代码
# 修复 DNS 解析
ln -sr /run/systemd/resolve/resolv.conf /run/systemd/resolve/stub-resolv.conf

# 再次测试
ping baidu.com
6.2 核心操作:将文件放入ISO

**目标:**将 软件包.tar.gz 集成到 ISO 中,安装系统后文件自动存在于 /opt 目录。
直接复制到 squashfs-root

如果知道 chroot 对应的主机路径,可以直接在主机上操作:

bash 复制代码
# 在主机上执行
sudo cp /path/to/aiumsInstall-mysql-v2.13.1_SP03-amd64.tar.gz ~/cubic-project/squashfs-root/opt/
6.3 安装其他软件(可选)

在 chroot 环境中可以安装任何需要的软件

bash 复制代码
# 更新软件包列表
apt update

# 安装 SSH 服务(如需远程访问)
apt install -y openssh-server

# 安装常用开发工具
apt install -y vim curl wget git htop

# 安装完成后清理缓存(重要:减小 ISO 体积)
apt clean
rm -rf /var/lib/apt/lists/*
rm -rf /tmp/*
6.4 定制注意事项
操作 说明
清理缓存 务必执行 apt clean,否则 ISO 体积会显著增大
避免交互 使用 -y 参数自动确认软件包安装
网络配置 如需代理,提前设置 http_proxy 环境变量
版本兼容 确保安装的软件包与 Ubuntu 22.04 兼容
6.5退出chroot环境

完成所有定制后:

bash 复制代码
# 在 chroot 终端中输入 exit
exit

退出后,不要多次输入 exit,直接点击 Cubic 窗口的 Next 按钮继续。

7.生成ISO镜像

7.1 包选择界面

退出 chroot 后,Cubic 显示包列表界面:

  • 可以勾选/取消需要在 Live ISO 中包含的包
  • 可以选择标准或最小化安装模式
  • 点击 Next
7.2 内核选择

选择用于启动 Live ISO 的内核,默认选择最新内核即可,点击 Next。

7.3 Preseed 配置(可选)

如需实现自动化安装,可在 Preseed 标签页配置自动应答文件

bash 复制代码
# 示例:自动安装配置片段
d-i passwd/user-fullname string Ubuntu User
d-i passwd/username string ubuntu
d-i passwd/user-password password ubuntu123
d-i passwd/user-password-again password ubuntu123
d-i time/zone string Asia/Shanghai
7.4 压缩算法选择
算法 ISO大小 打包时间 解压时间 推荐场景
XZ 最小 最长 中等 网络分发(节省带宽)
GZIP 中等 中等 中等 通用场景
LZ4 最大 最短 最短 快速测试迭代

💡 建议:首次定制建议选择 GZIP,兼容性最好。如对体积有要求,可选用 XZ。

7.5 开始生成
  1. 点击 Generate 按钮
  2. 等待打包完成(耗时 10-30 分钟,取决于硬件配置和定制内容)
  3. 生成完成后,ISO 路径显示在窗口中(通常为 ~/cubic-project/custom-ubuntu.iso)

8.测试与验证

使用U盘进行刻录后,在服务器进行安装测试。

参考资料:

Ubuntu 官方文档:https://help.ubuntu.com/community/LiveCDCustomization

Preseed 参考:https://help.ubuntu.com/lts/installation-guide/amd64/apbs04.html

相关推荐
烛衔溟4 小时前
TypeScript this 参数类型与全局 this
javascript·ubuntu·typescript
今晚务必早点睡8 小时前
Ubuntu 部署 RuoYi-Vue-FastAPI 完整实战指南(含踩坑总结)
vue.js·ubuntu·fastapi
烛衔溟9 小时前
TypeScript 函数重载(Overloads)
javascript·ubuntu·typescript
用什么都重名10 小时前
Ubuntu 24.04 开机无法进入图形界面:GDM 报「no session desktop files」的排查与修复
linux·运维·ubuntu
北京秃子运维10 小时前
Ubuntu 网卡恢复 / DHCP异常 / 远程连接异常处理记录(NetworkManager 场景)
ubuntu
qq_3482318511 小时前
Ubuntu 24.04 环境配置 AI自动化编程 gstack
linux·运维·人工智能·ubuntu
鄃鳕11 小时前
ubuntu下将DHCP动态分配改成静态ip
linux·tcp/ip·ubuntu
ShineSpark12 小时前
Ubuntu下SDL窗口偶发卡住问题深度分析
linux·运维·ubuntu
Hugh-Yu-13012312 小时前
WSL --Ubuntu-24.04-LTS子系统安装教程
linux·windows·ubuntu