O Linux retorna “Não há espaço disponível no dispositivo” durante a cópia de dados em uma unidade flash USB não cheia

2

Estou tentando copiar um arquivo para uma unidade flash USB. A unidade não possui uma chave de proteção contra gravação.

df fornece o seguinte:

$ df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sde1       1.9G  622M  1.3G  33% /media/lindenb/803C-078D

df -i produz uma saída estranha para mim (0 em todos os lugares)

$ df -i .
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sde1           0     0     0     - /media/lindenb/803C-078D

Número de arquivos na unidade:

$ find . |wc -l
170

Mas quando tento copiar um arquivo, recebo isso:

$ mv ~/file.txt ./
mv: cannot create regular file ‘./file.txt’: No space left on device

Como posso corrigir isso?

    
por Pierre 20.12.2014 / 15:49

2 respostas

5

O diretório raiz em um sistema de arquivos FAT16 pode armazenar apenas um número limitado de entradas de arquivos

  • O seu pen drive tem 2 GB de tamanho. Este é o tamanho máximo do sistema de arquivos suportado pelo FAT16. Como tal, é provável que tenha sido formatado com o sistema de arquivos FAT16 da fábrica.

  • Devido a uma limitação técnica no sistema de arquivos FAT16, apenas um número limitado de entradas de arquivo pode ser armazenado no diretório raiz. Esse limite é definido quando o sistema de arquivos é formatado ( source ). As entradas de diretório (que podem incluir informações nome de arquivo longo ), mas não o conteúdo dos diretórios, contam para esse limite.

  • Para resolver este problema, converta o sistema de arquivos para FAT32 . No Linux, pode ser simplesmente melhor mover todos os arquivos para um local temporário, desmontar a unidade, reformatar para FAT32 com mkfs.vfat -F 32 /dev/sde1 e montar a unidade e mover os arquivos de volta.

    
por 20.12.2014 / 16:05
0

Quando percebi isso, descobri que, por motivos que nunca entendi completamente, o dispositivo USB se colocava no modo somente leitura ou era marcado pelo SO como somente leitura. A única maneira que encontrei para corrigi-lo foi fazer o backup das informações no dispositivo flash e recriar sua tabela de partições, partições e sistema de arquivos. No Linux, você faria isso com o fdisk ou um editor de partições como o gparted ou o KDE Partition Manager (a última vez que fiz isso, o fdisk e o gparted não tocariam nele devido a uma entrada recursiva na tabela de partições, e eu tive que execute o processo duas vezes no Gerenciador de partições do KDE antes que ele ocorra).

    
por 20.12.2014 / 15:53