Usando 'sync' ao limpar um dispositivo com / dev / urandom

2

É necessário sincronizar as gravações em cache no armazenamento persistente com o comando sync ao limpar um USB ou qualquer dispositivo com /dev/urandom ?

Esta é uma prática comum, por exemplo, dd if=/dev/urandom of=/dev/sdx && sync .

Mas isso é realmente necessário? Não há problema em omitir o comando sync ?

Observe que esta pergunta não está se referindo à opção conv=sync do utilitário dd , refere-se a sync como um comando autônomo que também pode ser usado separadamente de dd . Aqui está uma referência para sincronização e aqui está uma referência a conv = sync . Ambos são do link .

Obrigado

    
por justinnoor.io 13.06.2018 / 14:09

2 respostas

2

sync não é usado especificamente porque /dev/urandom está envolvido; é usado para garantir que todas as gravações pendentes foram enviadas para o dispositivo. Isso é especialmente importante ao usar dispositivos removíveis: executar sync e aguardar a conclusão, garante que o dispositivo possa ser removido com segurança.

Ao limpar um dispositivo, se você omitir o sync e desconectar o dispositivo, talvez você não tenha terminado de limpar o dispositivo ...

    
por 13.06.2018 / 14:12
0

A chamada sync() está relacionada a sistemas de arquivos - não a dispositivos.

Se você gravar em um dispositivo de bloco, sync() poderá causar um esvaziamento de buffer, mas se você usar o dispositivo bruto, como recomendado neste caso, sync() não faz sentido.

AVISO: no Linux, pode ser difícil descobrir o dispositivo bruto relacionado. Verifique a documentação do Linux sobre como obter o dispositivo bruto relacionado.

    
por 13.06.2018 / 15:19