Um wrapper sofisticado em torno de dnf --installroot
, apt
, pacman
e zypper
que gera imagens de disco personalizadas com vários recursos.
Para uma descrição mais detalhada e recursos e opções disponíveis, consulte a página de manual.
Você pode instalar o mkosi da sua distribuição usando seu gerenciador de pacotes ou instalar a versão de desenvolvimento do git. Se você instalar o mkosi usando o gerenciador de pacotes da sua distribuição, certifique-se de instalar pelo menos o mkosi v16 ou mais recente (use mkosi --version
para verificar). Se a sua distribuição empacota apenas uma versão mais antiga do mkosi, é recomendado instalar o mkosi usando um dos métodos de instalação alternativos listados abaixo.
Para executar o mkosi diretamente de seu repositório git, você pode invocar o shim bin/mkosi
. A variável de ambiente MKOSI_INTERPRETER
pode ser definida ao usar o shim bin/mkosi
para configurar o interpretador python usado para executar mkosi. O shim pode ter um link simbólico, por exemplo, /usr/local/bin
para torná-lo acessível a partir do PATH
.
git clone https://github.com/systemd/mkosi
ln -s $PWD /mkosi/bin/mkosi /usr/local/bin/mkosi
mkosi --version
mkosi também pode ser instalado diretamente do URL do repositório git usando pipx
:
pipx install git+https://github.com/systemd/mkosi.git
mkosi --version
que instalará o mkosi de forma transparente em um ambiente virtual Python e um binário mkosi em ~/.local/bin
. Isto é, até o caminho do ambiente virtual e do binário mkosi, equivalente a
python3 -m venv mkosivenv
mkosivenv/bin/pip install git+https://github.com/systemd/mkosi.git
mkosivenv/bin/mkosi --version
Você também pode empacotar o mkosi como um zipapp que pode ser implantado em qualquer lugar do seu PATH
. Executar isso deixará um binário mkosi
em builddir/
git clone https://github.com/systemd/mkosi
cd mkosi
tools/generate-zipapp.sh
builddir/mkosi --version
Além do binário mkosi, você também pode chamar mkosi via
python3 -m mkosi
quando não instalado como um zipapp.
Observe que o módulo python existe apenas para uso do binário mkosi e não deve ser considerado uma API pública.
mkosi também pode ser usado como um plugin de instalação do kernel para construir initrds. Para ativar esse recurso, instale kernel-install/50-mkosi.install
em /usr/lib/kernel/install.d
. A configuração extra da distribuição para o initrd pode ser configurada em /usr/lib/mkosi-initrd
. Os usuários podem adicionar suas próprias personalizações em /etc/mkosi-initrd
.
Uma vez instalado, o plugin mkosi pode ser habilitado escrevendo initrd_generator=mkosi-initrd
em /usr/lib/kernel/install.conf
ou em /etc/kernel/install.conf
.
Para hackear o próprio mkosi você também precisará do mypy, para verificação de tipo, e do pytest, para executar testes. Verificamos os testes e digitamos no CI (consulte .github/workflows
), mas você também pode executar os testes localmente.
Encontre-nos no Matrix em #mkosi:matrix.org.