围绕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。