구성 파일 디렉토리를 저장할 새 소프트웨어를 구축할 때 /etc
디렉토리 이름을 지정해야 합니까, software_name.d
아니면 그냥 software_name
?
이 주제에 대한 좋은 스타일 가이드를 찾을 수 없는 것 같습니다. Debian은 제가 염두에 두고 있는 주요 배포판이지만 보다 일반적인 스타일 가이드나 가이드가 있으면 환영합니다.
"공식적인" 지침은 개인적인 의견보다 우선합니다.
답변1
디렉토리의 일반적인 용도 는 여러 구성 파일(일반적으로 공통 파일 확장자 공유, 예 : ) .d
을 보관하는 것입니다.*.conf
병합또는구성하다단일 논리적 구성을 생성합니다. 이 메커니즘은 일반적으로 여러 구성 파일을 단일 구성 파일로 연결하는 메커니즘과 동일합니다.
.d
Linux 패키지(deb/rpm) 및 패키지 관리자와 더 잘 작동하기 위해 디렉터리를 사용하도록 애플리케이션이 개발되는 경우가 많습니다 . 디렉토리는 .d
패키지를 사용하는 배포에 더 적합합니다. 그러면 패키지가 섹션을 추가하기 위해 공유 구성 파일을 편집할 필요 없이 독립 실행형 파일을 디렉토리로 간단히 "끌어서 놓을" 수 있기 때문입니다(패키지가 파일을 관리/포함하므로 자연스러운 작업임). 해당 특정 패키지를 삽입합니다. (이전 Linux 배포판에서는 기존 구성 파일을 편집하는 설치 후 및 제거 전 스크립트를 통해 패키지가 정확히 이 작업을 수행하는 것을 볼 수 있었습니다.)
애플리케이션이 여러 구성 파일을 사용하는 경우 명명된 구성 디렉터리를 사용하는 것이 더 일반적입니다 /etc/software_name
.다른 목적(JSON, ini 파일 등과 같은 다른 파일 형식을 사용할 수도 있습니다.) 이 경우 하나의 디렉터리를 사용하여 동일한 애플리케이션에 대한 모든 구성 파일을 그룹화할 수 있지만 다른 패키지(또는 시스템 관리자) 새 파일을 디렉터리로 "끌어다 놓아" 구성을 확장하려는 경우 해당 디렉터리를 사용하지 않습니다 .d
.
일부 시스템은 실제로 두 가지를 모두 사용하게 됩니다. 예를 들어, yum
(Red Hat Package Manager)에는 자체 구성 파일이 있지만 .d
자체 리포지토리 디렉터리( /etc/yum.repos.d
. )도 비슷하다고 생각하므로 apt
Debian을 사용하는 경우 해당 디렉터리를 볼 수 있습니다. .d
새 파일을 디렉터리로 "끌어다 놓기"하여 저장소 추가/제거를 관리 할 수 있으므로 이 설정이 의미가 있음을 알 수 있습니다 (푸시하는 패키지에서 또는 구성 관리 시스템을 통해). 기존 파일을 수정해야 함(운영 체제 릴리스 자체에서 업데이트를 받을 수 있음)
답변2
여기에는 많은 것이 있습니다논의하다이 주제에 대해. 정말 명확한 것은 없습니다.
"올바른" "공식적인" 지침이 무엇인지에 관해서는 궁극적인 출처는 다음과 같습니다.파일 시스템 계층 표준리눅스 재단에서. 안타깝게도 일부 기본 검색에서는 명확한 정보를 찾지 못했습니다. 좀 더 부지런히 검색하면 운이 좋을 수도 있습니다.
FHS가 실패하면 소프트웨어를 작성 중인 커뮤니티에 도움을 요청하고 그들이 무엇을 좋아하는지에 대한 일반적인 합의에 도달한 다음 이것이 귀하의 요구 사항을 충족하는지 판단할 것입니다. 이 맥락에서 "권장"은 매우 모호한 용어이기 때문에 실제로 존재하지 않는 지침을 요청하신 것 같습니다. "누가 추천했습니까? 누구를 위해?"