¿Como recuperar espacio en ficheros ya eliminados?

En varias ocaciones nos hemos visto en la situación de que hemos borrado ciertos ficheros en linux y no se ha liberado el espacio y lo que es peor es que vemos valores diferentes al calcuar el espacio con df y ls

Voy a explicar como hacerlo de una manera muy sencilla.

Comprobamos que no se este usando el fichero y se puede liberar el espacio.

lsof | grep deleted
postdrop   9155                 root    4u      REG                8,2         0     114958 /var/spool/postfix/maildrop/AC9221C10E (deleted)
postdrop   9927                 root    4u      REG                8,2         0     118127 /var/spool/postfix/maildrop/E9A721CD6F (deleted)
postdrop  11171                 root    4u      REG                8,2         0     118540 /var/spool/postfix/maildrop/8F4D31CF0C (deleted)

[root@base]# ls -lh /proc/9155/fd/*
lrwx------ 1 root root 64 Jun 20  2021 /proc/9155/fd/4 -> /var/spool/postfix/maildrop/AC9221C10E (deleted)

Con los resultados obtenidos, ejecutamos el comando con el id que deseemos borrar

: > /proc/9155/fd/4

Y con estos pasos ya habremos liberado el espacio.

Borrar kernels antiguos en centos 7

Es muy recurrente que despues de diversan actualizaciones del sistema operativo, se vaya quedando sin espacion el la partición raiz y no sabes de donde rascar para encontrar espacio, pues una de las maneras mas sencillas es borrando kernels antiguos.

Lo primero que haremos es instalar las yum-utils para hacer uso del package-cleanup.

yum install yum-utils

A continuación listamos las versiones sin uso del kernel.

[root@barrabinbarrabash]# rpm -qa|grep kernel
kernel-3.10.0-862.11.6.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64
kernel-tools-3.10.0-1127.18.2.el7.x86_64
kernel-tools-libs-3.10.0-1127.18.2.el7.x86_64
kernel-3.10.0-1127.18.2.el7.x86_64
kernel-3.10.0-862.14.4.el7.x86_64
kernel-headers-3.10.0-1127.19.1.el7.x86_64
kernel-3.10.0-1062.4.3.el7.x86_64

Y lanzaremos el package-cleanup indicando el numero de versiones que deseamos mantener (en el ejemplo una).

package-cleanup --oldkernels --count=1

Con este habremos eliminado versiones del kernel sin uso y recuperado unos megas bien preciados.

Como borrar ficheros del directorio windows\System32\Config\TxR

El otro dio me sucedio un problema y es que me encontre el disco duro casi sin espacio.

Investigando me di cuenta de que tenia 50gb en ficehros en el directorio windows\System32\Config\TxR.

Esto se debe a las diferentes actulizaciones de windows update, que deja registro de las transacciones y nunca libera el espacio (maldito windows).

Cientos de ficheros, llenando el disco

Para poder borrqarlso bastas con abrir el cmd como administrador y ejecutar estos comandos.

cmd como administrador
attrib -r -s -h %SystemRoot%\System32\Config\TxR\*
del %SystemRoot%\System32\Config\TxR\*

Reiniciamos el sistema y ya habremos liberado todos los GB.