Un wrapper sophistiqué autour de dnf --installroot
, apt
, pacman
et zypper
qui génère des images disque personnalisées avec un certain nombre de cloches et de sifflets.
Pour une description plus longue et les fonctionnalités et options disponibles, consultez la page de manuel.
Vous pouvez installer mkosi depuis votre distribution en utilisant son gestionnaire de packages ou installer la version de développement depuis git. Si vous installez mkosi à l'aide du gestionnaire de paquets de votre distribution, assurez-vous qu'il installe au moins mkosi v16 ou plus récent (utilisez mkosi --version
pour vérifier). Si votre distribution ne contient qu'une ancienne version de mkosi, il est recommandé d'installer mkosi en utilisant plutôt l'une des méthodes d'installation alternatives répertoriées ci-dessous.
Pour exécuter mkosi directement depuis son référentiel git, vous pouvez appeler le shim bin/mkosi
. La variable d'environnement MKOSI_INTERPRETER
peut être définie lors de l'utilisation du shim bin/mkosi
pour configurer l'interpréteur python utilisé pour exécuter mkosi. Le shim peut être lié symboliquement à, par exemple, /usr/local/bin
pour le rendre accessible depuis le PATH
.
git clone https://github.com/systemd/mkosi
ln -s $PWD /mkosi/bin/mkosi /usr/local/bin/mkosi
mkosi --version
mkosi peut également être installé directement à partir de l'URL du référentiel git en utilisant pipx
:
pipx install git+https://github.com/systemd/mkosi.git
mkosi --version
qui installera de manière transparente mkosi dans un environnement virtuel Python et un binaire mkosi dans ~/.local/bin
. C'est, jusqu'au chemin de l'environnement virtuel et du binaire mkosi, équivalent à
python3 -m venv mkosivenv
mkosivenv/bin/pip install git+https://github.com/systemd/mkosi.git
mkosivenv/bin/mkosi --version
Vous pouvez également empaqueter mkosi sous forme d'application zip que vous pouvez déployer n'importe où dans votre PATH
. L'exécuter laissera un binaire mkosi
dans builddir/
git clone https://github.com/systemd/mkosi
cd mkosi
tools/generate-zipapp.sh
builddir/mkosi --version
Outre le binaire mkosi, vous pouvez également appeler mkosi via
python3 -m mkosi
lorsqu'il n'est pas installé en tant que zipapp.
Veuillez noter que le module python existe uniquement pour l'utilisation du binaire mkosi et ne doit pas être considéré comme une API publique.
mkosi peut également être utilisé comme plugin d'installation du noyau pour créer des initrds. Pour activer cette fonctionnalité, installez kernel-install/50-mkosi.install
dans /usr/lib/kernel/install.d
. Une configuration de distribution supplémentaire pour initrd peut être configurée dans /usr/lib/mkosi-initrd
. Les utilisateurs peuvent ajouter leurs propres personnalisations dans /etc/mkosi-initrd
.
Une fois installé, le plugin mkosi peut être activé en écrivant initrd_generator=mkosi-initrd
dans /usr/lib/kernel/install.conf
ou dans /etc/kernel/install.conf
.
Pour pirater mkosi lui-même, vous aurez également besoin de mypy, pour la vérification de type, et de pytest, pour exécuter des tests. Nous vérifions les tests et saisissons CI (voir .github/workflows
), mais vous pouvez également exécuter les tests localement.
Retrouvez-nous sur Matrix à #mkosi:matrix.org.