Gestión del tamaño del disco

Estoy usando Fedora 16. Mi / dev / sda2, montado en / (raíz) con algo así como 50G se llenó al 100%:

[foampile@~ 13:13:39]> df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 51606140 49025452 0 100% / devtmpfs 2988452 0 2988452 0% /dev tmpfs 2999424 96 2999328 1% /dev/shm /dev/sda2 51606140 49025452 0 100% / tmpfs 2999424 51992 2947432 2% /run tmpfs 2999424 0 2999424 0% /sys/fs/cgroup tmpfs 2999424 0 2999424 0% /media /dev/sda1 99150 79569 14461 85% /boot /dev/sda5 247972844 10782056 224594412 5% /home 

Q1 : ¿Hay un command, o una opción con ls, que enumerará todos los files debajo de un directory recursivamente y los clasificará en order descendente por tamaño? Me gustaría ver qué files / directorys están acaparando el dispositivo.

P2 : My / home está relativamente sin usar. ¿Hay alguna manera de reparticionar el disco y cambiar algo de espacio de disco de / dev / sda5 (/ home) a / dev / sda2?

Gracias

Q1. Pruebe algo como sudo du -a -m -x | sort -k1n -r | head -n40 sudo du -a -m -x | sort -k1n -r | head -n40 sudo du -a -m -x | sort -k1n -r | head -n40 . La bandera -a a du dice que es recursiva. El indicador -m muestra los tamaños en MB. El -x mantiene en un solo sistema de files. Esto mostrará una list de files y directorys, y solo los 40 más grandes (debido a la opción -n40 a la head ). Algunas implementaciones du tienen una opción -t SIZE para mostrar solamente las inputs cuyo tamaño es TAMAÑO.

Para enumerar solo los files, puede intentar algo como: find / -xdev -type f -size +1M -ls . Eso solo mostrará los files en el mismo sistema de files como / cuyo tamaño sea superior a 1 MB.

Q2. Casi seguro. Pero debe preguntar sobre esto por separado, o search (aquí o en otro lugar) sobre palabras key como "linux" y "repartición" porque lo he visto discutido muy a menudo. Aquí hay algunos Qs anteriores en este sitio:

  • Cambiar el tamaño de la partición principal para instalar otra distribución
  • ¿Puedo cambiar el tamaño de la partición raíz sin desinstalar y reinstalar Linux (o perder datos)?
  • ¿Cómo cambio el tamaño de una partición en Ubuntu Linux sin perder datos?

50 GB para rootfs es enorme , es mejor comprobar por qué se llena el sistema de files que extenderlo ciegamente. Si solo extiende el sistema de files raíz, es probable que se llene de nuevo en poco time. Espero que se llene / var, / var / log o / tmp.

En mi experiencia, esto generalmente es causado por una gran colección de files relativamente pequeños (ish) y, por lo tanto, es mejor hacerlo de forma manual y estructurada. El siguiente método le permitirá search tanto un único file grande como un directory con una gran cantidad de files pequeños.

 sudo -i cd / du -sxh * | sort -h 
  • du list el uso del disco

    • -h tamaños de printing en formatting legible para humanos (por ejemplo, 1K 234M 2G)
    • -s para mostrar solo un total para cada argumento
    • -x para omitir directorys en diferentes filesystems
  • sort -h hace que el directory más grande aparezca al final.

Ahora investigue los últimos (pocos) directorys:

 cd the_large_diretory 

y repetir

 du -sxh * | sort -h 

Hasta que encuentre el directory que contiene los files grandes. Entonces, finalmente, puedes inspeccionar el contenido del directory con:

 cd the_large_directory ls -hlrS 
  • ls los contenidos del directory
    • -h para mostrar el tamaño del file en 'forma legible para humanos'
    • -l para mostrar detalles del file
    • -r para orderar de reversa (el file más grande es el último)
    • -S para orderar por tamaño de file

Notas

  • Si cualquiera de los commands du or sort en su sistema no admite el indicador -h , solo use du -sxk * | sort -n du -sxk * | sort -n . La salida es similar, solo un poco más difícil de leer debido a los numbers largos.
  • Si ls en su sistema no es compatible con el indicador -h , simplemente saltéelo, no es necesario pero mejora la legibilidad.
  • Si ls en su sistema no es compatible con la bandera -S , sort -nk5 la salida para sort -nk5

A1: ls -larS / | head -50 ls -larS / | head -50

A2: sí, pero tenga cuidado al cambiar el tamaño / inicio, asegúrese de forzar una verificación de disco y una copy de security

 e2fsck -f /home 

entonces

 resize2fs /home 50G