Como Corrigir o Erro “Sem Espaço Disponível no Dispositivo” no Linux

Recurso Sem Espaço No Dispositivo

Na maioria das vezes, o Linux é bastante específico com suas mensagens de erro. “Isso não funcionou – tente instalar este pacote.” No entanto, há uma em particular que realmente não me ajuda muito: “Sem espaço disponível no dispositivo.” O que causa isso? Eu pensei que tinha 2 TB de armazenamento, como pode estar cheio? Por onde começo a procurar? Hoje, vamos guiá-lo por tudo isso em nosso guia sobre como corrigir o erro “Sem espaço disponível no dispositivo” no Linux.

Leia também: Como Renomear Arquivos Facilmente no Linux

Verifique o Espaço Disponível no Dispositivo

Antes de prosseguir, é uma boa ideia verificar se realmente há espaço disponível no disco. Embora as ferramentas em seu ambiente de desktop sejam boas, pode ser mais rápido usar as ferramentas diretas da linha de comando.

Se você quiser usar as ferramentas em seu ambiente de desktop, elas fornecerão representações fáceis de ler das informações que você pode encontrar com essas ferramentas. Estou usando o Fedora com GNOME, e a ferramenta GNOME Disk Usage Analyzer me mostra o seguinte.

Analisador de Disco Sem Espaço No Dispositivo

Comece com du. Aponte para o diretório base no disco que está tendo o problema. Vamos supor que seja a partição com /.

sudodu-sh/

Du Sem Espaço No Dispositivo

Levará algum tempo para passar por tudo. Agora, tente com df.

sudodf-h

Df Sem Espaço No Dispositivo

Adicione / e os sistemas de arquivos montados sob ele. Por exemplo, se você tiver /home em um disco separado, adicione isso com a leitura para /. O total deve ser próximo ao que você obteve com du. Se não, isso pode indicar que um arquivo excluído está sendo usado por um processo.

Claro, a principal preocupação aqui é se os resultados desses comandos estão abaixo do tamanho do disco. Se estiver, há algo claramente errado.

Leia também: Como Executar Comandos Bash em Segundo Plano no Linux

Possíveis Causas de Sem Espaço no Dispositivo

Existem algumas causas principais aqui. Se você viu uma discrepância entre du e df, pode pular para a primeira opção aqui. Caso contrário, comece na segunda.

Arquivo Excluído Reservado por Processo

Ocasionalmente, um arquivo será excluído, mas um processo ainda está usando-o. O Linux não liberará o armazenamento associado ao arquivo enquanto o processo ainda estiver em execução, mas você pode encontrar o processo e reiniciá-lo.

Lsof Sem Espaço No Dispositivo Excluído

Tente localizar o processo.

sudo lsof /|grep deleted

O processo problemático deve estar listado. Basta reiniciá-lo.

sudo systemctl restart service_name

Se não for imediatamente evidente, faça um recarregamento completo do daemon.

sudo systemctl daemon-reload

Leia também: Corrigindo o Erro “nome_de_usuário não está no arquivo sudoers. Este incidente será relatado” no Ubuntu

Inodes Insuficientes

Há um conjunto de metadados em sistemas de arquivos chamado “inodes.” Inodes rastreiam informações sobre arquivos. Muitos sistemas de arquivos têm uma quantidade fixa de inodes, então é muito possível preencher a alocação máxima de inodes sem preencher o sistema de arquivos em si. Você pode usar df para verificar.

sudodf-i/

Inodes Sem Espaço No Dispositivo

Compare os inodes usados com o total de inodes. Se não houver mais disponíveis, infelizmente, você não pode obter mais. Exclua alguns arquivos inúteis ou desatualizados para liberar inodes.

Blocos Ruins

O último problema comum são os blocos ruins do sistema de arquivos. Os sistemas de arquivos podem se corromper ao longo do tempo, e os discos rígidos falham. Seu sistema operacional provavelmente verá esses blocos como utilizáveis, a menos que sejam marcados de outra forma. A melhor maneira de encontrar e marcar esses blocos é usando fsck com a flag -cc. Lembre-se de que você não pode usar fsck do mesmo sistema de arquivos que está testando, então você provavelmente precisará usar um CD ao vivo.

sudo fsck -vcck/dev/sda2

Obviamente, substitua a localização do disco pela unidade que você deseja verificar. Você pode encontrar isso usando o comando df da seção anterior. Além disso, tenha em mente que isso provavelmente levará muito tempo, então esteja preparado para pegar um café.

Leia também: Verifique e Repare Seu Sistema de Arquivos Com fsck [Linux]

Espero que uma dessas soluções tenha resolvido seu problema. Este problema não é exatamente fácil de diagnosticar em todos os casos. Com sorte, porém, você pode resolvê-lo e fazer seu sistema funcionar normalmente novamente.

Se você está procurando mais dicas sobre Linux, veja nosso guia sobre como configurar o Bluetooth no Linux. Ou, para algo um pouco diferente, veja como instalar o navegador Safari da Apple no Linux. Aproveite!

Leia também: 4 Maneiras de Clonar um Disco Rígido Inteiro no Linux