ubuntu镜像定制化方法介绍
导读:Ubuntu镜像定制化方法 一 方法总览与选型 Cubic 图形化向导:在现有 Ubuntu ISO 上解包、进入 chroot 定制、再打包,适合希望少写命令、可视化操作的场景。 命令行手工改造 ISO:基于 squashfs-tool...
Ubuntu镜像定制化方法
一 方法总览与选型
- Cubic 图形化向导:在现有 Ubuntu ISO 上解包、进入 chroot 定制、再打包,适合希望少写命令、可视化操作的场景。
- 命令行手工改造 ISO:基于 squashfs-tools、genisoimage/xorriso 等工具,可控性最强,适合深度定制与自动化流水线。
- mkosi 从零构建:以配置文件驱动,直接生成可启动磁盘镜像(ISO/RAW),适合“从模板生成镜像”的现代化流程。
- 烧录与测试:烧录可用 Rufus(Windows)/balenaEtcher(跨平台);测试建议用 QEMU/KVM 快速验证启动与安装。
二 方法一 Cubic 图形化定制
- 安装 Cubic:在 Ubuntu 主机执行
sudo add-apt-repository ppa:cubic-wizard/release
sudo apt update & & sudo apt install cubic - 基本流程:启动 Cubic → 选择官方 ISO → 指定工作目录 → 进入 chroot 终端 → 安装软件/修改配置/添加文件 → 生成新 ISO。
- 常用定制点:预装 .deb 包或 PPA、调整 GDM/GRUB 启动项、替换壁纸与主题、写入默认用户/SSH 公钥(注意权限与合规)。
- 适用场景:快速为团队或实验室生成统一预装环境的安装介质。
三 方法二 命令行手工改造 ISO
- 准备工具与挂载 ISO:
sudo apt install squashfs-tools genisoimage xorriso
mkdir -p /livecd
sudo mount -o loop ubuntu-22.04.iso /livecd
cp -rT /livecd /livecd/rootfs - 解压并进入系统:
sudo unsquashfs -d /squashfs /livecd/casper/filesystem.squashfs
sudo mount --bind /dev /squashfs/dev
sudo mount -t proc none /squashfs/proc
sudo mount -t sysfs none /squashfs/sys
sudo mount -t devpts none /squashfs/dev/pts
sudo chroot /squashfs - 在 chroot 中定制(示例):
apt update & & apt install -y vim curl htop如需联网解析,可临时拷贝宿主 resolv.conf
cp /etc/resolv.conf /squashfs/etc/resolv.conf
清理以减小体积
apt clean & & apt autoremove
exit - 重新打包与元数据:
sudo umount /squashfs/{ dev/pts,dev,proc,sys}
sudo rm /livecd/casper/filesystem.squashfs
sudo mksquashfs /squashfs /livecd/casper/filesystem.squashfs -comp xz更新大小文件(用于安装器校验)
du -sx --block-size=1 /squashfs | sudo tee /livecd/casper/filesystem.size生成校验(部分环境使用 md5,其他可能用 sha256;按需保留其一)
sudo find /livecd -type f -print0 | xargs -0 md5sum | sudo tee /livecd/md5sum.txt - 生成可启动 ISO(同时支持 BIOS/UEFI):
sudo xorriso -as mkisofs -D -r -V “Custom Ubuntu” \ -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -eltorito-alt-boot -e efi/boot/bootx64.efi -no-emul-boot \ -o custom-ubuntu.iso /livecd
四 方法三 mkosi 从零构建可启动镜像
- 安装与最小配置:
sudo apt install mkosi systemd-container squashfs-tools grub-pc-bin
创建 mkosi.conf(示例):
[Distribution]
Distribution=ubuntu
Release=jammy
[Output]
Format=disk
Output=custom-linux.img
Bootable=yes
[Content]
Packages=linux-image-generic systemd-boot bash curl nano - 构建与(可选)转 ISO:
sudo mkosi build若需 ISO,可基于生成的磁盘镜像再封装(示例思路)
mkdir iso-root & & sudo mount custom-linux.img iso-root
sudo mkisofs -o custom-linux.iso -b boot/grub/x86_64-efi/grub.img iso-root
sudo umount iso-root - 适用场景:CI/CD 自动构建、云镜像/本地镜像模板化生成。
五 烧录与测试及常见问题
- 烧录与启动测试:
- 烧录:Rufus(Windows)/balenaEtcher(跨平台) 写入 U 盘;
- 启动测试:QEMU 快速验证
qemu-system-x86_64 -boot d -cdrom custom-ubuntu.iso -m 2048
- 常见问题与要点:
- 引导兼容性:确保 BIOS 路径 isolinux/isolinux.bin 与 UEFI 路径 efi/boot/bootx64.efi 正确;
- 元数据一致性:修改后务必更新 filesystem.size 与校验文件(md5/sha256 视环境而定);
- 内核与 initramfs:更换内核后执行 update-initramfs -u;
- 体积优化:定制完成后执行 apt clean & & apt autoremove,并使用合适的 squashfs 压缩(xz 等);
- 用户级配置:chroot 中仅有 root,涉及用户目录(如 ~/.bashrc)的改动通常在首次登录后补充;
- 测试:在虚拟机充分验证安装流程与预装软件可用性,再用于生产。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu镜像定制化方法介绍
本文地址: https://pptw.com/jishu/777637.html
