欢迎光临
我们一直在努力

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 下载渠道:

  • 第三方镜像站: Launchpad PPA 页面 步骤 2:安装离线包

# 进入下载目录
cd ~/Downloads

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

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

步骤 3:验证安装

# 查看版本(注意:不要使用 sudo)
cubic –version
Cubic version... 2024.02.86
Copyright....... © 2015, 2020 PJ Singh
Website......... https://github.com/PJ-Singh-001/Cubic

4.2 启动Cubic

# 直接运行(不要使用 sudo)
cubic

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

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

5.使用Cubic定制ISO

5.1 整体流程概览

#mermaid-svg-IkI7b7tTFNLQYPCX{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-IkI7b7tTFNLQYPCX .error-icon{fill:#552222;}#mermaid-svg-IkI7b7tTFNLQYPCX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-IkI7b7tTFNLQYPCX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-IkI7b7tTFNLQYPCX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-IkI7b7tTFNLQYPCX .marker.cross{stroke:#333333;}#mermaid-svg-IkI7b7tTFNLQYPCX svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-IkI7b7tTFNLQYPCX p{margin:0;}#mermaid-svg-IkI7b7tTFNLQYPCX .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-IkI7b7tTFNLQYPCX .cluster-label text{fill:#333;}#mermaid-svg-IkI7b7tTFNLQYPCX .cluster-label span{color:#333;}#mermaid-svg-IkI7b7tTFNLQYPCX .cluster-label span p{background-color:transparent;}#mermaid-svg-IkI7b7tTFNLQYPCX .label text,#mermaid-svg-IkI7b7tTFNLQYPCX span{fill:#333;color:#333;}#mermaid-svg-IkI7b7tTFNLQYPCX .node rect,#mermaid-svg-IkI7b7tTFNLQYPCX .node circle,#mermaid-svg-IkI7b7tTFNLQYPCX .node ellipse,#mermaid-svg-IkI7b7tTFNLQYPCX .node polygon,#mermaid-svg-IkI7b7tTFNLQYPCX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-IkI7b7tTFNLQYPCX .rough-node .label text,#mermaid-svg-IkI7b7tTFNLQYPCX .node .label text,#mermaid-svg-IkI7b7tTFNLQYPCX .image-shape .label,#mermaid-svg-IkI7b7tTFNLQYPCX .icon-shape .label{text-anchor:middle;}#mermaid-svg-IkI7b7tTFNLQYPCX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-IkI7b7tTFNLQYPCX .rough-node .label,#mermaid-svg-IkI7b7tTFNLQYPCX .node .label,#mermaid-svg-IkI7b7tTFNLQYPCX .image-shape .label,#mermaid-svg-IkI7b7tTFNLQYPCX .icon-shape .label{text-align:center;}#mermaid-svg-IkI7b7tTFNLQYPCX .node.clickable{cursor:pointer;}#mermaid-svg-IkI7b7tTFNLQYPCX .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-IkI7b7tTFNLQYPCX .arrowheadPath{fill:#333333;}#mermaid-svg-IkI7b7tTFNLQYPCX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-IkI7b7tTFNLQYPCX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-IkI7b7tTFNLQYPCX .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-IkI7b7tTFNLQYPCX .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-IkI7b7tTFNLQYPCX .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-IkI7b7tTFNLQYPCX .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-IkI7b7tTFNLQYPCX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-IkI7b7tTFNLQYPCX .cluster text{fill:#333;}#mermaid-svg-IkI7b7tTFNLQYPCX .cluster span{color:#333;}#mermaid-svg-IkI7b7tTFNLQYPCX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-IkI7b7tTFNLQYPCX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-IkI7b7tTFNLQYPCX rect.text{fill:none;stroke-width:0;}#mermaid-svg-IkI7b7tTFNLQYPCX .icon-shape,#mermaid-svg-IkI7b7tTFNLQYPCX .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-IkI7b7tTFNLQYPCX .icon-shape p,#mermaid-svg-IkI7b7tTFNLQYPCX .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-IkI7b7tTFNLQYPCX .icon-shape .label rect,#mermaid-svg-IkI7b7tTFNLQYPCX .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-IkI7b7tTFNLQYPCX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-IkI7b7tTFNLQYPCX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-IkI7b7tTFNLQYPCX :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

启动 Cubic

选择项目目录

选择原始 ISO 文件

等待 ISO 解压

进入 chroot 环境

进行定制操作

定制完成?

退出 chroot

选择压缩算法

生成新 ISO

测试验证

5.2 创建新项目

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

  • 点击文件夹图标浏览选择目录
  • 创建一个新目录,例如 /home/用户名/cubic-project/
  • 点击 Next 进入下一步
  • 💡 项目目录将存放解压的 ISO 内容和最终生成的定制 ISO,建议至少有 15GB 可用空间。

    5.3 选择原始ISO文件
  • 点击 Select 按钮
  • 浏览并选择之前准备好的 Ubuntu 20.04 ISO 文件
  • Cubic 会自动识别系统版本和架构信息
  • 可选:修改 Volume ID、Name、Version 等元信息
  • 点击 Next 开始解压
  • 解压过程大约需要 2-5 分钟,请耐心等待。

    5.4 进入chroot环境

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

    6.chroot环境定制详解

    6.1 环境准备与网络配置

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

    # 测试网络
    ping baidu.com

    修复 DNS 解析(如需要) 如果 ping 失败或后续 apt update 报 DNS 错误:

    # 修复 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 对应的主机路径,可以直接在主机上操作:

    # 在主机上执行
    sudo cp /path/to/aiumsInstall-mysql-v2.13.1_SP03-amd64.tar.gz ~/cubic-project/squashfs-root/opt/

    6.3 安装其他软件(可选)

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

    # 更新软件包列表
    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环境

    完成所有定制后:

    # 在 chroot 终端中输入 exit
    exit

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

    7.生成ISO镜像

    7.1 包选择界面

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

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

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

    7.3 Preseed 配置(可选)

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

    # 示例:自动安装配置片段
    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 开始生成
  • 点击 Generate 按钮
  • 等待打包完成(耗时 10-30 分钟,取决于硬件配置和定制内容)
  • 生成完成后,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

    赞(0)
    未经允许不得转载:171主机测评 » Ubuntu22.04桌面版安装Cubic2024版本并定制ISO完整教程
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址