圍繞dnf --installroot
、 apt
、 pacman
和zypper
的精美包裝,可產生具有許多附加功能的自訂磁碟映像。
有關詳細說明以及可用功能和選項,請參閱手冊頁。
您可以使用其套件管理器從您的發行版安裝 mkosi 或從 git 安裝開發版本。如果您使用發行版的套件管理器安裝 mkosi,請確保它至少安裝 mkosi v16 或更高版本(使用mkosi --version
進行檢查)。如果您的發行版僅打包舊版本的 mkosi,建議使用下面列出的替代安裝方法之一來安裝 mkosi。
若要直接從 git 儲存庫執行 mkosi,您可以呼叫 shim bin/mkosi
。使用bin/mkosi
shim 來設定執行 mkosi 的 python 解譯器時,可以設定MKOSI_INTERPRETER
環境變數。此墊片可以符號連結到例如/usr/local/bin
以使其可以從PATH
存取。
git clone https://github.com/systemd/mkosi
ln -s $PWD /mkosi/bin/mkosi /usr/local/bin/mkosi
mkosi --version
mkosi 也可以使用pipx
直接從 git 儲存庫 url 安裝:
pipx install git+https://github.com/systemd/mkosi.git
mkosi --version
這將透明地將 mkosi 安裝到 Python 虛擬環境中,並將 mkosi 二進位檔案安裝到~/.local/bin
。這是,直到虛擬環境和 mkosi 二進位檔案的路徑,相當於
python3 -m venv mkosivenv
mkosivenv/bin/pip install git+https://github.com/systemd/mkosi.git
mkosivenv/bin/mkosi --version
您也可以將 mkosi 打包為 zipapp,可以部署在PATH
中的任何位置。運行此命令將在builddir/
中留下一個mkosi
進位文件
git clone https://github.com/systemd/mkosi
cd mkosi
tools/generate-zipapp.sh
builddir/mkosi --version
除了 mkosi 二進位檔案之外,您還可以透過以下方式呼叫 mkosi
python3 -m mkosi
未安裝為 zipapp 時。
請注意,python 模組僅用於 mkosi 二進位檔案的使用,不應被視為公共 API。
mkosi 也可以用作核心安裝插件來建構 initrds。若要啟用此功能,請將kernel-install/50-mkosi.install
安裝到/usr/lib/kernel/install.d
。 initrd 的額外發行版配置可以在/usr/lib/mkosi-initrd
中配置。使用者可以在/etc/mkosi-initrd
中新增自己的自訂設定。
安裝後,可以透過將initrd_generator=mkosi-initrd
寫入/usr/lib/kernel/install.conf
或/etc/kernel/install.conf
來啟用 mkosi 外掛。
要破解 mkosi 本身,您還需要 mypy(用於類型檢查)和 pytest(用於執行測試)。我們檢查測試並輸入 CI(請參閱.github/workflows
),但您也可以在本地運行測試。
在 Matrix 上找到我們:#mkosi:matrix.org。