나는 이 디렉토리가 많은 애플리케이션에서 사용되는 것을 보았고 이제 내 앱에 이 디렉토리를 사용하는 것을 고려하고 있습니다. 이것이 사용자별 캐시/구성에 대한 월별 위치가 아니라 공식적으로 지원되는 폴더인지 어떻게 알 수 있습니까?
나는 우분투에서 공식적인 것을 찾고 있었지만 아무 소용이 없었습니다. 어쩌면 다른 사람이 이 문서의 적절한 검색어나 위치를 알고 있을 수도 있습니다. 이것이 명시되지 않은 표준 진료 장소로 받아들여야 하는 것입니까?
답변1
예, 표준이 있습니다. 이는 freedesktop.org에서 지정하고 다음의 일부입니다.XDG 기본 디렉토리 사양.
구성 사양기본 요구 사항만 간략하게 설명하지만 자세한 내용은 기본 디렉터리 사양에 나와 있습니다. 달리 구성하지 않는 한 ~/.config
및 디렉터리 는 기본값입니다.~/.cache
구성 파일을 검색해야 하는 기준으로 우선 순위가 지정된 기본 디렉터리 집합이 있습니다. 이 디렉토리 세트는 환경 변수 $XDG_CONFIG_DIRS에 의해 정의됩니다.
사용자별 비필수(캐시된) 데이터를 작성해야 하는 기준이 되는 단일 기본 디렉터리가 있습니다. 이 디렉터리는 환경 변수 $XDG_CACHE_HOME에 의해 정의됩니다.
...
$XDG_CONFIG_HOME은 사용자별 구성 파일이 저장되어야 하는 기본 디렉토리를 정의합니다. $XDG_CONFIG_HOME이 설정되지 않았거나 비어 있는 경우 $HOME/.config와 동일한 기본값을 사용해야 합니다.
...
$XDG_CACHE_HOME은 사용자별 비필수 데이터 파일을 저장해야 하는 기준 디렉토리를 정의합니다. $XDG_CACHE_HOME이 설정되지 않았거나 비어 있는 경우 $HOME/.cache와 동일한 기본값을 사용해야 합니다.
이러한 사양은 대부분 데이터를 저장해야 하는 위치, 사용되는 환경 변수 및 방식(데스크톱 중립, 효율적 등)을 명시하지만 대부분의 데스크톱은 "방법" 부분을 자유롭게 구현합니다. GNOME 기반 데스크탑은 gsettings
KDE 사용자가 동일한 것을 사용할 수 있는 곳을 사용합니다.kwriteconfig
하지만 둘 다 ~/.config
프로세스에서 디렉터리 에 의존합니다.
질문 핵심 포인트
이것이 사용자별 캐시/구성에 대한 월별 위치가 아니라 공식적으로 지원되는 폴더인지 어떻게 알 수 있습니까?
이 디렉토리는 공식 문서에 나타나며파일 시스템 계층 표준또한 그들을 언급합니다. 이것은 공식 문서이므로 폴더가 공식적으로 지원됩니다.
이것이 명시되지 않은 표준 진료 장소로 받아들여야 하는 것입니까?
만들고 있는 앱에 따라 다릅니다. 앱이 사용자별로 구성 가능해야 합니까, 아니면 시스템 전체에서 일관되게 작동해야 합니까? FHS는 시스템 전반에 걸친 작업에 대해 우리가 사용해야 한다고 말합니다 /etc
./usr/local
, 그러나 XDG 디렉토리 는 사용자별 구성에 사용해야 합니다 ~/.cache
. ~/.config
물론 애플리케이션이 사용자별 설정에 의존하지 않는 경우에는/var/캐시사용자별 디렉터리 대신 사용할 수 있습니다. 물론 구성과 캐시를 유지하기 위해 항상 단일 ~/.appname.conf
파일, ~/.appname.db
또는 ~/.appname/
디렉터리를 가질 수 있지만 이는 비표준입니다. "나쁘다"는 것이 아닙니다. 단지 비표준일 뿐입니다.