Repository navigation
Releases: Daniel-Pereira-Linux/maloki
Release list
maloki v0.2.0
Testado de ponta a ponta em VMs: o template no Debian 13, Fedora 44,
Rocky 9 e Ubuntu 24.04 (BIOS, UEFI e Secure Boot); as proteções; a ISO do
Debian 13 (BIOS, UEFI e Secure Boot) e a do Fedora 44 em BIOS. Pendentes: a
ISO do Fedora em UEFI (corrigida), a do Ubuntu e a instalação clicando nas
telas do Calamares (nos testes, um script faz os mesmos passos dele).
Adicionado
- ISO instalável (
tipo = "iso"ou a 2ª opção do menu): o sistema vira uma
ISO híbrida (DVD/pendrive, BIOS e UEFI) com sessão live e o instalador gráfico
Calamares. O maloki configura o Calamares inteiro (telas, particionamento,
usuários, cara do instalador com o logo da distro) e um script de
pós-instalação que remove a sessão live e instala o GRUB no disco (inclusive
o shim assinado do Fedora, para o Secure Boot). - Compressão zstd para o
.qcow2(compressao = "zstd", o novo padrão
quando oqemu-imgé 5.1 ou mais novo): arquivo do mesmo tamanho ou menor e
leitura bem mais rápida na VM. Na ISO,xz(a menor ISO, padrão) ouzstd. - Testes de ponta a ponta da ISO (
tests/e2e/rodar.sh iso-debian iso-fedora):
geram a ISO numa VM, ligam a sessão live em BIOS e UEFI, conferem o Calamares,
instalam no disco como o Calamares faria e ligam o sistema instalado em BIOS,
UEFI e Secure Boot. - Teste de ponta a ponta "imagem antiga + falha no meio" nas proteções.
Corrigido
- Uma falha no meio apagava a imagem antiga quando
sobrescrever = true(ou
"Sobrescrever? sim" no menu): o arquivo final, que ainda era a imagem antiga,
era apagado. Agora o resultado é gravado emARQUIVO.tmpe só troca de nome
quando fica pronto. - Com
..ou um link simbólico no caminho da imagem, ou com*,?ou[
no nome, o rsync copiava o.rawque estava sendo criado para dentro dele
mesmo, até o disco encher. O caminho agora é resolvido para o caminho real e
os curingas são escapados. - Um usuário com o nome de uma conta ou grupo do sistema (
gdm,docker...)
passava na validação e só falhava no passo 7, depois de toda a cópia. - Caminhos de imagem inválidos (
"", uma pasta, uma pasta que não existe) eram
aceitos e só falhavam no fim. - A estimativa de tamanho só olhava
/usr,/etc,/var... e não contava
outras pastas da raiz nem outros discos montados, que o rsync copia: a imagem
podia sair pequena demais. A conta agora bate com o que o rsync copia. - O swap do Ubuntu Server (
/swap.img) e do btrfs (/swap/swapfile) não entram
mais na imagem. - Os menus fora de um terminal davam o erro cru "IO error: not a terminal";
agora a mensagem sugere o--plano. - O
chpasswdera exigido, mas não era mais usado. - Ubuntu 24.04: o SSH não ligava no template. O serviço que recria as chaves
do SSH no primeiro boot formava um ciclo de ordem com ossh.socket, e o
systemd descartava o socket. Agora ele roda cedo no boot (DefaultDependencies=no). - Ubuntu em UEFI: o template parava no
grub>("no such device"). O GRUB
assinado (o do Secure Boot) lê oEFI/ubuntu/grub.cfg, e a cópia trazia o da
máquina original, apontando para o disco antigo. Agora ogrub-installtambém
reescreve a pasta da distro na partição EFI. - ISO do Fedora em UEFI: a cópia do sistema para o disco falhava. O squashfs
levava a pasta/boot/eficom a etiqueta do SELinux, e a partição EFI (FAT32)
não aceita etiquetas. Agora a pasta inteira fica fora do squashfs. - Testes e2e: no Fedora 44,
cloud-init statusprecisa de root; o teste
esperava à toa até o limite de tempo.
Instalar ou atualizar:
curl -fsSL https://daniel-pereira-linux.github.io/maloki/install.sh | shmaloki v0.1.0
Primeira versão pública do maloki: transforma o Linux que está rodando numa imagem QEMU (.qcow2) portátil, sem os seus dados pessoais e com os usuários que você escolher.
Instalar
curl -fsSL https://daniel-pereira-linux.github.io/maloki/install.sh | shO instalador confere o checksum SHA-256 e instala o maloki e o manual (man maloki).
Ou baixe o maloki-x86_64-linux.tar.gz abaixo: é um binário estático, funciona em qualquer distro x86_64.
Usar
maloki --simular # mostra o passo a passo, sem mudar nada
sudo maloki # cria a imagem respondendo os menus
sudo maloki --plano plano.toml # sem perguntas (scripts, cron, Ansible)Destaques
- Imagem que liga em BIOS, UEFI e UEFI com Secure Boot, com rede automática (DHCP).
- Remove
/home,/root, os usuários originais, senhas de Wi-Fi, VPN, chaves SSH do servidor,machine-id, logs e caches. - Ctrl+C seguro, conferência de espaço livre antes de começar, trava contra execução dupla e pausa de bancos de dados durante a cópia.
- Os sistemas de arquivos da imagem são conferidos com
e2fsckantes da entrega: se houver qualquer erro, a imagem é descartada em vez de sair "pronta".
Distribuições
| Status | |
|---|---|
| Fedora 44 | ✅ testado de ponta a ponta (BIOS, UEFI, Secure Boot) |
| Rocky 9 (e família RHEL) | ✅ testado de ponta a ponta (BIOS, UEFI, Secure Boot) |
| Debian / Ubuntu | 🟡 deve funcionar: conte como foi |
Mudanças completas no CHANGELOG.
Quer contribuir? Comece pelo guia do código.