He visto estos directorios siendo utilizados por muchas aplicaciones y ahora estoy considerando usarlos para mi aplicación. ¿Cómo sé que esta es una carpeta oficialmente compatible y no solo una muestra de la ubicación del mes para una caché / configuración por usuario?
He estado buscando en Google y buscando algo oficial de Ubuntu, pero fue en vano, tal vez alguien más conozca los términos de búsqueda adecuados o la ubicación de esta documentación. ¿Es esto algo que debería aceptar como un lugar de práctica estándar no especificado?
configuration
home-directory
cache
Danny A
fuente
fuente
dir
. De esa manera, sí, están absolutamente "ocultos". Ocultar archivos de esta manera tiene un buen propósito para evitar que el usuario final los altere / elimine accidentalmente, es por eso que todavía se usan de manera tan ubicua. Estoy de acuerdo en que los archivos de puntos no deben usarse para seguridad, en el sentido de que no son imposibles de encontrar / leer / alterar..
. ¿Son totalmente invisibles? No, y no deberían serlo. ¿Pueden aún ser leídos / escritos? Sí, y deberían hacerlo. ¿Son invisibles (ocultos) en la mayoría de los casos? Sí, ese es el puntoRespuestas:
Sí, hay un estándar: estos están especificados por freedesktop.org y son parte de las Especificaciones del Directorio Base de XDG .
config-spec describe los requisitos básicos, pero los detalles se encuentran en las Especificaciones del directorio base. Los directorios
~/.config
y~/.cache
son predeterminados a menos que estén configurados de otra manera:Puede observar que estas especificaciones en su mayoría indican dónde deben almacenarse los datos, qué variables de entorno se utilizan y de qué manera (escritorio neutral, eficiente, etc.), pero la mayoría de los escritorios son libres de implementar la parte del "cómo". Los escritorios basados en GNOME usarán
gsettings
donde los usuarios de KDE pueden usar lo mismo a través dekwriteconfig
, pero ambos dependerán del~/.config
directorio en el procesoPregunta puntos clave
Estos directorios aparecen en la documentación oficial y el Estándar de jerarquía del sistema de archivos también los menciona. Esta es la documentación oficial, por lo tanto, las carpetas son oficialmente compatibles.
Depende de la aplicación que estés creando. ¿Se supone que la aplicación se puede configurar por usuario o que funciona de manera consistente en todo el sistema? FHS nos dice que para todo el sistema debemos usar
/etc
o/usr/local
, pero los directorios XDG deben usarse para configuraciones específicas del usuario,~/.cache
y~/.config
. Por supuesto, si la aplicación no depende de la configuración específica del usuario, se puede usar / var / cache en lugar del directorio por usuario. Por supuesto, siempre podría tener un único~/.appname.conf
archivo, un directorio~/.appname.db
o un~/.appname/
directorio para mantener las configuraciones y el caché allí, pero eso no sería estándar; no "malo", simplemente no estándar.Ver también
fuente