Como verificar se todos os caminhos / arquivos em um volume estão em conformidade com EXT3, FAT32 e HFS +

3

Eu tenho um volume com arquivos que precisam ser copiados entre máquinas Mac, Linux e Windows. Eu quero garantir que não haja surpresas com:

  • tamanho do arquivo
  • comprimento do nome do arquivo
  • conjunto de caracteres de nome de arquivo
  • número de diretórios aninhados
Estou correto em assumir que qualquer coisa (na lista acima) que seja legal em FAT32 também será válida em NTFS, EXT3 e HFS +?

Se não, existe um script / utilitário que eu possa executar, sem copiar os arquivos para todos esses tipos de volumes, que imprimirão uma lista de possíveis problemas?

    
por username 23.05.2009 / 17:12

2 respostas

5

Você está correto - o FAT32 e suas limitações (relacionadas ao tamanho do arquivo e aos limites de caracteres) serão sua maior restrição.

Para referência (para ter as informações em um só lugar):

| TYPE  | FILE SIZE | FILENAME | CHARACTER SET  | DIRECTORY | VOLUME SIZE |
| FAT32 | ~4GB      | 11/255(2)|ASCII/Unicode(2)| No (3)    | 2TB (1)     |
| NTFS  | ~16 EiB(5)| 255      | Unicode(6)     | No (4)    | 16 EiB      |
| EXT3  | 16GB/2TB  | 255      | Unicode        | No        | 16GB/32TB(7)|
| HFS+  | ~8 EiB    | 255      | Unicode        | Unlimited | ~8 EiB      |
| ZFS   | 16 EiB    | 255      | Unicode        | Unlimited | 16 EiB      | 
  1. É possível chegar a 8 TB com clusters de tamanho de 64k.
  2. O próprio FAT32 suporta 11 nomes de arquivo de caractere (8.3) usando ASCII, com suporte ao nome de arquivo longo, ele é aumentado para 255 caracteres UTF-16. Caracteres ASCII Excluídos são: " * / : < > ? \ |
  3. Embora não haja limite no número de subdiretórios, você tem um limite de caminho de 260 caracteres. (Este foi o limite no Windows 95/98 - é 4096 no Linux)
  4. Como o FAT32, não há limite em subdiretórios, mas você tem um limite de caminho de 32767.
  5. EiB = exbibyte = 2 ^ 60 bytes. 1 exbibyte = 1024 petabytes. 1 petabyte = 1024 terabytes.
  6. O NTFS possui o mesmo conjunto de caracteres não permitidos como FAT 32 ( " * / : < > ? \ | )
  7. Os limites máximos dependem do tamanho do bloco.

Para mais informações, um bom bloco inicial é a Comparação de sistemas de arquivos da Wikipédia, mas é bastante vaga em alguns detalhes.

    
por 23.05.2009 / 19:07
0

Não conheço nenhum utilitário desse tipo, mas o que me vem à mente é que você pode ter um conjunto de máquinas virtuais em que é possível testar a maioria desses sistemas de arquivos usando um script.

Basta usar um script para copiar um conjunto de arquivos de exemplo para cada partição e ver se ele gera um erro.

    
por 23.05.2009 / 17:20