Como posso preservar os atributos de arquivo do Windows ao copiar arquivos no Linux?

Como posso preservar os atributos de arquivo do Windows ao copiar arquivos no Linux?

Estou usando um script Bash personalizado em execução em uma máquina Linux para duplicar em massa unidades USB formatadas em FAT32.

Preciso preservar os atributos de arquivo do Windows, como "oculto".

Eu uso rsync(ou ddcom finde mkdirna versão mais recente para forçar a sincronização de E/S para melhor estabilidade e uso ideal da largura de banda).

Eu tentei cegamente -Xe -Amudei para rsync, que supostamente preserva alguns atributos de arquivo, mas eles não parecem funcionar para atributos de arquivo do Windows.

Existe alguma maneira de ler e gravar atributos de arquivos do Windows em um ambiente Linux?

Eu poderia aplicá-los depois de copiar se não houvesse uma maneira mais fácil.

Não quero ddum sistema de arquivos de origem inteiro, porque isso não será otimizado, especialmente quando você precisar gravar centenas de unidades. Às vezes, as unidades têm 16 GB de capacidade e apenas alguns GB de arquivos nelas - e um idiota ddcopiaria todos os 16 GB, demorando muito para que isso funcionasse na produção.

Pesquisei na web, mas parece que os atributos estendidos do Linux não têm nada a ver com os atributos de arquivo do Windows e não encontrei nenhuma maneira de ler e gravar essas informações (ou apenas copiá-las com os arquivos).

Responder1

Posso pensar em algumas maneiras de lidar com isso.

A primeira é usarMtoolspara copiar os arquivos. Para que isso funcione, você precisariadefinir “unidades”(digamos A: para a unidade de origem, B: para o destino), então você poderá copiar tudo, preservando atributos e carimbos de data e hora, usando

mcopy -s -p -m a: b:

(não testado).

A segunda é pós-processar os atributos usando fatattr(que está disponível na maioria das distribuições). Ele lida com sistemas de arquivos montados, então você copiaria seus sistemas de arquivos da mesma maneira que faz atualmente, depois usaria fatattrpara listar todos os atributos FAT de todos os arquivos de origem e analisaria isso para instruir fatattra definir os atributos apropriadamente nos arquivos de destino .

informação relacionada