
Quiere limpiar el /private/var/folders/*
arranque de OS X,por crearuna launchd
entrada. (hasta donde se, OS X no es compatible con rc.conf
rc.d
- todo debe hacerse creando una entrada para launchd
)
Aquí hay unsimilar pregunta. Desafortunadamente, la respuesta aceptada es incorrecta, porque aquí hay demonios (especialmente demonios que dependen de la mktemp
llamada) que podrían ejecutarse y aún tienen archivos abiertos, entonces, ustedno se pudo eliminaren cualquier momento cualquier cosa en el /private/var/folders/*
. (Para ser correcto, el "reiniciar después" sugerido soluciona en cierta medida el problema, pero no del todo).
Entonces, la pregunta es: es seguro eliminar los archivos en el/private/var/folders/*
en el momento del arranque?
(Me imagino que algún script de instalación que necesita reiniciar (instalación .kext o similar) podría usar carpetas temporales para algunos datos de instalación posteriores al reinicio, y no quiero bloquear mi sistema después de una instalación crítica eliminando los archivos necesarios :) -esto es pura mi especulacion- por eso preguntando).
- ¿O la única forma segura es eliminar archivos que tengan más de X días?
- U otra idea paraseguroperoautomáticolimpieza de los archivos/directorios temporales
/private/var/folders/*
porque sigue creciendo y creciendo... ;(
Respuesta1
TL;DR: /var/folders
contiene carpetas para cachés por usuario y archivos temporales. Puedes acceder a tus propias carpetas, pero no a las de otros usuarios. Eliminar archivos que no están actualmente en uso debería ser seguro, pero eliminar archivos que están en uso probablemente causará problemas. Si desea eliminarlos, debe reiniciar después para minimizar la probabilidad de problemas.
Si no hace nada, los procesos del sistema limpiarán periódicamente estas carpetas de archivos a los que no se ha accedido durante tres días, por lo que no tendrá que hacer nada, a menos que se esté quedando sin almacenamiento.
Los detalles
/var/folders
contiene principalmente archivos temporales y archivos de caché, almacenados por usuario. Si miras la raíz de /var/folders
, no verás mucho:
$ ls -l /var/folders
total 0
drwxr-xr-x 3 root wheel 102 Mar 2 2014 43/
drwxr-xr-x 3 root wheel 102 Mar 2 2014 4c/
drwxr-xr-x 3 root wheel 102 Mar 2 2014 c3/
...
Pero si miras un nivel más abajo, verás que contienen carpetas por usuario. Normalmente, cada carpeta de nivel superior (dos caracteres) contiene una carpeta de usuario, pero la carpeta "zz" contiene muchos usuarios del sistema. Por ejemplo (los nombres de usuario se cambiaron por motivos de privacidad):
$ ls -l /var/folders/*
/var/folders/43:
total 0
drwxr-xr-x 6 user1 staff 204 Oct 3 2016 3lsw0k6d7vqbywvsf226nkqc0000gs/
/var/folders/4c:
total 0
drwxr-xr-x 6 user2 staff 204 Jul 15 2016 yc9pgt3j5y18vr29jcgbbyb4000101/
/var/folders/c3:
total 0
drwxr-xr-x 6 user3 staff 204 Aug 16 2016 wv6q5xlx1flgtwcs0rjlkbd4000102/
/var/folders/rp:
total 0
drwxr-xr-x 4 admin staff 136 Jul 3 2016 qjg8tsk964scvw2510_n6yz00000gt/
/var/folders/yx:
total 0
drwxr-xr-x 4 macports macports 136 Jul 3 2016 m3d21nm91wnd4c0k2yjk57200000gn/
/var/folders/zz:
total 0
drwxr-xr-x 6 root wheel 204 Jul 3 2016 zyxvpxvq6csfxvn_n0000000000000/
drwxr-xr-x 3 _networkd _networkd 102 Jul 3 2016 zyxvpxvq6csfxvn_n000003000000r/
drwxr-xr-x 3 _lp _lp 102 Jul 3 2016 zyxvpxvq6csfxvn_n000003800000t/
...
Dentro de cada una de ellas, encontrarás algunas carpetas mágicas:
$ ls -l /var/folders/4c/yc9pgt3j5y18vr29jcgbbyb4000101/
total 0
drwxr-xr-x 6 user2 staff 204 Sep 1 10:31 0/
drwx------ 53 user2 staff 1802 Jul 28 18:44 C/
drwxr-xr-x 2 user2 staff 68 Jul 3 2016 Cleanup At Startup/
drwx------ 83 user2 staff 2822 Sep 1 10:53 T/
La C
carpeta " " son los cachés de ese usuario y contienen lo que (antes de MacOS X 10.5) habría entrado /Library/Caches
. La T
carpeta " " son los archivos temporales de ese usuario y reemplazan a /tmp
o tal vez /var/tmp
.
No estoy seguro acerca de las otras dos carpetas. Cleanup At Startup
esta vacio. Sospecho que su propósito es almacenar archivos que se necesitan hasta el momento de reiniciar, pero que deben eliminarse después (por ejemplo, archivos temporales utilizados por los actualizadores del sistema) y, por lo tanto, se borrarán después de reiniciar (o tal vez incluso cerrar sesión/iniciar sesión). ).
La 0
carpeta " " contiene algunas bases de datos relacionadas con el escritorio y probablemente esté destinada a actuar como caché para estos servicios:
$ ls -l /var/folders/4c/yc9pgt3j5y18vr29jcgbbyb4000101/0
total 14104
-rw------- 1 user2 staff 7221248 Sep 1 10:31 com.apple.LaunchServices-1341025.csstore
drwx------ 3 user2 staff 102 Jul 3 2016 com.apple.dock.launchpad/
drwx------ 3 user2 staff 102 Jul 3 2016 com.apple.notificationcenter/
drwx------ 3 user2 staff 102 Sep 1 10:05 com.apple.pluginkit/
Entonces, para resumir, cada usuario y usuario virtual tiene su propio directorio en /var/folders
. Tendrás acceso al tuyo, pero no al de otros usuarios (a menos que uses sudo
para acceder a ellos como root). En su mayoría contienen cachés y archivos temporales. Como tal, eliminar el contenido puede ser seguro o no, dependiendo de si los archivos están en uso o no.
Eliminar archivos donde el proceso correspondiente todavía se está ejecutando puede provocar que ese proceso se comporte mal o falle. Eliminar archivos donde el proceso correspondiente no se está ejecutando debería ser seguro, pero puede provocar problemas de rendimiento cuando el proceso se reinicie (ya que probablemente volverá a generar sus cachés y archivos temporales).
Parece que se ejecuta un proceso en segundo plano todas las noches a las 3:35 a. m. para limpiar estas carpetas. No conozco la naturaleza específica de la limpieza (no parece estar bien documentada) pero lo que he leído parece indicar que eliminará cualquier archivo al que no se haya accedido durante tres días.
Respuesta2
Normalmente /var/folders
debe ser adecuadamente purgado y regulado por el sistema cuando sea necesario. Quitar algunas cosas de allí sin saber qué se elimina probablemente puede causar resultados inesperados y altamente indeseables.
Si está hablando de limpiar esta carpeta manualmente al reiniciar, creo que debería ser seguro ya que no es probable que algunos programas en ejecución la utilicen (solo algunos restos de la última vez). Como sea que tengas razón, siempre es más seguro eliminar archivos que tengan 1 día más de antigüedad, por si acaso.
Creo que es bueno descubrir cómo OS X limpia esa carpeta y cómo invocarla manualmente, por lo que sería una mejor solución.
Ver también:
- ¿Qué es "/var/carpetas"?
- ¿Puedo eliminar /private/var/folders/bf/?
- ¿Está bien eliminar el contenido de /private/var/folders/*?en las comunidades de soporte de Apple
Respuesta3
Por lo que vale (es decir, decide lo que vales tú mismo :-), hacer esto es peligroso en Catalina (10.15). Hice esto en una Macbook Air después de actualizar a Catalina. No se reiniciaba, y qué dolor recuperar de Time Machine con una pantalla interna defectuosa.
También tuve otra Macbook Air con pantalla defectuosa (y teclado y trackpad defectuosos, pero estoy divagando). Estaba paranoico porque lo uso para el desarrollo. Entonces encontré en línea otro truco. Mantener presionada la tecla Shift mientras se inicia hace que la Mac entre en "modo seguro". Luego, la Mac arrancó en modo seguro y "sudo du -d 1 -h /private" confirmó 44 GB. Después de otro reinicio, volvió a Mac OS X normal y el mismo comando mostró 3 GB.
Por cierto, esto no funcionó con un teclado normal, tuve que buscar un teclado Apple.
Es mucho más seguro, si resulta doloroso, hacerlo con regularidad. Probé los limpiadores gratuitos, pero ninguno encontró esos archivos/carpetas. Y prefiero no gastar entre 30 y 80 dólares en un limpiador que probablemente no los encontrará tan bien...