As 3 principais maneiras de corrigir o erro “Sem espaço no dispositivo” no Linux

Erros sem uma causa clara são os problemas mais irritantes de se lidar. E enquanto o Linux(Linux) geralmente é específico em suas mensagens de erro, esta é uma das poucas vezes em que deixa a bola cair.

Receber um erro "Nenhum lugar restante no dispositivo" explica muito pouco, especialmente se sua unidade estiver longe de estar cheia. Por que esta mensagem de erro está aparecendo? Por que você não pode criar novos arquivos apesar de ter espaço suficiente no disco? E o mais importante, como você conserta isso?

Vamos descobrir.

Seu disco rígido realmente tem espaço suficiente(Hard Drive Actually Have Enough Space) ?

Antes de se apressar para encontrar uma correção, certifique-se de que há um problema, para começar. Afinal, se o espaço em disco realmente se esgotou em seu sistema, não há necessidade de entrar em pânico. Você pode simplesmente remover dados desnecessários para liberar mais espaço.

Existem dois comandos do sistema Linux para obter informações sobre o espaço em disco – du e df. (Linux)O comando du estima o uso do espaço em disco, enquanto o comando df analisa o espaço livre presente no disco. Usá-los em conjunto com o sudo fornece um relatório preciso de quanto espaço está realmente disponível no disco.

  1. Vamos começar com o comando du. Sua saída pode ser bastante longa e complicada, então usaremos os sinalizadores -s e -h. -s resume os resultados, enquanto -h garante que seja legível por humanos. Então digite o comando sudo du -sh / onde / aponta para o diretório base.

  1. Não se preocupe com todas as mensagens de permissão negada – é assim que ele percorre todos os subdiretórios do sistema. Dependendo do tamanho da unidade, talvez seja necessário deixá-la funcionando por um tempo, pois ela percorre tudo recursivamente.

  1. Quando du terminar a varredura, ele exibirá uma lista simples de diretórios junto com seus tamanhos. Por exemplo, esta é a saída do comando du aplicado a um diretório comum.

Agora vamos usar df para ver quanto espaço livre está disponível. O comando df é muito mais simples de usar, pois mostra apenas os sistemas de arquivos montados e suas estatísticas de uso. Mais uma vez, usaremos o sinalizador -h para tornar a saída legível.

sudo df -h

A ideia é somar os resultados dos comandos du e df. Qualquer discrepância aponta para espaço em disco que não está disponível gratuitamente apesar de não ser usado por nenhum arquivo ou pasta.

Por que o Linux mostra(Does Linux Show) “Sem espaço(Space Left) no dispositivo”?

Se você estiver vendo a mensagem de erro “Sem espaço no dispositivo” apesar de haver espaço livre suficiente em seu disco, não é o hardware que está com defeito. Descobrir a causa exata do erro pode exigir um pouco de solução de problemas.

  • Arquivo excluído recentemente: o motivo mais comum para ver esse erro é um arquivo excluído recentemente. Muitas vezes, um arquivo é excluído enquanto um processo ainda o está usando, mantendo o espaço reservado mesmo que o arquivo já tenha desaparecido.
  • Inodes insuficientes(Enough Inodes) : Outra causa frequente é não ter inodes suficientes . Os inodes são as páginas de índice de um sistema de arquivos Unix , contendo os metadados de cada arquivo armazenado. No entanto, os inodes não são ilimitados e a falta de inodes antes do espaço de armazenamento pode causar o erro "Sem espaço no dispositivo".
  • Falha no disco rígido(Hard) : então, é claro, existe a possibilidade de que o disco rígido esteja simplesmente falhando e grande parte do espaço livre aparente seja ocupado por setores defeituosos. Como o sistema não grava nenhum arquivo nesses locais, ele gera um erro.

Correção 1: reinicie processos usando arquivos excluídos(Using Deleted Files)

