Meu servidor em nuvem Ubuntu deixou apenas 900 MB de espaço em disco.
Vou apenas esvaziar o diretório / tmp e me perguntar se há algum outro local para limpar.
sudo docker container prune -f && sudo docker image prune -f
Meu servidor em nuvem Ubuntu deixou apenas 900 MB de espaço em disco.
Vou apenas esvaziar o diretório / tmp e me perguntar se há algum outro local para limpar.
sudo docker container prune -f && sudo docker image prune -f
Respostas:
sudo apt-get autoremove
Isso pode limpar muitos gafes (kernels antigos, etc.) que foram substituídos. Você pode fazer algo semelhante no Synaptic (carregue-o e selecione o botão de status e depois a opção Removível automaticamente).
aptitude
vez de apt-get
, ele pode limpar à medida que avança, mas é bastante comum que instalações mais antigas coletem uma série de kernels instalados à medida que as atualizações de segurança são lançadas.
dpkg --get-selections | grep linux-image
).
Para excluir pacotes baixados (.deb) já instalados (e não mais necessários)
sudo apt-get clean
Para remover todos os arquivos armazenados em seu cache para pacotes que não podem mais ser baixados (portanto, pacotes que não estão mais no repositório ou que possuem uma versão mais recente no repositório).
sudo apt-get autoclean
Para remover pacotes desnecessários (Depois de desinstalar um aplicativo, pode haver pacotes que você não precisa mais)
sudo apt-get autoremove
Para excluir versões antigas do kernel
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
Se você não souber qual versão do kernel remover
dpkg --get-selections | grep linux-image
Fonte: Limpiando Ubuntu: comandos e programas (atualização) ( traduzido pelo Google )
clean
liberou bastante espaço. Imediatamente depois, corri autoclean
e meu espaço livre caiu 45 MB. A execução clean
novamente liberou esse espaço extra.
dpkg --get-selections | grep linux-image
que me causou um erro de inicialização - o ubuntu desapareceu do menu de inicialização grub - esta resposta corrigido o problema - tente não remover a última imagem
sudo apt-get clean
Ele irá simplesmente remover os pacotes de toda a cópia local dos pacotes que você possa ter baixado ao fazer uma instalação + atualização. Isso quase esvaziará o diretório / var / cache / apt / archives. ... Então, da próxima vez que você executá- sudo apt-get update
lo, baixará novamente tudo (já está lá). Apenas um alerta! .. :) #
mostre os 10 maiores subdiretórios no diretório atual.
du -sk * | sort -nr | head -10
use filelight ou kDirStat para ver para onde o espaço em disco está indo visualmente
verifique se você possui kernels antigos para exclusão
ls -lh /boot
pacotes de limpeza
sudo apt-get autoremove
sudo apt-get autoclean
veja a lista de todos os pacotes instalados, classificados por tamanho. Se você vir algo grande e não o usar, desinstale-o
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
limpe arquivos de idioma não utilizados com traduções (existem muitos)
sudo apt-get install localepurge
verifique o conteúdo de / var / tmp /
du -sh /var/tmp/
verifique também
man deborphan
Procure arquivos grandes:
find / -type f -size +1024k
ou
find / -size +50000 -exec ls -lahg {} \;
grandes pacotes instalados
dpigs
isso faz parte do pacote: debian-goodies
ncdu
, que fornece uma maneira rápida de ver o que os diretórios estão usando o espaço em disco
kDirStat
é substituído porbaobab
Acabei de liberar quase 2 shows removendo kernels antigos e arquivos de cabeçalho:
usar
uname -r
para verificar sua versão atual,
dpkg -l linux-image-* linux-headers-*
para ver todos os kernels e arquivos de cabeçalho antigos,
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
o apt-get remove
comando suporta caracteres curinga, para que você possa, apt-get remove linux-image 3.0.* linux-headers-3.0.*
por exemplo, livrar-se de muitos de uma vez.
Certifique-se de não matar, remova o kernel atual, é claro! E talvez mantenha uma ou duas versões antigas, apenas por precaução ... mas não 10 ou 20!
Eu realmente recomendo o programa BleachBit, que limpa tudo no Ubuntu.
Instale-o usando o seguinte comando:
sudo apt-get install bleachbit
Alguns pacotes podem ser bem grandes. Uma maneira conveniente de encontrá-las é usar dpigs
. Não está instalado por padrão, mas pode ser encontrado em debian-goodies
( projeto GitHub )
sudo apt-get install debian-goodies
Então:
$ dpigs
419576 texlive-latex-extra-doc
204112 nvidia-319
175463 google-chrome-stable
141058 linux-image-extra-3.11.0-15-generic
113173 libreoffice-core
104822 valgrind
102322 qt4-doc
93337 blender
91105 texlive-pstricks-doc
90517 libboost1.53-dev
Existem algumas opções:
-n, --lines=N
Display the N largest packages on the system (default 10).
-s, --status=status-file
Use status-file instead of the default dpkg status file.
-S, --source
Display the largest source packages of binary packages installed
on the system.
-H, --human-readable
Display package sizes in human-readable format (like ls -lh or du -h)
-h, --help
Display this message.
Atenção: Se você acabou de atualizar o kernel, reinicie antes de excluir as versões mais antigas!
Lembre-se de verificar qual kernel você está usando, digite:
uname -r
Então como root:
sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')
leia esse tópico como seguro para não remover os kernels necessários com este comando!
Se você usa o UFW, verifique a pasta de log. Em uma das minhas máquinas, a UFW estava gerando 8 GB de logs em alguns dias.
Você também pode esvaziar o cache do apt com:
sudo apt-get clean
Tente usar o BleachBit ( localizado em sourceforge ). É um ótimo programa. a idéia básica é que ela libere rapidamente espaço em disco e remova grande parte do lixo oculto no sistema. Existem cerca de 70 aplicativos que ele pode reconhecer e limpar. Há também a capacidade de usá-lo para "limpar" o espaço livre em disco. Eu penso nisso como o CCleaner do Windows apenas para Linux.
Verifique também um grande número de arquivos de log:
sudo du -h /var/log
Ou, como o rubo77 aponta em elogios , você pode usar a ferramenta de uso do disco NCurses:
sudo ncdu /var/log
sudo ncdu /var/log
Primeiro, existe uma ferramenta para listar todas as grandes pastas e arquivos. Basta digitar 'Baobab' no iniciador. Ao remover pastas e arquivos, você não precisa de mais espaço.
Depois, existe um programa para remover arquivos duplos. O programa é chamado fslint
. Instale-o digitando
sudo apt-get install fslint
em um terminal.
ou graficamente
Você também pode limpar o cache do pacote com
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
O quarto passo é remover as entradas antigas do Kernel. Você pode fazer isso instalando e abrindo o Synaptic. No Synaptic, procure as entradas antigas do Kernel (todas as entradas do Kernel exibidas no GRUB, exceto as mais recentes) e remova-as.
Um bom passo é remover o cache do aplicativo. Faça isso instalando e executando bleachbit
:
sudo apt-get install bleachbit
ou graficamente
Importante: O cache excluído não pode ser restaurado!
O último passo é desfragmentar o sistema de arquivos. Faça o seguinte para isso:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
Com esses comandos, você baixa e compila o e2fsprogs. (Se você ou a comunidade tiver uma maneira melhor de instalar o programa, edite-o!)
Verifique também se git-core
está instalado. Caso contrário, execute:
sudo apt-get install git-core
Agora você pode executar o programa com:
cd $HOME/e2fsprogs/misc
./e4defrag /dev/sda1 #defragment /dev/sda1
./e4defrag -v /dev/sda1 # verbose output
./e4defrag -c /dev/sda1 # see overview of fragmentation status
Substitua / dev / sda1 pelo sistema de arquivos ou pasta / arquivo que você deseja. Observe que, para desfragmentar um dispositivo (como HDD), você precisa de privilégios de root, mas não para seus próprios arquivos.
Fonte (alemão): aqui
sudo apt-get install ncdu
Este script executará os maiores pedaços no console:
--purge
switch apt-get
)crie um arquivo com este conteúdo e conceda direitos executáveis:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"; RED="\033[0;31m"; ENDCOLOR="\033[0m"
if [ $USER != root ]; then
echo -e $RED"Error: must be root! Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean
echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF" # fixes the error in the original script
for PKGNAME in $OLDCONF ; do # a better way to handle errors
echo -e $YELLOW"Purge package $PKGNAME"
apt-cache show "$PKGNAME"|grep Description: -A3
apt-get -y purge "$PKGNAME"
done
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
aptitude purge $OLDKERNELS
echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW"Script Finished!"$ENDCOLOR
Adaptado de 71529-ubucleaner.sh
Algumas ferramentas que ajudarão você a encontrar grandes pastas e pacotes:
sudo apt-get install ncdu debian-goodies deborphan
sudo ncdu / # lists all folders by size on the console (like the gui `baobab`)
dpigs -H # shows large packages that you don't use
man deborphan # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge
Use o localepurge para desinstalar idiomas não utilizados no seu sistema:
sudo apt-get install localepurge
LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
while read snapname revision; do \
snap remove "$snapname" --revision="$revision"; \
done
Uma ótima ferramenta gráfica de GUI para atender todas as necessidades:
sudo apt-get install bleachbit
Além disso, você pode remover as páginas de manual e a documentação, conforme descrito no Ubuntu Wiki :
Crie um arquivo /etc/dpkg/dpkg.cfg.d/01_nodoc que especifique os filtros desejados. Exemplo:
path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
Remova o mesmo conjunto de arquivos e diretórios no postinst do projeto-configuração. Exemplo:
echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*
uname -a
. Caso você tenha feito um apt-get ugrade antes e adquirido um novo kernel, isso pode ser a causa, porque o kurnel atual que você está usando não é o mais novo que está instalado? Fazer um repoot em seguida, antes de iniciar este script
O diretório '/ tmp' nunca deve ser limpo manualmente, a menos que seja absolutamente necessário (ou seja: um aplicativo fechado não foi limpo depois de si mesmo).
Você pode pesquisar onde o espaço pode estar sendo preenchido usando o comando 'du'; geralmente locais de interesse estão dentro de '/ var'. Para nomear dois suspeitos comuns '/ var / log' e '/ var / cache'. Embora eu tenha tido alguns usuários que instalam um utilitário de backup e nunca percebem que ele cria GBs de backups incrementais em '/ var / backup', acumulados durante uma semana ou mês para preencher todo o espaço em disco.
Use o ubuntu-tweak para limpar.
ele limpa todos os * .deb que são baixados para aplicativos de instalação.
Se você já excluiu muito lixo, mas o espaço em disco não parece limpo, basta reiniciar o ubuntu. Ou, se você não quiser reiniciar, basta executar o comando como em uma pergunta semelhante .
sudo service rsyslog restart
Quando preciso liberar mais espaço nos servidores, uso este comando. Ele encontra todos os arquivos maiores que 50 MB e "du -h" cria uma lista melhor de arquivos e "sort -n" após o pipe torna a lista classificada numericamente por tamanho de arquivo.
find / -size +50M -type f -exec du -h {} \; | sort -n
ncdu /
vez
du -h
, use sort -h
também.