Eu precisava copiar um arquivo de um sistema Ubuntu para outro sistema Ubuntu.
Verifiquei o "carimbo de data/hora modificado" do arquivo original e era 21 de abril 15:27:31. Copiei e colei em um pendrive removível.
Suponha que a unidade flash removível tenha os atributos: GPT EXT4. O registro de data e hora do arquivo é 15:27:31 na unidade removível. Esta unidade flash removível foi formatada no Ubuntu com gparted
. Cortei e colei no sistema de destino e o timestamp ainda é 15:27:31 no sistema de destino.
Suponha que a unidade Flash removível tenha os atributos: MSDOS MBR FAT32. Isso provavelmente foi formatado no Windows 10 e esses atributos são do meu rótulo manuscrito do que provavelmente é exibido gparted
no Ubuntu. O arquivo na unidade removível tem o carimbo de data/hora 15:27:31. O arquivo é cortado e colado da unidade removível no sistema de destino. O timestamp agora é 15:27:30 no sistema de destino.
Claramente, a solução é usar o dispositivo GPT EXT4, embora seja menos portátil que o dispositivo MSDOS MBR FAT32 em um ambiente "misto" de máquinas Windows e Ubuntu.
Por que o carimbo de data/hora mudou no caso da unidade removível MSDOS MBR FAT32?
De acordo com a Wikipedia, o FAT tem uma resolução de "2 segundos para o horário da última modificação" , enquanto " ext4 fornece registros de data e hora medidos em nanossegundos" . Portanto, parece seguro dizer que o FAT está perdendo o segundo extra de precisão, embora eu não tenha certeza de por que ele apenas "tem efeito" ao mover o arquivo para outro sistema de arquivos. Pode ser um erro de arredondamento. Este post de Raymond Chen pode ter algumas pistas: Por que o timestamp de um arquivo aumenta em até 2 segundos quando eu o copio para um pen drive USB?
BTW, outro motivo para não confiar em timestamps no FAT: eles não suportam fusos horários .