A causa mais provável do erro “Sem espaço no dispositivo” é um processo que ainda usa um arquivo excluído. Felizmente, corrigir esse erro é fácil. Você só precisa reiniciar o processo(restart the process) para liberar o armazenamento reservado.

  1. Para encontrar o processo problemático, você precisa usar os comandos lsof e grep. O comando lsof fornecerá uma lista de todos os arquivos abertos sendo usados ​​pelos processos em execução, e o grep pode restringir a seleção aos que foram excluídos. Então digite sudo lsof / | grep delete onde / é o diretório base e | um pipe para vincular a saída do lsof ao grep.

  1. Agora você pode reiniciar o processo afetado com o comando sudo systemctl restart service_name, onde o nome do serviço é o nome do serviço que apareceu na pesquisa.

  1. Se houver vários processos como esse ou você simplesmente não quiser se preocupar em encontrar serviços específicos, basta redefini-los com o comando sudo systemctl daemon-reload. Isso regenera todas as dependências, levando em consideração quaisquer alterações no sistema de arquivos.

Depois disso, o espaço de armazenamento retido pelo processo deve estar disponível novamente, permitindo que você grave arquivos sem erros.

Correção 2: verifique os inodes

Embora cada unidade tenha um grande número de inodes, ela é finita. E se o seu sistema estiver cheio de um número incrível de arquivos, é possível atingir esse limite antes de esgotar a capacidade de armazenamento da unidade. É por isso que é melhor ter arquivos grandes do que muitos pequenos.

Você pode verificar facilmente a disponibilidade de inodes usando o sinalizador -i com o comando df. Assim:

sudo df -i

Isso informará claramente o número total de inodes presentes no sistema de arquivos, juntamente com a quantidade atualmente em uso. Se não houver inodes livres em seu sistema, esta é a fonte do erro “Sem espaço no dispositivo”.

Como os inodes são criados apenas na primeira formatação da unidade, não há como gerar mais inodes. Tudo o que você pode fazer é excluir todos os arquivos desnecessários para liberar inodes para arquivos futuros.

Correção 3: marque blocos ruins

A(Data) corrupção de dados é o destino inevitável de qualquer disco rígido. Embora uma nova unidade não tenha esse problema, os discos rígidos mais antigos gradualmente começarão a ficar “ruins”.

O que isso significa é que partes do disco rígido se tornam inutilizáveis, mesmo que o sistema de arquivos ainda as considere funcionais. Esses blocos defeituosos inflam falsamente o espaço livre aparente na unidade, quando na verdade nenhum arquivo pode ser gravado neles. Isso leva a um erro "Sem espaço no dispositivo", pois o sistema operacional tenta e falha ao armazenar dados nesses locais.

Não há uma maneira real de corrigir esse problema, pois setores defeituosos são resultado do desgaste físico de um disco rígido. A única coisa que você pode fazer é marcar os setores defeituosos para que eles não sejam mais referenciados pelo sistema de arquivos.

Fazer isso requer que você inicialize a partir de um Live CD , pois não é possível executar uma verificação do sistema de arquivos(File System Check) em uma unidade em execução. Feito isso, basta usar o seguinte comando:

sudo fsck -vcck /dev/sda

Isso substitui o /dev/sda pelo caminho da unidade que você deseja reparar. Isso detectará automaticamente todos os blocos defeituosos na unidade e os marcará como inutilizáveis. No entanto, ele não oferece capacidade de armazenamento extra, portanto, esteja preparado para limpar alguns arquivos inúteis para liberar espaço na unidade.

Qual é a melhor maneira de corrigir o erro "Sem espaço no dispositivo"?

O motivo usual para ver um erro “Sem espaço no dispositivo” no Ubuntu ou em qualquer outra distribuição Linux é um arquivo excluído que ainda está sendo usado por um processo em execução. Isso reserva o armazenamento que estava ocupado pelo arquivo, evitando que outras operações gravem dados nesse espaço.

Corrigir esse problema também é o mais fácil, pois tudo o que você precisa fazer é reiniciar o processo em questão. As outras causas do erro, no entanto, não são tão fáceis de resolver.

Se sua unidade está atormentada por blocos de dados ruins ou ficou sem inodes, não há uma maneira direta de corrigir esses problemas. Você deve excluir os arquivos existentes para liberar espaço para que novos dados sejam gravados.



About the author

Sou um especialista em computadores com mais de 10 anos de experiência e me especializei em ajudar as pessoas a gerenciar seus computadores em seus escritórios. Escrevi artigos sobre tópicos como otimizar sua conexão com a Internet, como configurar um computador para a melhor experiência de jogo e muito mais. Se você está procurando ajuda com qualquer coisa relacionada ao seu trabalho ou vida pessoal, eu sou a pessoa para você!



Related posts