Ein schicker Wrapper um dnf --installroot
, apt
, pacman
und zypper
, der benutzerdefinierte Disk-Images mit einer Reihe von Schnickschnack generiert.
Eine ausführlichere Beschreibung und verfügbare Funktionen und Optionen finden Sie auf der Manpage.
Sie können mkosi von Ihrer Distribution mit dem Paketmanager installieren oder die Entwicklungsversion von git installieren. Wenn Sie mkosi mit dem Paketmanager Ihrer Distribution installieren, stellen Sie sicher, dass mindestens mkosi v16 oder neuer installiert ist (verwenden Sie zur Überprüfung mkosi --version
). Wenn Ihre Distribution nur eine ältere Version von mkosi enthält, wird empfohlen, mkosi stattdessen mit einer der unten aufgeführten alternativen Installationsmethoden zu installieren.
Um mkosi direkt aus seinem Git-Repository auszuführen, können Sie den Shim bin/mkosi
aufrufen. Die Umgebungsvariable MKOSI_INTERPRETER
kann festgelegt werden, wenn das bin/mkosi
-Shim verwendet wird, um den Python-Interpreter zu konfigurieren, der zum Ausführen von mkosi verwendet wird. Der Shim kann beispielsweise mit /usr/local/bin
symbolisiert werden, um ihn über PATH
zugänglich zu machen.
git clone https://github.com/systemd/mkosi
ln -s $PWD /mkosi/bin/mkosi /usr/local/bin/mkosi
mkosi --version
mkosi kann auch direkt von der Git-Repository-URL mit pipx
installiert werden:
pipx install git+https://github.com/systemd/mkosi.git
mkosi --version
Dadurch wird mkosi transparent in einer virtuellen Python-Umgebung und eine mkosi-Binärdatei in ~/.local/bin
installiert. Dies ist bis auf den Pfad der virtuellen Umgebung und der mkosi-Binärdatei äquivalent
python3 -m venv mkosivenv
mkosivenv/bin/pip install git+https://github.com/systemd/mkosi.git
mkosivenv/bin/mkosi --version
Sie können mkosi auch als Zip-App packen, die Sie überall in Ihrem PATH
bereitstellen können. Wenn Sie dies ausführen, bleibt eine mkosi
Binärdatei in builddir/
git clone https://github.com/systemd/mkosi
cd mkosi
tools/generate-zipapp.sh
builddir/mkosi --version
Neben der mkosi-Binärdatei können Sie mkosi auch über aufrufen
python3 -m mkosi
wenn es nicht als Zip-App installiert ist.
Bitte beachten Sie, dass das Python-Modul ausschließlich für die Verwendung der mkosi-Binärdatei existiert und nicht als öffentliche API betrachtet werden darf.
mkosi kann auch als Kernel-Installations-Plugin zum Erstellen von Initrds verwendet werden. Um diese Funktion zu aktivieren, installieren Sie kernel-install/50-mkosi.install
in /usr/lib/kernel/install.d
. Eine zusätzliche Distributionskonfiguration für die initrd kann in /usr/lib/mkosi-initrd
konfiguriert werden. Benutzer können ihre eigenen Anpassungen in /etc/mkosi-initrd
hinzufügen.
Nach der Installation kann das mkosi-Plugin aktiviert werden, indem initrd_generator=mkosi-initrd
in /usr/lib/kernel/install.conf
oder in /etc/kernel/install.conf
geschrieben wird.
Um mkosi selbst zu hacken, benötigen Sie außerdem mypy zur Typprüfung und pytest zum Ausführen von Tests. Wir überprüfen Tests und geben CI ein (siehe .github/workflows
), Sie können die Tests aber auch lokal ausführen.
Finden Sie uns auf Matrix unter #mkosi:matrix.org.