¿Por qué lleva tanto tiempo vaciar el contenedor de basura en nautilus?


15

A los efectos de esta pregunta, "directorio grande" significa, por ejemplo, un repositorio git de kernel de Linux o la fuente Chromium.

Si tengo rm -rfun directorio grande como este desde el shell, se elimina en solo un par de segundos como máximo.

Si lo muevo a la papelera primero y luego la vacío, la primera operación tarda menos de un segundo, luego la eliminación real lleva varios minutos (estamos hablando de cifras dobles).

¿Por qué vaciar la basura tan lentamente? ¿Qué está haciendo cuando dice "prepararse"? ¿Cuánta preparación se necesita para correr rm -rf ~/.local/share/Trash/?

He estado mirando esto por más de 20 minutos.


Si tienes algo de tiempo libre, puedes echarle un vistazo libnautilus-private/nautilus-file-operations.cen la fuente ( apt-get source nautilus). Sin embargo, no tengo la diligencia y la paciencia para leer C. Pregunta interesante. +1
phipsalabim

3
rm -rf ~/.local/share/TrashPodría ser más rápido. Ver askubuntu.com/a/468722/2273
Adam Monsen

Respuestas:


5

Cuando ocurre la primera operación, simplemente mueve los archivos a la papelera.

Cuando "desecha" esos archivos, carga todo el archivo de árbol en la memoria y luego elimina cada archivo uno por uno. Esto permite que los cálculos de tiempo sepan cuánto tiempo se tarda en eliminar el archivo, cuántos archivos se deben eliminar, qué tan grandes son esos archivos, aunque la mayoría de los parámetros no se usan aquí, y le permite presionar esa pequeña cruz roja para detener el proceso

Es por eso que siempre borro del shell


cuando accedo a la basura de nautilus, se congela durante mucho tiempo y no puedo presionar nada; Me pregunto si podría haber alguna forma de deshabilitarlo o abrir una ventana emergente si realmente quiero verlo en Nautilus porque lo uso para muchas otras cosas y, de repente, tengo que esperar unos 3 minutos para poder usar Nautilus nuevamente si no quiero reiniciarlo :(
Aquarius Power
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.