如何透過「live-build」製作「自訂的 Debian Live ISO」 [論壇 - Ubuntu 非官方發行版討論]
正在瀏覽:
1 名遊客
如何透過「live-build」製作「自訂的 Debian Live ISO」 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 905
![]() |
# 如何透過「live-build」製作「自訂的 Debian Live ISO」
================================================================================ ## 前提 最近「Debian 12 Bookworm」發行了。 我有安裝「Debian 12 Xfce」在我的其中一個「USB隨身碟」。 延續我在另一個「討論串 - 回覆: 製作ubuntu安裝ISO給其他電腦安裝」提到的, 之前我只有透過「Archiso」,製作過「自訂的 Arch Linix Live ISO」的經驗。 目前是透過「Ezarcher」提供的樣板,來「衍生修改實作」。 剛好趁安裝好「Debian 12 Bookworm」這個契機, 來學習透過「live-build」,製作「自訂的 Debian Live ISO」。 我是參考「EznixOS」的作法, 我是參考「eznix12X」的原型, 可以參考他的「bldeznix12X」這個腳本, 大致上了解他的作法後, 我就另外寫了一個架構,這個架構的「原型」一樣有放在「GitHub」上 主要架構上的修改,只是一些設定放置的資料夾路徑不同而已, 我調整成自己慣用的放法,可以參考我寫的「steps.sh」這個腳本。 產生的操作步驟很簡單, 只要在「Debian 12 Bookworm」的環境, 先執行下面的指令安裝「live-build」。
接著執行下面指令
或是執行下面指令
就會執行產生「自製的 Debian Live ISO」。 ================================================================================ ## 架構 若要修改,大致上,修改兩個地方 * asset/overlay * asset/package 關於「asset/overlay」,主要會對應到「live system」的「/」這個資料夾。 關於「asset/package」,裡面放置的文字檔,是紀錄你想要安裝「Debian Packge」。 關於「/etc/skel」這個特別的資料夾, 當新建帳號時,會將此資料夾裡面的檔案,覆蓋到「該帳號的家目錄」底下 ================================================================================ ## 衍生 根據上面我改過後的架構原型,我就先衍生了下面幾個主要的「桌面環境(Desktop Environment)」的「iso-build-profile」。 * xfce * mate * cinnamon * kde-plasma * gnome-shell 除了有我個人慣用的「英文介面」,也有「中文介面」。 我只是針對各個「桌面環境」做簡單的設定調整, 大致上的調整有 * 按鍵綁定 * 佈景主題 * 中文字型 * 中文輸入法 * dconf 和 gsettings 的設定 * 我個人慣用工具的設定 * 安裝程式 ================================================================================ ## 按鍵綁定 針對每個「桌面環境」,我都有設定我慣用的「按鍵綁定」,大部分都是一致的。 可以參考我在另一篇「討論串 - 關於「桌面環境」便利操作的按鍵組合設定」。 ================================================================================ ## 佈景主題 關於「佈景主題」,我個人慣用的「Gruvbox」, 我是因為偷懶,所以就先採用目前「Debian」有提供的「佈景主題 Package」。 而上面提到的範例「xfce」,「mate」,「cinnamon」,「gnome-shell」 這些「佈景主題」是採用「Arc-Dark」,並且「ICON」是搭配「Papirus-Dark」。 而「kde-plasma」的「佈景主題」則是採用「Breeze-Dark」。 另外「xfce」,「mate」,「cinnamon」,「gnome-shell」這幾個桌面環境 我都有設定「qt style 根據 gtk style」。 ================================================================================ ## 中文字型 關於「中文字型」,我有安裝「fonts-noto-cjk」。 另外,我也有設定「字型查找順序」。 關於這部份的概念,可以參考我在另一個「討論串 - 回覆: 關於steam遊戲--Portal 2 無法顯示中文字型, 和另一個「討論串 - 如何設定「sans-serif」,「serif」,「monospace」的字型查找順序」,我所提到的概念。 ================================================================================ ## 中文輸入法 關於「輸入法框架」,我是採用「fcitx5」 而我慣用的「中文輸入法」是「新酷音輸入法(chewing)」, 所以我是安裝「fcitx5-chewing」。 ================================================================================ ## dconf 和 gsettings 的設定 關於「dconf 的設定」,我有設定一個檔案「/etc/dconf/profile/user」。 另外我有寫了兩個「hook」,針對「dconf」和「gsettings」的設定。 分別是 * 1100-update-dconf-db.hook.chroot * 1110-update-glib-schemas.hook.chroot 關於「dconf」和「gsettings」這部份的議題,我之前有在另一個「討論串 - 回覆: 【分享】適合 Ubuntu MATE 22.04 的面板布局方案」,有做詳細的說明。 關於「dconf」和「gsettings」的設定,比較會使用到的是「gnome-shell」,「mate」,「cinnamon」這幾個「桌面環境」 一般只要使用到「gsettings」的機制就行了,放置的資料夾路徑在「/usr/share/glib-2.0/schemas」。 若有使用到「Gsettings / Relocatable schemas」, 則會用到「dconf」的設定, 例如 * gnome-terminal * gnome-shell-keybind-custom * mate-terminal * mate-keybind-custom * cinnamon-keybind-custom 注意: 要注意的是放在「/usr/share/glib-2.0/schemas」這裡的「gschema.override」裡面的「Ini Session Name」是用「.」來隔開。 舉例:
然而放在「/etc/dconf/db/」這裡的「dconf db schema」裡面的「Ini Session Name」則是用「/」來隔開。 舉例:
================================================================================ ## 我個人慣用工具的設定 我有針對我個人常用的工具,做一些設定, 這些都可以在「asset/overlay/etc/skel/.config」底下找到。 ================================================================================ ## 安裝程式 關於「Debian 12 安裝程式」是採用「calamares」, 而「EznixOS」有自訂的「calamares」設定檔, 在我寫的架構,我則是複製「calamares-settings-debian」裡面的設定檔來做簡單修改。 ================================================================================ ## 小結 以上只是簡易的介紹,我還沒有力氣寫詳細說明。 先紀錄連結,提供對這個議題有興趣的人一個「探索的起點」, 上面紀錄的範例,是我個人在使用的,所以我會陸續的修改, 關於「live-build」的機制,我也還沒研究透徹, 目前只有針對我有使用到的,去做修改。 我曉得每個人慣用設定都不一樣, 所以建議可以參考上面紀錄的範例,複製一份當作樣板,自己去操作修改,改成您自己要的設定 或是也可以像我一樣,了解了大致的作法,您也可以自行撰寫成自己的架構,自己慣用的檔案目錄放置路徑。 除了可以參考「EznixOS」的作法, 另外也可以參考「Spiral Linux」。 更進階一點,也可以參考「Kali Linux」, 也都是透過「live-build」來製作的。 ================================================================================ 以上提供參考 報告完畢
7/26 17:35:46
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.