Você provavelmente está sofrendo de armazenamento em buffer de cache . Para acelerar a gravação em dispositivos USB (e discos rígidos em geral), o Linux usa um cache de sistema de arquivos:
Quando você (pensa) escreve algo no bastão, ele é primeiro gravado no cache (na RAM) e o comando cp
(por exemplo) retorna imediatamente, fingindo uma operação de gravação realmente rápida. Enquanto você faz outras coisas, o conteúdo do cache é então gravado no bastão em segundo plano. Você pode notar que um LED no bastão ainda pisca mostrando operações de gravação (depende do seu bastão), embora nada aparente aconteça.
Quando você emite umount
logo após uma operação de gravação, o umount
aguarda até que todo o conteúdo do cache do sistema de arquivos seja gravado no gravador para garantir que nenhum dado seja perdido.
Com sync
, você pode forçar manualmente o esvaziamento do cache e gravar os dados no dispositivo. No entanto, isso não acelera o tempo total decorrido, porque você terá que aguardar a conclusão do sync
(em vez de esperar por umount
). Mas o umount
retornará instantaneamente porque o cache já está liberado.
Em resumo, você tem três opções depois de copiar arquivos grandes ou muitos para o pau:
-
umount
e aguarde 10 minutos para concluir -
sync
, aguarde 10 minutos para concluir, seguido porumount
(retornará quase imediatamente) - simplesmente espere por 10 minutos (talvez um pouco mais) e não faça nada (ou algo não relacionado ao bastão) e então emite
umount
. Como o cache é gravado automaticamente em segundo plano,umount
retornará quase imediatamente também.