Quero corromper intencionalmente um arquivo em um sistema de arquivos ext4 para teste. Existe uma maneira de corrompê-lo, digamos, deixando um arquivo aberto e depois reinicializando?
dd
necessária ..
Quero corromper intencionalmente um arquivo em um sistema de arquivos ext4 para teste. Existe uma maneira de corrompê-lo, digamos, deixando um arquivo aberto e depois reinicializando?
dd
necessária ..
Respostas:
Deseja recuperar-se? Ou quão corruptos estamos falando?
Eu usaria dd
, um utilitário de transferência de bloco.
dd if=/dev/urandom of=/dev/sdWV count=X bs=Y seek=Z
Onde
sdWV é o dispositivo que você deseja corromper
X é o número de bloqueios que você deseja escrever
Y é o tamanho de cada bloco
Z é o local da partição em que você deseja começar a corromper os dados
Certifique-se de fazer um backup antes de fazer qualquer corrupção.
Aqui, a fonte da imagem será /dev/urandom
um fluxo que apenas gerará dados aleatórios, substituindo tudo e qualquer coisa no seu dispositivo.
Se você omitir a count
diretiva, ela continuará gravando até que o dispositivo esteja cheio.
editar
Desculpe a corrupção no seu sistema atual - o título e o corpo da postagem diferem muito. Corromper um sistema de arquivos e corromper um arquivo são bem diferentes ...
Se você quiser corromper o arquivo, ainda poderá usar o dd, mas a saída substituirá um arquivo existente - não o dispositivo de bloco real.
~ > echo "this is a test file that is about to be corrupted" > test_file
~ > cat test_file
this is a test file that is about to be corrupted
~ > dd if=/dev/urandom of=test_file bs=8 count=1 seek=1
1+0 records in
1+0 records out
8 bytes (8 B) copied, 0.007185 s, 1.1 kB/s
~ > cat test_file
this is \o♣▒▒▒_C~ >
offset
deveria ser seek
não?
/sbin/init
. existe uma corrupção mais controlada que pode corromper um arquivo que mora no meu diretório pessoal e forçar o sistema de arquivos a remontar como somente leitura?