Sabiduría de almacenar archivos de ayuda en el directorio del usuario

¿Cuál es la sabiduría de almacenar los siguientes archivos de referencia en el directorio del usuario?

¿Podría haber hecho algo al instalar XCode para que vayan a ~/Library en lugar de, por ejemplo, /Library ?

1.8G ~/Biblioteca/Desarrollador/Compartido/Documentación/DocSets/

0.3G ~/Library/Developer/Shared/Documentation/DocSets/com.apple.ADC_Reference_Library.DeveloperTools.4_3.docset

1.0G ~/Library/Developer/Shared/Documentation/DocSets/com.apple.adc.documentation.AppleLion.CoreReference.docset

0.5G ~/Library/Developer/Shared/Documentation/DocSets/com.apple.adc.documentation.AppleiOS5_1.iOSLibrary.docset

Pseudo-solución

Aparte de la sabiduría, si la hay, la solución sugerida por Anne Onymous a continuación funciona.

sudo mkdir -p /Library/Developer/Shared/Documentation
sudo mv ~/Library/Developer/Shared/Documentation/DocSets  /Library/Developer/Shared/Documentation/
ln -s  /Library/Developer/Shared/Documentation/DocSets  ~/Library/Developer/Shared/Documentation/DocSets

Si lo hace, reducirá significativamente la cantidad de archivos en su directorio de inicio:

ls -lR ~/Library/Developer/Shared/Documentation/DocSets | wc
302148 1881376 20167032
¿Xcode instaló esos archivos automáticamente o los descargó dentro de Xcode?
Ahora que veo el comentario de Anne Onymous a continuación, recuerdo haber hecho clic en 'instalar' en Preferencias\Descargas\Documentación.

Respuestas (2)

Estos archivos provienen del panel Preferencias -> Descargas -> Documentación de Xcode, que descarga y actualiza la documentación.

Después de una instalación nueva de Mountain Lion y Xcode, sin hacer nada especial, también encontré los archivos allí.

Xcode puede estar colocando estos archivos en el directorio de inicio del usuario porque el usuario no tiene permiso de forma predeterminada para escribir en /Librería, o porque diferentes usuarios pueden tener diferentes conjuntos de archivos de documentación.

En cualquier caso, es hostil para el usuario volcar más de 4 GB de archivos que no son de usuario en el directorio de un usuario; con suerte, el equipo de Xcode solucionará esto eventualmente.

Mientras tanto, intentaría moverlo a /Library/Developer/Shared y ver si las cosas aún funcionan.

Si diferentes usuarios tienen diferentes conjuntos de archivos de documentación, sería un argumento para consolidar los archivos en una ubicación compartida. Moviéndolos después de que aterrizaron bajo ~/. ya no es muy útil. Si lo hace, solo incurriría en un segundo golpe en el disco de la máquina del tiempo.
Xcode no está aislado y puede escribir archivos en cualquier lugar como lo hace al instalar las herramientas de desarrollo en /usr/bin solicitando una contraseña de administrador.
entonces... no hay sabiduría. Es simplemente "usuario hostil".

Aquí hay varios casos en los que tiene sentido tener documentación en la carpeta de inicio del usuario:

  1. Cada usuario del programa Xcode tiene diferentes marcadores, necesidades, opciones de qué descargar
  2. Situaciones de copia de seguridad en las que solo se conservan los archivos de los usuarios (común en situaciones corporativas en las que crean imágenes e implementan aplicaciones sistemáticamente y, por lo tanto, omiten la copia de seguridad de los archivos que provienen del proceso de implementación estándar).
  3. Las carpetas de inicio en red donde trabaja desde más de una Mac provocarían que otra ubicación fallara.

Gatekeeper y otras tecnologías de verificación de seguridad/firma de código dificultan el almacenamiento de contenido agregado (o contenido que se actualiza fuera del proceso normal de actualización de la aplicación) en /Aplicaciones. /Users/Shared no es un buen lugar para almacenar cosas, ya que se rompe en el caso de uso de la carpeta de inicio de la red. Por lo tanto ~ queda como el lugar menos malo para almacenar este contenido.

1- Seguramente los marcadores se pueden almacenar como punteros, ¿no? 2- Migrar la documentación sin el Xcode adjunto parece una tontería. ¿Es la idea que los programadores desarrollarán durante largos períodos sin intentar compilar? No entiendo lo que quiere decir con 3. Pero entiendo su punto: en última instancia, se trata de evitar pedir a los usuarios que ingresen la contraseña de root después de que una aplicación determinada ya haya completado la instalación.
1 seguro, pero ¿por qué hacer un trabajo extra para romper la convención. 2. Se trata más de no hacer una copia de seguridad del lado de la aplicación. Excluiría estos archivos de una copia de seguridad de CrashPlan en la mayoría de los escenarios, incluso con ellos en ~. 3. Tal vez, pero Xcode autoriza como root a instalar las herramientas de línea de comandos, así que creo que es una decisión consciente que ~ es el lugar correcto por defecto.