Mi servidor en la nube Ubuntu ha dejado solo 900 MB de espacio en disco.
Simplemente vaciaré el directorio / tmp y me preguntaré si hay alguna otra ubicación para limpiar.
sudo docker container prune -f && sudo docker image prune -f
Mi servidor en la nube Ubuntu ha dejado solo 900 MB de espacio en disco.
Simplemente vaciaré el directorio / tmp y me preguntaré si hay alguna otra ubicación para limpiar.
sudo docker container prune -f && sudo docker image prune -f
Respuestas:
sudo apt-get autoremove
Eso puede limpiar un montón de guff (núcleos antiguos, etc.) que han sido reemplazados. Puede hacer algo similar en Synaptic (cárguelo y seleccione el botón de estado y luego la opción de eliminación automática).
aptitude
lugar de apt-get
, puede limpiar a medida que avanza, pero es bastante común que las instalaciones más antiguas recopilen una serie de núcleos instalados a medida que salen las actualizaciones de seguridad.
dpkg --get-selections | grep linux-image
).
Para eliminar paquetes descargados (.deb) ya instalados (y ya no son necesarios)
sudo apt-get clean
Para eliminar todos los archivos almacenados en su caché para paquetes que ya no se pueden descargar (por lo tanto, paquetes que ya no están en el repositorio o que tienen una versión más nueva en el repositorio).
sudo apt-get autoclean
Para eliminar paquetes innecesarios (después de desinstalar una aplicación, podría haber paquetes que ya no necesita)
sudo apt-get autoremove
Para eliminar versiones antiguas del kernel
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
Si no sabe qué versión del kernel eliminar
dpkg --get-selections | grep linux-image
Fuente: Limpiando Ubuntu: comandos y programas (actualización) ( traducido por google )
clean
liberó bastante espacio. Inmediatamente después, corrí autoclean
y mi espacio libre se redujo en 45 MB. Correr clean
nuevamente liberó este espacio extra.
dpkg --get-selections | grep linux-image
lo que me causó un error en el arranque - el ubuntu desapareció del menú de arranque de grub - esta respuesta solucionó el problema - trate de no eliminar la última imagen
sudo apt-get clean
simplemente eliminará los paquetes de toda la copia local de los paquetes que pueda tener descargado al hacer una instalación + actualización. Esto casi vaciará el directorio / var / cache / apt / archives. ... Así que la próxima vez que sudo apt-get update
lo ejecutes volverá a descargar todo (ya está allí). ¡Solo un aviso! .. :)
muestra los 10 subdirectores más grandes del directorio actual.
du -sk * | sort -nr | head -10
use filelight o kDirStat para ver a dónde va visualmente el espacio en disco
compruebe si tiene núcleos antiguos para eliminar
ls -lh /boot
paquetes de limpieza
sudo apt-get autoremove
sudo apt-get autoclean
Vea la lista de todos los paquetes instalados, ordenados por tamaño. Si ve algo grande y no lo usa, desinstálelo
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
limpie los archivos de idioma no utilizados con traducciones (hay toneladas de ellos)
sudo apt-get install localepurge
verifique el contenido de / var / tmp /
du -sh /var/tmp/
comprobar también
man deborphan
Busca archivos grandes:
find / -type f -size +1024k
o
find / -size +50000 -exec ls -lahg {} \;
grandes paquetes instalados
dpigs
esto es parte del paquete: debian-goodies
ncdu
, que proporciona una forma rápida de ver qué directorios están utilizando su espacio de disco
kDirStat
se sustituye porbaobab
Acabo de liberar casi 2 conciertos al eliminar los núcleos antiguos y los archivos de encabezado:
utilizar
uname -r
para verificar su versión actual, entonces
dpkg -l linux-image-* linux-headers-*
para ver todos los núcleos antiguos y los archivos de encabezado, entonces
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
el apt-get remove
comando admite comodines, por lo que puede hacer, apt-get remove linux-image 3.0.* linux-headers-3.0.*
por ejemplo, deshacerse de muchos a la vez.
Asegúrese de no matar eliminar el núcleo actual, por supuesto! Y tal vez conserve una o dos versiones antiguas, por si acaso ... ¡pero no 10 o 20!
Realmente te recomiendo el programa BleachBit, que limpia todo en Ubuntu.
Instálelo con el siguiente comando:
sudo apt-get install bleachbit
Algunos paquetes pueden ser bastante grandes. Una forma conveniente de encontrarlos es usarlos dpigs
. No está instalado de forma predeterminada, pero se puede encontrar en debian-goodies
( proyecto GitHub )
sudo apt-get install debian-goodies
Entonces:
$ 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
Hay algunas opciones:
-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.
Atención: si acaba de actualizar el núcleo, reinicie antes de eliminar las versiones anteriores.
Recuerde verificar qué núcleo está utilizando, escriba:
uname -r
Luego como raíz:
sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')
¡lea ese hilo para estar seguro de no eliminar los núcleos necesarios con este comando!
Si usa UFW, verifique la carpeta de registro. En una de mis máquinas, UFW estaba generando 8Gb de registros en un par de días.
También puede vaciar el caché de apt con:
sudo apt-get clean
Intente usar BleachBit ( ubicado en sourceforge ). Es un gran programa. La idea básica es que rápidamente libera espacio en disco y elimina gran parte de la basura que está oculta en el sistema. Hay alrededor de 70 aplicaciones que puede reconocer y limpiar. También existe la posibilidad de usarlo para "borrar" el espacio libre en el disco. Pienso en ello como CCleaner desde Windows solo para Linux.
Compruebe también si hay grandes cantidades de archivos de registro:
sudo du -h /var/log
O, como rubo77 señala en los elogios, puede usar la herramienta de uso de disco NCurses:
sudo ncdu /var/log
sudo ncdu /var/log
Primero, hay una herramienta para enumerar todas las carpetas y archivos grandes. Simplemente escriba 'Baobab' en el lanzador. Al eliminar carpetas y archivos no necesita más espacio.
Luego, hay un programa para eliminar archivos dobles. El programa se llama fslint
. Instálelo ingresando
sudo apt-get install fslint
en una terminal.
o gráficamente
También puede borrar la caché del paquete con
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
El cuarto paso es eliminar las entradas antiguas del kernel. Puede hacerlo instalando y abriendo Synaptic. En Synaptic, busque las entradas antiguas de Kernel (cada entrada de Kernel que se muestra en GRUB excepto la más reciente) y elimínela.
Un buen paso es eliminar el caché de la aplicación. Haga esto instalando y ejecutando bleachbit
:
sudo apt-get install bleachbit
o gráficamente
Importante: ¡La memoria caché eliminada no se puede restaurar!
El último paso es desfragmentar el sistema de archivos. Haga lo siguiente para esto:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
Con estos comandos, descarga y compila e2fsprogs. (Si usted o la comunidad tienen una mejor manera de instalar el programa, edítelo)
También asegúrese de que git-core
esté instalado. Si no, ejecute:
sudo apt-get install git-core
o usando el Centro de software
Ahora puede ejecutar el programa con:
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
Reemplace / dev / sda1 con el sistema de archivos o carpeta / archivo que desee. Tenga en cuenta que para desfragmentar un dispositivo (como HDD) necesita privilegios de root, pero no para sus propios archivos.
Fuente (alemán): aquí
sudo apt-get install ncdu
Este script ejecutará los fragmentos más grandes en la consola:
--purge
conmutador con apt-get
)cree un archivo con este contenido y dele derechos de ejecución:
#!/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
Algunas herramientas que lo ayudarán a encontrar carpetas y paquetes grandes:
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 localepurge para desinstalar idiomas no utilizados en su 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
Una gran herramienta gráfica de GUI para satisfacer todas las necesidades:
sudo apt-get install bleachbit
Además, puede eliminar las páginas de manual y la documentación como se describe en Ubuntu Wiki :
Cree un archivo /etc/dpkg/dpkg.cfg.d/01_nodoc que especifique los filtros deseados. Ejemplo:
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/*
Elimine el mismo conjunto de archivos y directorios en postinst del proyecto-config. Ejemplo:
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
. En caso de que haya realizado un apt-get ugrade antes y haya obtenido un nuevo kernel, esta podría ser la causa de que el kurnel actual que está utilizando no sea el más nuevo instalado. Realice una repoblación antes de comenzar este script
El directorio '/ tmp' nunca debe limpiarse manualmente a menos que sea absolutamente necesario (es decir: una aplicación cerrada no se limpió después de sí misma).
Puede buscar dónde se puede llenar el espacio con el comando 'du'; por lo general, los lugares de interés están dentro de '/ var'. Para nombrar dos sospechosos habituales '/ var / log' y '/ var / cache'. Aunque he tenido algunos usuarios que instalan una utilidad de copia de seguridad y nunca se dan cuenta de que crea GB de copias de seguridad incrementales en '/ var / backup' que se acumulan durante una semana o un mes para llenar todo el espacio en disco.
Use ubuntu-tweak para limpiar.
limpia todos los * .deb que se descargan en las aplicaciones de instalación.
Si ya ha eliminado una gran cantidad de basura pero el espacio en disco no parece estar limpio, simplemente reinicie ubuntu. O si no desea reiniciar, simplemente ejecute el comando como en una pregunta similar .
sudo service rsyslog restart
Cuando necesito hacer más espacio libre en los servidores, uso este comando. Encuentra todos los archivos más grandes que 50 MB y "du -h" hace una mejor lista de archivos y "sort -n" después de la lista de tuberías, ordenada numéricamente por tamaño de archivo.
find / -size +50M -type f -exec du -h {} \; | sort -n
ncdu /
en su lugar
du -h
, uso sort -h
también.