使用chroot预安装软件到ubuntu22中

1、安装依赖

安装依赖工具

sudo apt update && sudo apt install -y \

squashfs-tools \

genisoimage \

xorriso \

isolinux \

syslinux-utils \

p7zip-full

sudo apt update

sudo apt install grub-pc-bin grub-efi-amd64-bin -y

创建工作目录

mkdir -p ./custom-iso/{original,edit}

2、提取ISO内容

挂载原始ISO

sudo mount -o loop ubuntu-22.04.5-live-server-amd64.iso /mnt

复制文件到工作目录

sudo rsync -a /mnt/ ./custom-iso/original/

sudo umount /mnt

cd ./custom-iso

3、 解压系统文件

解压squashfs文件

sudo unsquashfs -f -d ./edit ./original/casper/ubuntu-server-minimal.squashfs

4、配置Chroot环境

进入chroot环境

sudo chroot ./edit

---------- 在Chroot环境中操作,以下是安装nginx的例子 ----------

配置基础环境

apt update

apt install -y debconf-utils

export DEBIAN_FRONTEND=noninteractive

添加自定义软件(示例安装nginx)

apt install -y nginx

清理缓存

apt clean

rm -rf /var/lib/apt/lists/*

rm -rf /tmp/*

---------- 在Chroot环境中操作,以下是安装nginx的例子 ----------

退出chroot

exit

5、重新打包系统文件

生成新squashfs文件

rm -rf original/casper/ubuntu-server-minimal.squashfs

sudo mksquashfs edit original/casper/ubuntu-server-minimal.squashfs \

-comp xz \

-b 1M \

-noappend

#生成md5

cd original

find -type f -exec md5sum {} \; > md5sum.txt

cd ..

xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames \

-volid "Custom Ubuntu" \

-eltorito-boot boot/grub/i386-pc/eltorito.img \

-no-emul-boot -boot-load-size 4 -boot-info-table \

-eltorito-alt-boot -e EFI/boot/grubx64.efi -no-emul-boot \

-isohybrid-gpt-basdat \

-o ./custom-ubuntu-22.04.5-fixed.iso ./original

6、验证

qemu-system-x86_64 -m 2G -cdrom ./custom-ubuntu-22.04.5-fixed.iso -curses

相关推荐
handsomestWei2 分钟前
Docker引擎API接入配置
运维·http·docker·容器·api
si莉亚6 分钟前
ROS2安装EVO工具包
linux·开发语言·c++·开源
Tingjct7 分钟前
Linux常用指令
linux·运维·服务器
广州灵眸科技有限公司27 分钟前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
daad77732 分钟前
wifi_note
运维·服务器·数据库
IT界的老黄牛33 分钟前
Linux 压缩命令实战:tar、gzip、bzip2、xz、zstd 怎么选?一篇讲清楚
linux·运维·服务器
IT WorryFree1 小时前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
12345,catch a tiger1 小时前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
凉、介1 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
辰风沐阳2 小时前
OpenClaw 安装教程(Ubuntu 24.04 Desktop)
linux·ubuntu