Avançado

Este capítulo reúne as superfícies para utilizadores avançados da aplicação — aquelas a que recorre ocasionalmente, não em todas as sessões. A sua peça central é o navegador de ficheiros ext4 incorporado, que abre as imagens de disco de um espaço de trabalho diretamente no seu Mac sem arrancar a VM: para recuperar um ficheiro de um espaço de trabalho que prefere não iniciar, ou para reparar um que não arranca. Uma secção curta no final documenta dois valores predefinidos de configuração de baixo nível.

Tudo aqui pressupõe que está à vontade com o modelo de armazenamento de Espaços de trabalho e Sessões.

O navegador de ficheiros ext4

Cada espaço de trabalho guarda os seus dados em imagens de disco ext4 do Linux — o disco de sistema disk.img e a imagem da pasta pessoal home.img. O macOS não tem suporte nativo para ext4, pelo que normalmente a única forma de ver o interior dessas imagens é arrancar a VM. O Bromure Agentic Coding evita isso com o seu próprio leitor e gravador ext4 em espaço de utilizador e sem dependências: analisa o formato em disco diretamente e mostra-lhe a árvore.

Espaços de trabalho ▸ Abrir ficheiro ext4… abre qualquer .img ext4 (também ext2 ou ext3) — um sistema de ficheiros em bruto ou um disco particionado MBR/GPT — numa janela ao estilo do Finder. Nada é montado, nenhuma VM arranca e não são necessários privilégios elevados.

Nota: A imagem abre em modo só de leitura por predefinição — seguro mesmo que uma VM de espaço de trabalho ainda tenha o disco associado. A edição é um passo distinto e explicitamente controlado (consulte Editar uma imagem).

O que pode abrir: os discos dentro de um espaço de trabalho

Um espaço de trabalho reside em ~/Library/Application Support/BromureAC/profiles/<uuid>/. Duas imagens aí vale a pena navegar, além dos seus instantâneos de reversão:

ImagemO que o navegador mostraA linha de informação da barra de ferramentas indica
disk.imgA raiz do sistema Ubuntu — /etc, /var, /usr, /opt, e assim por diante. O disco tem uma disposição GPT (uma partição EFI de 512 MiB mais a raiz ext4); o navegador localiza a raiz ext4 automaticamente.partition @…MiB
home.imgA /home/ubuntu do convidado diretamente na raiz do sistema de ficheiros — dotfiles, checkouts de projetos, .ssh, histórico da shell e a cache de colagem em .bromure/.raw
checkpoints/<ts>.imgUm instantâneo de reversão de disk.img com arranque comprovado.partition @…MiB
checkpoints/home/<ts>.imgUm instantâneo de reversão de home.img.raw

A imagem da pasta pessoal comporta-se assim porque o convidado a formata com mkfs.ext4 e a monta sobre /home/ubuntu no arranque — pelo que a própria diretoria raiz da imagem é essa pasta pessoal. Num espaço de trabalho que ainda use a pasta pessoal partilhada antiga não existe qualquer home.img para abrir; consulte Sessões para os modelos de armazenamento e a atualização única.

Abrir uma imagem

  1. Escolha Espaços de trabalho ▸ Abrir ficheiro ext4….
  2. Aparece um painel de abertura intitulado Abrir imagem de disco ext4 — "Escolha uma imagem de disco ext4 .img (em bruto ou particionada)." — a começar em ~/Library/Application Support/BromureAC. Navegue até à pasta profiles/<uuid>/ de um espaço de trabalho e selecione disk.img, home.img ou um ficheiro dentro de checkpoints/.
  3. O navegador abre numa janela intitulada ext4 — «nome do ficheiro», mostrando a raiz do sistema de ficheiros.

A linha de informação da barra de ferramentas (canto inferior esquerdo) resume o volume: a sua etiqueta, o tamanho total, se o sistema de ficheiros foi encontrado em bruto ou num deslocamento de partição, e o seu estado — clean, not cleanly unmounted ou journal needs recovery. Existe uma janela por imagem; reabrir uma imagem que já esteja aberta apenas foca a sua janela.

A vista principal é uma tabela de três colunas — Nome, Tamanho e Tipo — com as diretorias listadas primeiro. O tipo distingue pastas, ficheiros e ligações simbólicas, bem como os tipos de nó Unix especiais (Char, Block, FIFO, Socket).

  • Navegar — faça duplo clique numa pasta para entrar nela; clique na seta Subir da barra de ferramentas para voltar atrás. O caminho de navegação mostra o caminho atual.
  • Pré-visualizar — faça duplo clique num ficheiro, ou clique com o botão direito e escolha Pré-visualizar. Os ficheiros de texto são apresentados como texto; os ficheiros binários são apresentados como um despejo hexadecimal. Em qualquer caso, a pré-visualização é limitada ao primeiro 1 MiB, e o rodapé indica quantos dos bytes totais do ficheiro são mostrados. Uma ligação simbólica é pré-visualizada como o seu caminho de destino.
  • Extrair — clique com o botão direito num ficheiro e escolha Extrair… para gravar todo o seu conteúdo no seu Mac através de um painel de gravação. Este é o caminho só de leitura que usará com mais frequência.

