使用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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71545.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71545.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71545.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php代碼審計工具-rips

代碼審計 代碼審計就是檢查所寫的代碼中是否有漏洞,檢查程序的源代碼是否有權限從而被黑客攻擊,同時也檢查了書寫的代碼是否規范。通過自動化的審查和人工審查的方式,逐行檢查源代碼,發現源代碼中安全缺陷所造成的漏洞&#xff0…

Docker參數,以及倉庫搭建

一。Docker的構建參數 注釋: 1.對于CMD,如果不想顯示,而是使用交互界面:docker run -ti --rm --name test2 busybox:v5 sh 2.對于CMD,一個交互界面只可以使用一個,如果想多次使用CMD,則用ENTR…

基于Python Django的人臉識別上課考勤系統(附源碼,部署)

博主介紹:?程序員徐師兄、7年大廠程序員經歷。全網粉絲12w、csdn博客專家、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? 🍅文末獲取源碼聯系🍅 👇🏻 精彩專欄推薦訂閱👇…

基于python實現的疫情數據可視化分析系統

基于python實現的疫情數據可視化分析系統 開發語言:Python 數據庫:MySQL所用到的知識:Django框架工具:pycharm、Navicat 系統功能實現 總體設計 系統實現 系統功能模塊 系統首頁可以查看首頁、疫情信息、核酸檢測、新聞資訊、個人中心、后…

(十 八)趣學設計模式 之 觀察者模式!

目錄 一、 啥是觀察者模式?二、 為什么要用觀察者模式?三、 觀察者模式的實現方式四、 觀察者模式的優缺點五、 觀察者模式的應用場景六、 總結 🌟我的其他文章也講解的比較有趣😁,如果喜歡博主的講解方式,…

Spring Boot 緩存最佳實踐:從基礎到生產的完整指南

Spring Boot 緩存最佳實踐:從基礎到生產的完整指南 引言 在現代分布式系統中,緩存是提升系統性能的銀彈。Spring Boot 通過 spring-boot-starter-cache? 模塊提供了開箱即用的緩存抽象,但如何根據業務需求實現靈活、可靠的緩存方案&#xf…

蘋果Siri升級遇阻,國行iPhone或將引入阿里、百度AI自救

AI整合進展緩慢 蘋果正加速將生成式AI技術整合至Siri,但內部消息稱其底層技術研發落后于競爭對手,進展未達預期。 國行iPhone將引入雙AI模型 蘋果計劃在2025年中期為國行iPhone引入AI功能,目前已敲定與 阿里巴巴、百度 合作,用戶…

阿里推出全新推理模型(因果語言模型),僅1/20參數媲美DeepSeek R1

阿里Qwen 團隊正式發布了他們最新的研究成果——QwQ-32B大語言模型!這款模型不僅名字萌萌噠(QwQ),實力更是不容小覷!😎 QwQ-32B 已在 Hugging Face 和 ModelScope 開源,采用了 Apache 2.0 開源協議。大家可通過 Qwen C…

TomcatServlet

https://www.bilibili.com/video/BV1UN411x7xe tomcat tomcat 架構圖,與 jre,應用程序之前的關系 安裝使用 tomcat 10 開始,api 從 javax.* 轉為使用 jakarta.*,需要至少使用 jdk 11 cmd 中默認 gbk 編碼,解決控制…

JDK ZOOKEEPER KAFKA安裝

JDK17下載安裝 mkdir -p /usr/local/develop cd /usr/local/develop 將下載的包上傳服務器指定路徑 解壓文件 tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz -C /usr/local/develop/ 修改文件夾名 mv /usr/local/develop/jdk-17.0.14 /usr/local/develop/java17 配置環境變量…

高考數學。。。

2024上 具體來說,直線的參數方程可以寫為: x1t y?t z1t 二、簡答題(本大題共5小題,每小題7分,共35分。) 12.數學學習評價不僅要關注結果評價,也要關注過程評價。簡要說明過程評價應關注哪幾個方面。…

C# 實現鼠標軌跡錄制與回放自動化功能(附源碼)

在軟件自動化測試或者重復性辦公任務中,鼠標操作的自動化可以大大減少人工干預,提高工作效率。這里將詳細介紹如何使用 C# 實現鼠標軌跡的錄制與回放功能,代碼結構清晰,具有較強的擴展性。 引用 NuGet 包 在開發這個功能時&…

Nacos 核心功能實戰筆記(超詳細)

Nacos 核心功能實戰筆記 一、Nacos 簡介 1. 是什么? 全稱:Nacos Naming and Configuration Service定位:阿里巴巴開源的 動態服務發現、配置管理、服務管理平臺核心功能:服務注冊與發現 統一配置管理 服務健康監測適用場景&…

安裝remixd,在VScode創建hardhat

在終端,以管理員身份,cmd 需要科學上網 npm install -g remix-project/remixd 在vscode插件中,安裝solidity插件,是暗灰色那款 1.將nodeJs的版本升級至18以上 2.在vscode打開一個新的文件,在終端輸入 npx hardhat 3.…

unity pico開發 四 物體交互 抓取 交互層級

文章目錄 手部設置物體交互物體抓取添加抓取抓取三種類型抓取點偏移抓取事件抓取時不讓物體吸附到手部 射線抓取交互層級 手部設置 為手部(LeftHandController)添加XRDirInteractor腳本 并添加一個球形碰撞盒,勾選isTrigger,調整大小為0.1 …

CyberRT(apollo) 定時器模塊簡述及bug分析

timer 模塊 timer的定義,cyberrt中timer模塊用于設置定時器任務,字面意思,設置設置定時周期及出發頻次(周期 or oneshot),到達指定時間時間觸發callback time wheel 時鐘節拍輪,常見的定時器設計&#x…

java八股文之消息中間件

1.RabbitMQ如何保證消息不丟失 開啟生產者確認機制,確保生產者的消息能到達隊列開啟持久化功能,確保消息未消費前在隊列中不會丟失(交換機,隊列,消息都需要開啟持久化功能)開啟消費者確認機制為auto,由spr…

Win7重裝不翻車!ISO鏡像安全下載渠道+BIOS設置避雷手冊

一、寫在前面:為什么你需要這份教程? 當電腦頻繁藍屏、系統崩潰甚至無法開機時,重裝系統可能是最后的救命稻草。但市面上的教程往往存在三大痛點: ?? 鏡像來源不明導致系統被植入后門 ?? 啟動盤制作失敗反復折騰 ?? 操作失…

大學至今的反思與總結

現在是2025年的3月5日,我大三下學期。 自大學伊始,我便以考研作為自己的目標,有時還會做自己考研上岸頭部985,211,offer如潮水般涌來的美夢。 但是我卻忽略了一點,即便我早早下定了決心去考研,但并沒有早…

SpringBoot 全局異常處理

文章目錄 異常處理全局異常處理(推薦)局部異常處理高級技巧設置返回狀態碼處理404異常異常處理 全局異常處理(推薦) 創建一個全局異常處理類,使用 @RestControllerAdvice 注解標記。 在方法上使用 @ExceptionHandler 聲明當前方法可處理的異常類型。當系統發生異常時,…