O que faço quando meu sistema de arquivos raiz está cheio?


33

Minha pasta / está lendo como cheia e não consigo atualizar o software ou fazer qualquer coisa.

Não tenho certeza do que estou fazendo de errado aqui.

$ df -h
Results:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             5.7G  5.4G     0 100% /
udev                  1.9G  4.0K  1.9G   1% /dev
tmpfs                 770M  1.1M  769M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  1.9G  808K  1.9G   1% /run/shm
/dev/sda6             961M   18M  895M   2% /tmp
/dev/sda7             9.9G  2.9G  6.6G  31% /home
/dev/sda3             5.7G  140M  5.3G   3% /usr/local
/dev/sda4             2.9G  1.3G  1.4G  49% /var
/dev/sdb1              94G  1.3G   88G   2% /sites
/home/username/.Private  9.9G  2.9G  6.6G  31% /home/username
/dev/sdb5             282G   88G  180G  33% /mnt/multimedia


$ df -h /
Results:
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       5.7G  5.4G     0 100% /

$ du /mnt /media
Results:
4   /mnt/multimedia
8   /mnt
4   /media

Esta é uma nova instalação do Ubuntu 12.04 e não tenho certeza de como / por que o sistema raiz está tão cheio.


Hã. Eu acho que está cheio, de alguma forma. Ajustei as perguntas com zwets sugeriu saídas
Jesse

Para mim, foi preenchido por kernels ultrapassados e eu limpei-os com este dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge Got-lo do Ubuntu Community Help
RajaRaviVarma

Respostas:


30

Algumas medidas prováveis ​​para uma partição raiz que transborda são (com base nos casos):

1. Despejos de núcleo preenchendo o disco.

Verificar com:

find / -xdev -name core -ls -o  -path "/lib*" -prune

2. Pacotes desnecessários preenchendo o espaço.

O comando a seguir removerá todos os pacotes instalados automaticamente, que não são mais necessários. (Porque a dependência que força a instalação no passado foi removida.)

apt-get autoremove --purge 

3. Pacotes desatualizados do kernel

Verifique quantos pacotes de kernel estão instalados e remova versões desatualizadas do kernel. Você pode investigar a situação atual com:

dpkg -l "linux*{tools}*" |grep ^.i

Remova todas as versões do kernel que você não precisa mais

4. Armazenamento oculto

Outras partições montadas podem ocultar o armazenamento usado. Para investigar isso, monte o sistema de arquivos raiz temporariamente em um segundo local:

mkdir /tmp/2ndRoot
mount /dev/sda1 /tmp/2ndRoot

Agora observe todos os diretórios que normalmente estão ocultos por outra montagem, por exemplo:

  • tmp
  • casa
  • corre
  • var
  • usr / local

    e no seu caso também:

  • sites

Embargo

Não se esqueça de controlar no final a consistência da sua instalação com:

apt-get install -f

Notas

Armazenamento reservado

/dev/sda1       5.7G  5.4G     0 100% /

A saída mostra que você ainda tem algum espaço, mas parece estar reservado para a raiz. O ponto positivo é que a funcionalidade do sistema ainda está sendo fornecida.

Mas você deve corrigir o problema em breve.

Consumo de espaço do ubuntu 12.04

Ter apenas 5,7 Gb para uma instalação do ubuntu parece um pouco pequeno. Você deve remover alguns pacotes de software não essenciais.

Minhas instalações atuais têm 10-14 Gb para as /usrpartições raiz e binária (aka ).


Obrigado, acabei de aumentar a partição raiz e ficarei de olho nela caso precise trabalhar em seu truque para exibir todas as pastas (talvez local / bin?). Estranho que a ferramenta do analisador de espaço em disco tenha me levado a acreditar que eram as unidades montadas em / media /, pois estavam todas vermelhas e cheias.
Jesse

@ H.-Dirk Schmitt 1,3 GB reduzido por este comando "apt-get autoremove --purge". Obrigado pelos detalhes.
sugunan 20/09

28

Apenas para compartilhar um comando mágico para saber para onde vai todo o espaço em disco:

