Erros de conclusão da guia: bash: não é possível criar o arquivo temporário para o documento aqui: não há espaço no dispositivo


40

Ao usar a barra de guias, continuo recebendo este erro:

bash: não é possível criar o arquivo temporário para o documento aqui: não há espaço no dispositivo "

Alguma ideia?

Eu tenho pesquisado e muitas pessoas falam sobre o arquivo / tmp, que pode estar tendo algum estouro. Quando executo df -h, recebo:

Filesystem      Size  Used Avail Use% Mounted on 
/dev/sda2       9.1G  8.7G     0 100% /
udev             10M     0   10M   0% /dev
tmpfs           618M  8.8M  609M   2% /run
tmpfs           1.6G     0  1.6G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.6G     0  1.6G   0% /sys/fs/cgroup
/dev/sda1       511M  132K  511M   1% /boot/efi
/dev/sda4       1.8T  623G  1.1T  37% /home
tmpfs           309M  4.0K  309M   1% /run/user/116
tmpfs           309M     0  309M   0% /run/user/1000

Parece que o diretório / dev / data está prestes a explodir, no entanto, se eu der uma dica:

$ du -sh /dev/sda2
0   /dev/sda2

Parece que está vazio.

Eu sou novo no Debian e realmente não sei como proceder. Eu costumava acessar esse computador via ssh. Além desse problema, eu tenho vários outros com este computador, eles podem estar relacionados, por exemplo, cada vez que quero inserir meu usuário usando a GUI (com raiz funciona), recebo:

Xsession: aviso: não é possível gravar em / tmp: o Xsession pode sair com um erro


2
Você quer executar algo como du -hxd1 /, não du /dev/sda2. /dev/sda2realmente não existe no disco.
Muni

Respostas:


19

Seu sistema de arquivos raiz está cheio e, portanto, seu diretório temporário (/ tmp e / var / tmp) também está cheio. Muitos scripts e programas requerem algum espaço para arquivos de trabalho, até para bloquear arquivos. Quando / tmp é gravável, acontecem coisas ruins .

Você precisa descobrir como preencheu o sistema de arquivos. Normalmente, os locais em que isso acontecerá é em / var / log (verifique se você está alternando os arquivos de log). Ou / tmp pode estar cheio. No entanto, existem muitas outras maneiras de preencher um disco.

du -hs /tmp /var/log

Você pode re-particionar para dar ao / tmp sua própria partição (essa é a maneira antiga de fazer isso, mas se você tiver bastante disco, tudo bem) ou mapeá-lo para a memória (o que tornará muito rápido, mas começará a causar problemas de troca se você exceder os arquivos temporários).


Oi, olhei para os dois comandos que você sugere e eu diria que ambos / tmp e / var / log estão vazios: 60K e 49M, respectivamente.
Lucasrodesg 19/04

1
Oi de novo. Eu finalmente entendi. Não sei por que coloquei todo o conteúdo da owncloud em / var. Funciona de novo!
Lucasrodesg 19/04

16

Você também pode ter perdido o acesso de gravação ao /tmp/diretório.

Deve ficar assim:

ls -l / |grep tmp
drwxrwxrwt   7 root root  4096 Nov  7 17:17 tmp

Você pode corrigir as permissões assim:

chmod a+rwxt /tmp

Isso funcionou para mim!
Joseph Chambers

3
Esse é um uso inútil do grep. Tente em ls -ld /tmpvez disso.
um CVn

você acabou de interromper um ataque de pânico quase cheio ... vale a pena votar em mim
sbeskur 15/11

10

Se alguém chegar aqui com esse erro quando o disco não estiver cheio, verifique não apenas dfmas também df -i. Há um número fixo de inodes em um sistema de arquivos e cada arquivo precisa de um. Se você possui apenas alguns arquivos pequenos, é muito fácil para o seu sistema preencher esses arquivos pequenos, enquanto ainda resta muito espaço na unidade quando você executa df.


Este foi o problema que tive! Continuei tentando encontrar o que estava ocupando espaço. Esse não era o problema. Eu tinha usado completamente os inodes. /dev/root 4980000 4980000 0 100% /Talvez o sistema deva responder com uma mensagem de erro apropriada?
ˆᵛˆ

3

Eu estava recebendo erro, então eu vi

[  672.995482] EXT4-fs (sda2): Remounting filesystem read-only
[  672.999802] EXT4-fs error (device sda2): ext4_journal_check_start:60: Detected aborted journal

Eu pude confirmar isso,

mount | grep -i sda2
/dev/sda2 on / type ext4 (ro,relatime,errors=remount-ro,data=ordered)

2

A maneira mais rápida de localizar pastas muito cheias é restringindo o tamanho do arquivo da pasta em níveis a partir da pasta raiz. Você começa com a pasta raiz:

sudo du -h --max-depth=1 /

Então - AUMENTE a profundidade, ou seja, os níveis abaixo:

sudo du -h --max-depth=2 /

OU - mais rápido - você procura qual pasta consumiu mais espaço em disco e faz o mesmo nesta pasta:

sudo du -h --max-depth=1 /home/<user>/<overfull-folder>

Depois de encontrá-lo, remova esse:

rm -rf <path to overfull-folder>

1
com muitos arquivos de saída, é bom classificá-los por tamanho com sudo du -h --max-depth=1 / | sort -h(arquivos maiores na parte inferior ou sort -hrpara arquivos maiores na parte superior)
wranvaud

0

No meu caso desse mesmo erro, foi um problema do cagefs, pois este servidor estava no CloudLinux, resolvido com cagefsctl --remount username


-2

Isso ocorre porque o espaço em disco não é suficiente, você precisa limpar arquivos grandes ou o processo que ocupa espaço:

  1. df -h Ver espaço no disco rígido
  2. du -sh /* Veja qual diretório é o maior, passo a passo, para encontrar arquivos grandes
  3. du -h --max-depth=1 encontre o maior arquivo

Isso parece apenas regurgitar a resposta do Agile Bean de junho de 2018.
tripleee 10/06
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.