Cópia em Linux para a unidade flash USB “Não há espaço disponível no dispositivo”

1

Eu tenho uma nova unidade flash USB de 16 GB. Eu estou tentando copiar uma pasta da minha unidade local para esta unidade flash. A pasta que estou tentando copiar contém cerca de 225.000 arquivos 4KB. Eu tentei copiar usando a pasta GUI e com o terminal. Ambas as vezes copia exatamente 21844 arquivos e então recebo o erro:

"não é possível criar o arquivo regular 'filename': não há espaço no dispositivo"

Eu também tenho uma cópia compactada dos arquivos e eu tentei extrair isso diretamente na unidade USB, novamente parando após 21844 arquivos.

Procurei soluções possíveis e tentei esvaziar a lixeira, mas isso não resolve o problema. Eu também tenho formatado o drive para FAT32 e tentei novamente, mas isso não funciona. Alguém tem alguma sugestão?

Estou executando o Ubuntu 12.04 e o drive USB é um ADATA S107.

    
por Herb 18.07.2013 / 02:11

1 resposta

0

Existem duas maneiras de ficar sem espaço em um sistema de arquivos: 1) Realmente ficando sem espaço para os dados 2) Execução de alguns recursos do tipo filesytem como inodes ou entradas de tabela de gordura. Muitos pequenos arquivos podem causar a falta de inodes - os sistemas de arquivos são construídos com um número padrão de inodes e que podem não atender suas necessidades. O sistema de arquivos FAT32 é limitado a 64k arquivos por diretório (max, nomes longos reduzem isso), então isso não funcionará para você a menos que você combina os arquivos pequenos com um arquivador como tar antes de copiá-los. A abordagem do arquivador deve funcionar para qualquer caso e certamente reduzirá a estresse na memória flash - pense no número de escritas no diretório bloco pode ficar enquanto está sendo construído, e espero que os drivers sejam inteligentes sobre buffering.  Talvez você devesse colocar o mesmo tipo de sistema de arquivos no stick 16G como você tem no seu disco rígido? (Eu estou supondo NTFS, desde o seu diretório limite é superior a 4 milhões).  Você pode executar mke2fs com switches para alterar o tamanho / número padrão do inode. Execute as páginas de manual

man mke2fs

para uma descrição completa.   A outra possibilidade é que você está realmente ficando sem espaço para os dados - você sabe que seus arquivos são apenas 4K, mas pergunte a si mesmo quanto espaço sistema de arquivos aloca para eles? Verifique o espaço livre deixado quando o pau diz que não há mais espaço livre de espaço indica falta de inodes. Sem espaço livre, bem, há sempre o arquivador para consertar isso também.

    
por ubfan1 18.07.2013 / 03:32