sudo du -hsx /* | sort -rh | head -n 40

Você acaba com um relatório bem organizado como este:

16G     /home
5.3G    /var
2.6G    /usr
840M    /run
277M    /root
171M    /lib
59M     /tmp
25M     /sbin
19M     /boot
16M     /bin
9.6M    /etc
136K    /ngx_pagespeed-latest-stable.zip
24K     /DEBIAN
16K     /lost+found
8.0K    /media
4.0K    /srv
4.0K    /opt
4.0K    /mnt
4.0K    /lib64

Então você pode começar novamente a partir de outra pasta:

sudo du -hsx /home/* | sort -rh | head -n 35

Remova o que não é necessário e você deve ficar bem. Faz parte da minha folha de dicas do linux


Bom post e ferramenta útil para ...
George Udosen

3
E as pastas ocultas? Os que começam com um ponto.
John Red

@JohnRed Tal como para o seu diretório pessoal:du -hsx $(ls -A ~/) | sort -rh
ritiek

4

Outra solução seria usar ncdu, por exemplo:

sudo ncdu -x /

Onde / é a partição / unidade que você deseja verificar. Para o meu exemplo, o resultado é

    4,0GiB [##########] /usr
  579,3MiB [#         ] /root
  487,4MiB [#         ] /opt
   41,7MiB [          ] /lib
   22,7MiB [          ] /sbin
   21,2MiB [          ] /boot
   18,6MiB [          ] /etc
    9,1MiB [          ] /bin
    3,6MiB [          ]  core
  260,0KiB [          ] /build
   88,0KiB [          ] /tmp
e  16,0KiB [          ] /lost+found
    8,0KiB [          ] /media
    4,0KiB [          ] /lib64
e   4,0KiB [          ] /srv
e   4,0KiB [          ] /mnt
>   0,0  B [          ] /var
>   0,0  B [          ] /sys
>   0,0  B [          ] /run
>   0,0  B [          ] /proc
>   0,0  B [          ] /ovhbackup
>   0,0  B [          ] /home
>   0,0  B [          ] /dev

Depois, você pode navegar pelas pastas usando as setas do teclado e simplesmente pressionar a Dtecla para excluir uma pasta / arquivo.

ncdupode ser instalado a partir da aptferramenta de empacotamento em sistemas baseados no Debian:

sudo apt install ncdu

0

Verifique a pasta "/home/yourname/.local/share/Trash" com o comando "du" (veja acima):

Eu estava tendo o mesmo problema e usei o truque mickael postado acima para imprimir de forma concisa o uso do disco. Descobri que, se você excluir as coisas usando o gerenciador de janelas e não tiver permissões suficientes no momento, os arquivos que pensou ter excluído (tanto pela linha de comando usando "rm" como "apt autoremove --purge", e esvaziando a lixeira) pode ter acabado no ".local / share / ____" da partição raiz.

O "sistema de arquivos" no painel esquerdo do gerenciador de janelas estava dizendo quase cheio dos 50 GB que eu reservei para os arquivos de instalação do Ubuntu / Mint. Acontece que as palestras que copiei por engano para esta partição não foram excluídas quando as movi para a partição para a qual originalmente pretendia copiá-las. Agora é de 36GB grátis, o que faz muito mais sentido (o meu é grande principalmente porque também mantenho gráficos HD nesta partição para uma visualização rápida de grandes conjuntos de imagens).

Definitivamente, certifique-se de entender bem as permissões antes de excluir / gerenciar seus arquivos ou pode acabar tendo coisas que você pensou que foram excluídas aglomerando seu SSD.

Como uma observação lateral, meus 16 GB de RAM estavam carregando na inicialização a 92%, enquanto minha partição raiz abrigava os arquivos excluídos e permanecia lá constantemente devido a esse mesmo problema. A ram é usada para armazenar em cache itens no disco para melhorar muito o desempenho do linux. O sistema operacional assumirá que você está usando a partição de instalação corretamente (o que não era o meu caso neste caso) e, portanto, armazenará em cache o que puder para acelerar a capacidade de resposta do sistema. Agora, isso é apenas um ponto de observação, pois o cache do disco não reserva esse espaço na memória; produziria o espaço ram usado para outros programas que precisam dele quando solicitados (é assim que o cache de disco funciona), mas é um uso desnecessário de recursos que carregam 14,5 GB de arquivos excluídos no ram toda vez que eu inicializava.

Espero que ajude! Muito obrigado pelas respostas acima, extremamente úteis!


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.