Qual método de arquivamento (tar, zip, 7z, etc.) permite reter datas de modificação de pastas no macOS?

Qual método de arquivamento (tar, zip, 7z, etc.) permite reter datas de modificação de pastas no macOS?

Atualmente tenho um diretório em um disco rígido, digamos, TopFolderque contém 3 subpastas, Folder1, Folder2e Folder3.

Quando estou no diretório de nível superior do disco rígido e faço:

tar cf TopFolder.tar Folder1 Folder2 Folder3

ele cria um tararquivo que, quando extraído, torna as datas modificadas de Folder1, Folder2e Folder3iguais à hora em que foram extraídas.

Percebi que zipnão tem esse problema e mantém as datas modificadas de Folder1, Folder2e Folder3. Geralmente, zipé mais lento devido à compressão. Existe um bom método para arquivar pastas se eu precisar que as datas de modificação permaneçam como estão, sem depender de zip? Existe um método no 7z que seja tão rápido quanto tarsem compactação? Obrigado!

Meu tar é bsdtar 3.3.2 em um Mac.

Responder1

ele cria um arquivo tar que, quando extraído, torna as datas modificadas da Pasta1, Pasta2 e Pasta3 iguais à hora em que foram extraídas.

Você tarfunciona de maneira peculiar ou talvez você esteja ignorando alguma coisa (por exemplo, você adiciona imediatamente novos arquivos aos diretórios descompactados) porque, tarpor padrão, restaura as datas de modificação dos diretórios. Acabei de verificar usando o tar versão 1.32 no Fedora 32.

Existe um método no 7z que seja tão rápido quanto o tar sem compactação? Obrigado!

Você não precisa do 7z, mas sempre pode usar o método de compactação de armazenamento no 7z, por exemplo

7za a -mx=0 -ms=off -mhc=off archive.7z <files>

informação relacionada