Editar uma imagem

A edição está deliberadamente protegida por uma barreira. Clique em Ativar edição… na barra de ferramentas; aparece um aviso:

Edite apenas uma imagem cuja VM do espaço de trabalho esteja parada. Escrever num disco que uma VM em execução tem aberto irá corrompê-lo.

Confirme e a imagem reabre em modo de leitura-escrita, com um emblema de lápis A editar cor de laranja na barra de ferramentas. O menu de contexto de um ficheiro ganha então Substituir…: escolha um ficheiro do anfitrião cujo conteúdo sobrescreve o ficheiro selecionado no local. O editor recalcula a soma de verificação metadata_csum do inode, para que o resultado permaneça consistente e não necessite de reparação.

Aviso: A substituição é apenas no local. O novo conteúdo tem de caber nos blocos já alocados do ficheiro — um ficheiro maior é recusado com Esse ficheiro teria de crescer (aumentar, criar e eliminar ficheiros ainda não está ativado). Ficheiros com dados inline não podem ser editados. As escritas são recusadas enquanto o journal necessitar de recuperação — execute primeiro fsck (abaixo). E nunca edite uma imagem que uma VM em execução tenha associada.

Executar o fsck

O botão Executar fsck… da barra de ferramentas executa o fsck.ext4 (e2fsck) sobre a imagem aberta para reproduzir o journal e reparar o sistema de ficheiros. Confirma primeiro — "Executar fsck.ext4 nesta imagem?", indicando que a VM do espaço de trabalho tem de estar parada e que a ferramenta pode modificar a imagem — e depois executa uma reparação automática forçada. Para uma imagem em bruto, o fsck corre diretamente sobre o ficheiro; para um disco particionado, a imagem é associada com hdiutil sem montagem, a fatia ext4 é verificada e a imagem é desassociada no final. Não estão envolvidos privilégios elevados.

Os resultados aparecem numa folha de relatório com um resumo em linguagem simples — "O sistema de ficheiros está limpo.", "Os erros do sistema de ficheiros foram corrigidos." ou "Os erros do sistema de ficheiros permanecem POR CORRIGIR." — mais o resultado completo da ferramenta; a imagem é depois reaberta.

Nota: O macOS não inclui e2fsprogs. Se a ferramenta estiver em falta, um alerta indica fsck.ext4 não está instalado com a correção brew install e2fsprogs. A aplicação procura primeiro no seu próprio pacote, depois em $PATH e por fim nas localizações keg-only do e2fsprogs do Homebrew.

Quando recorrer a ele

O navegador transforma o disco de um espaço de trabalho parado em algo que pode inspecionar e do qual pode recuperar dados a partir do anfitrião:

  • Recuperar um ficheiro de um espaço de trabalho que prefere não arrancar — retire uma alteração não confirmada ou um registo de home.img com Extrair….
  • Inspecionar um ponto de verificação antes de reverter, para confirmar que contém o que espera. Combine isto com Restaurar pasta pessoal… e Repor para a base…, ambos abordados em pontos de verificação e reversão.
  • Salvar um espaço de trabalho que não arranca — substitua um ficheiro de configuração defeituoso no local e depois execute o fsck se a escrita tiver deixado o journal a necessitar de recuperação. Consulte Resolução de problemas para o diagnóstico de falhas de arranque.

Predefinições para programadores

Dois parâmetros de baixo nível são lidos do domínio UserDefaults da aplicação, io.bromure.agentic-coding. Defina-os com defaults write enquanto a aplicação não estiver em execução e depois reinicie:

ChaveEfeitoPredefinição
vm.homeImageGBTamanho aparente (visível pelo convidado), em GiB, de uma imagem de pasta pessoal ext4 recém-criada. O ficheiro do anfitrião é esparso, pelo que isto não tem custo inicial. Limitado a 8–1024.64
vm.mtuLimite de MTU para a NIC principal de uma VM de espaço de trabalho, escrito no convidado em cada arranque. A predefinição de 1280 é segura para VPN (WireGuard, IKEv2 e caminhos PMTU empresariais).1280

Por exemplo, para fazer com que as imagens de pasta pessoal de futuros espaços de trabalho apareçam como 128 GiB:

defaults write io.bromure.agentic-coding vm.homeImageGB -int 128

Nota: vm.homeImageGB afeta apenas as imagens de pasta pessoal criadas após a alteração; as imagens existentes mantêm o seu tamanho. Uma imagem de pasta pessoal pode ser aumentada mais tarde (um truncamento online mais resize2fs) mas não reduzida.

Dica: Para trabalho genuinamente descartável, bromure-ac vm run --rm arranca um espaço de trabalho descartável ao estilo do Docker cujo disco é eliminado quando a VM para — documentado em Automatização e a CLI.