disk full: não é possível instalar pacotes de software

2

Estou tentando baixar um enorme pacote python e, de repente, vejo esse problema de trituração do espaço. Quando eu executo o comando df -h , ele mostra:

[root@darwin ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       5.0G  5.0G  0.0G 100% /
devtmpfs        7.9G     0  7.9G   0% /dev
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G   17M  7.9G   1% /run
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/0

Eu posso ver apenas /dev/vda1 atingiu 100% de sua capacidade. Mas os outros sistemas de arquivos são gratuitos, porque não podem ser usados para instalação de pacotes?

    
por aniztar 02.07.2018 / 06:02

3 respostas

9

devtmpfs contém nós que são preenchidos pelo kernel com informações sobre dispositivos, etc.

tmpfs é realmente armazenado na memória, embora apareça como um sistema de arquivos montado. O conteúdo de tmpfs pode ser trocado para o espaço de troca, mas tudo desaparecerá quando o sistema for reinicializado.

Provavelmente, você pode liberar algum espaço, mas essa é apenas uma solução temporária, pois os logs, os dados e a instalação de mais pacotes só serão preenchidos novamente. 5GB não é espaço suficiente no longo prazo.

A única maneira de resolver permanentemente seu problema é adicionar mais espaço de armazenamento permanente ao seu sistema.

    
por 02.07.2018 / 06:28
3

Um disco de 5GB não é grande, mas pode até mesmo ter distribuição Linux com GUI e um número de aplicativos padrão.

Você deve descobrir qual diretório usa a maior parte do espaço em disco. Use Uso de disco du para isso:

du -sm / | sort -n

O último diretório nessa lista usa o espaço mos.

Por exemplo pode ser /var . Em seguida, execute o comando mais detalhado:

du -m /var | sort -n

Como exemplo, pode-se ver que /var/cache/apt/archives ocupa 418MB:

418     /var/cache/apt/archives
472     /var/cache/apt
482     /var/cache
706     /var

Quando você encontrar o diretório que usa mais espaço, você poderá excluir arquivos som:

sudo rm /foo/bar

Se a sua distribuição é como uma distro do Debian, você pode remover pacotes já instalados com:

sudo apt-get clean
    
por 02.07.2018 / 07:55
1

Para responder diretamente à sua pergunta, a principal razão pela qual esses sistemas de arquivos não podem ser usados para a instalação do pacote, porque eles não estão montados onde os arquivos do pacote vão (normalmente divididos entre / etc e / usr). Analisando seu df -h:

devtmpfs        7.9G     0  7.9G   0% /dev

Isso é usado para rastrear dispositivos através de seus ponteiros do sistema de arquivos. Pacotes não entram em / dev. O ideal é que apenas dispositivos entrem em / dev.

tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G   17M  7.9G   1% /run

Estes são todos sistemas de arquivos temporários diferentes, localizados em /dev/shm ("memória compartilhada") e /run .

tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup

Isso, assim como / dev, tem um propósito muito específico, que está além do escopo desta resposta até para começar a descrever.

tmpfs           1.6G     0  1.6G   0% /run/user/0

Este é um último tmpfs designado especificamente para o usuário root (uid 0).

Nenhum desses seria bons candidatos para a instalação de pacotes, porque quando você reinicia seu conteúdo é esvaziado. É possível que você apenas armazene arquivos compactados no disco e faça um overlay tmpfs e reinstale todos os pacotes a cada inicialização, mas as chances são de que se você tiver apenas 5GB de armazenamento é um dispositivo embutido e levaria muito tempo para inicializar se você fez isso. Seria um projeto bem legal.

    
por 02.07.2018 / 18:35

Tags