Modificando um arquivo “apontado” por um monte de instantâneos

2

Estou usando o btrfs e o snapper. Então, eu tenho muitos instantâneos btrfs periódicos, que são marcados como somente leitura (pode, claro, ser alterado por btrfs para r / w e alterado de volta).

Digamos que durante a minha instalação inicial eu configurei um vimrc. E digamos que agora eu queira mudar o vimrc, então se eu voltar a qualquer um dos instantâneos, meu vimrc é o novo. Sim, isso reescreve totalmente a história e vai contra a ideia de ter backups históricos. Mas digamos que eu mude os snapshots ativos frequentemente para testes e não quero ter que trocar novamente certos arquivos de configuração como este. E eu estou bem com explodir meus backups do arquivo.

Neste momento, deve haver apenas uma cópia do conteúdo do arquivo vimrc que está sendo usado / apontado, já que ele nunca foi modificado desde o primeiro snapshot.

Existe uma maneira que eu possa modificar o arquivo vimrc, para que "todos eles" sejam atualizados?

Posso ignorar a cópia na gravação durante a edição, fazendo isso apenas para o arquivo, para que os arquivos do sistema em segundo plano ainda usem o COW? Eu vejo que não posso usar NOCOW do chattr porque o arquivo não é novo ou vazio. Existe outro jeito?

Ou preciso editar o arquivo ao vivo, transformar todos os instantâneos em r / w, executar um cp -ax --reflink = always em todos os arquivos de instantâneos e transformar todos os instantâneos em r / o? Há muitos instantâneos para fazer isso. (Concedido um roteiro faria isso menos doloroso.)

    
por user1902689 27.08.2015 / 05:31

1 resposta

0

Não há como fazer isso no conjunto de ferramentas BTRFS.

No entanto:

Inicialize o sistema a partir de uma mídia ativa e abra a partição bruta (por exemplo, / dev / sda1) em um editor hexadecimal. Use a função de busca para escanear o disco para o arquivo, e faça as suas alterações em um arquivo que este curto deve ser tudo em uma extensão, então será fácil. Como o arquivo nunca foi editado, deve haver apenas uma cópia dele para ser confundida. Caso contrário, use fstrim ou ferramentas semelhantes para zerar as partes não utilizadas do disco para eliminar as cópias extranumerárias.

NOTA: O tamanho do arquivo NÃO DEVE ser alterado ou você vai estragar tudo. Você pode torná-lo mais curto e preenchê-lo com nulos ou algo assim, mas não pode torná-lo mais longo ou você irá corromper seu sistema de arquivos.

NOTA: Devido às somas de verificação BTRFS, um erro de leitura será detectado se você simplesmente montar o sistema de arquivos e tentar usá-lo. Você terá que usar as ferramentas de reparo para descartar e reconstruir toda a árvore de soma de verificação. Certifique-se de que você não tenha dados corrompidos que precisem ser recuperados antes de tentar isso.

NOTA: ISTO É UMA IDEIA MAL E QUASE CERTAMENTE NÃO VALE O ESFORÇO EO RISCO! APENAS DEIXE SEUS INSTANTÂNEOS COMO SÃO E FAZEM UMA NOTA PARA ATUALIZAR ESTE ARQUIVO SE VOCÊ TEM SEMPRE REVERTER. ESTARÁ BEM!

    
por 28.09.2017 / 20:49

Tags