답변:
The Open Group의 공개 표준 에 따르면 필요한 디렉토리는 다음과 같습니다.
/
/dev
, 포함하는 console
, null
및tty
/tmp
쓰기 가능하지만 반드시 보존 될 필요는 없습니다.Linux Foundation 은 일반적으로 Linux 시스템에서 볼 수있는 디렉토리를 포함하도록이를 확장 하는 파일 시스템 계층 표준 (FHS)을 유지 합니다.
/bin
: 필수 사용자 명령 바이너리/boot
: 부트 로더의 정적 파일/dev
: 장치 파일/etc
: 호스트 별 시스템 구성/home
: 사용자 홈 디렉토리 (선택 사항)/lib
: 필수 공유 라이브러리 및 커널 모듈/lib<qual>
: 대체 형식 필수 공유 라이브러리 (선택 사항)/media
: 이동식 미디어의 마운트 지점/mnt
: 임시로 마운트 된 파일 시스템의 마운트 지점/opt
: 애드온 응용 프로그램 소프트웨어 패키지/root
: 루트 사용자의 홈 디렉토리 (선택 사항)/run
: 런타임 변수 데이터/sbin
: 시스템 바이너리/srv
:이 시스템에서 제공하는 서비스 데이터/tmp
: 임시 파일- 뿐만 아니라
/usr
계층 구조와/var
계층 구조
FHS는 모든 UNIX 시스템에 통합 할 수 있도록 가능한 한 일반적으로 설계되었습니다. 추가 디렉토리는 합리적인 시스템에 존재할 가능성이 있지만 POSIX에서는이를 요구하지 않습니다.
그러나 오픈 그룹은 또한
엄격하게 준수하는 응용 프로그램은 아래에 명시되지 않는 한 이러한 디렉토리에서 파일을 생성 할 수있는 능력을 갖지 않아야합니다.
디렉토리는 실제로 파일 일 뿐이므로 엄격하게 준수하는 응용 프로그램은 루트 수준에서 파일이나 디렉토리를 만들지 않습니다. 따라서 POSIX는 루트 수준에서 배포 할 수있는 대상을 반드시 제한하지는 않지만 해당 사양을 준수하는 응용 프로그램은 배포 할 수 있다고 가정 할 수 없습니다.
에서 10.1 디렉토리 구조 및 파일 , POSIX 목록 디렉토리는 있어야 존재한다. 그러나 파일 시스템의 루트 수준에 존재할 수있는 다른 디렉토리의 수에는 제한이 없습니다.
그 문제에 대해서는 다른 디렉토리의 크기에 제한을 두지 않는 것 같습니다.
이 영역에서 POSIX의 관심은 차이점보다는 공통성에 중점을 둡니다.
/
)는 루트 디렉토리 일 수 있으므로 루트 디렉토리의 항목 수에 상한을 적용하는 것은 매우 어리석은 일입니다. /
이와 관련하여 특별히 특별하지는 않으므로, /
구체적 으로 엔트리의 수에 상한을 부과하는 것은 상당히 어리석은 일 이다.
POSIX 또는 일반적인 Unix 구현에서 디렉토리의 항목 수에는 제한이 없습니다. 최대 하드 링크 수인 각 서브 디렉토리 수에 대한 간접 한계가있을 수 있습니다 (각 서브 디렉토리의 ..
항목은 디렉토리 에 대한 하드 링크입니다). 2 사용자들은 16 (즉, 저장하는 파일 시스템에 대한 최소한 65,533 하위 디렉토리에 디렉토리를 제한하는 많은 일반적인 파일 시스템에 대한 ..
항목을 명시 적으로). 그 전에 성능이 저하되기 시작합니다. POSIX에 따르면 구현은 파일 ( _POSIX_LINK_MAX
) 에서 8 개의 하드 링크 만 지원할 수 있지만 실제 구현은 6 개의 서브 디렉토리로 제한되지 않습니다. 어쨌든 ext4를 포함한 많은 파일 시스템에서 하드 링크 수는 유지되지 않습니다...
파일 시스템에서 사용 가능한 공간 또는 inode 수는 제한됩니다.
POSIX는 시스템의 파일 구성에 대해별로 말하지 않습니다. 단지 몇 개의 파일 만 존재해야 합니다 . 루트 디렉토리의 유일한 필수 항목은 /dev
및 /tmp
입니다. 같은 다른 습관 유닉스 항목 /usr
, /var
, /bin
, /etc
, /lib
, /home
, 등은 유닉스 POSIX에 의해 성문화되지 않은 규칙.
Linux에서 FHS 는 고전과 몇 가지를 체계화합니다. 대부분의 Linux 배포판은 FHS 항목을 따릅니다. 다른 유닉스 시스템은 일반적으로 항목이 거의 같지만 약간의 차이가있을 수 있지만 그 수는 거의 같습니다.
권장하지는 않지만 시스템 관리자는 더 많은 것을 만들 수 있습니다. 대부분의 사물에 대해 잘 정의 된 장소가 있습니다 (소프트웨어는 /usr
또는로 /opt
, 시스템 데이터는로 /var
, 사용자 데이터는로 /net
, 마운트 포인트는 /media
또는 /mnt
로 등). 최상위 디렉토리에 새 디렉토리를 작성해야하는 좋은 이유.