POSIX는 운영 체제 루트의 디렉터리 수를 제한합니까?

POSIX는 운영 체제 루트의 디렉터리 수를 제한합니까?

POSIX 표준을 배우려고합니다. Unix를 사용하면 /bin, /etc, /dev, /media및 일반적으로 가 있지만 /opt이것이 표준화되어 있습니까? 아니면 사양 구현을 준수합니까? 루트 디렉터리 아래에 많은 디렉터리가 있을 수 있습니까, 아니면 표준에 의해 제한됩니까?

답변1

오픈그룹에 따르면출판된 표준, 필요한 유일한 디렉터리는 다음과 같습니다.

  • /
  • /dev, console, nulltty
  • /tmp, 쓰기 가능이 보장되지만 반드시 유지되는 것은 아닙니다.

Linux Foundation은파일 시스템 계층 표준(FHS) Linux 시스템에서 일반적으로 볼 수 있는 디렉터리를 포함하도록 이를 확장합니다.

  • /bin:기본 사용자 명령 바이너리
  • /boot: 부트로더용 정적 파일
  • /dev: 장치 파일
  • /etc: 호스트별 시스템 구성
  • /home:사용자 홈 디렉터리(선택 사항)
  • /lib: 기본 공유 라이브러리 및 커널 모듈
  • /lib<qual>:대체 형식 기본 공유 라이브러리(선택 사항)
  • /media: 이동식 미디어용 마운트 지점
  • /mnt:파일 시스템을 임시로 마운트하기 위한 마운트 지점
  • /opt:추가 신청 패키지
  • /root:root 사용자의 홈 디렉터리(선택 사항)
  • /run:런타임 변수 데이터
  • /sbin:시스템 바이너리
  • /srv: 본 시스템에서 제공하는 서비스 데이터
  • /tmp:임시 파일
  • 그리고 /usr레이어와 /var레이어

FHS는 모든 UNIX 시스템에 통합할 수 있도록 최대한 다용도로 설계되었습니다. 추가 디렉토리는 합리적인 시스템에 존재할 수 있지만 POSIX에서 요구하는 것은 아닙니다.

그러나 The Open Group은 또한 다음과 같이 지적합니다.

엄격하게 호환되는 응용 프로그램은 아래 지정된 경우를 제외하고 이러한 디렉터리에 파일을 생성하는 기능을 가정해서는 안 됩니다.

디렉터리는 실제로 파일일 뿐이므로 이는 엄격하게 호환되는 응용 프로그램이 루트 수준에서 파일이나 디렉터리를 생성하지 않음을 의미합니다. 따라서 POSIX는 배포판이 루트 수준에 넣을 수 있는 것을 반드시 제한하지는 않지만 해당 사양을 준수하는 애플리케이션은 그렇게 할 수 있다고 가정할 수 없다고 명시하는 것 같습니다.

답변2

존재하다10.1 디렉토리 구조와 파일, POSIX 목록 디렉토리~ 해야 하다존재하다. 그러나 파일 시스템의 루트 수준에 존재할 수 있는 다른 디렉터리 수에 대한 제한은 지정하지 않습니다.

그 문제에 대해서는 다른 디렉토리의 크기에 제한을 두지 않는 것 같습니다.

이 분야에서 POSIX의 초점은 차이점보다는 공통점에 있습니다.

답변3

POSIX 또는 일반적인 Unix 구현에서 디렉토리의 항목 수에는 제한이 없습니다. 하위 디렉터리 수에 간접적인 제한이 있을 수 있습니다.최대 하드 링크 수(각 하위 디렉토리의 ..항목은 해당 디렉토리에 대한 하드 링크입니다.) 많은 일반 파일 시스템의 경우 이는 2 16 이며 이는 디렉토리를 65533개의 하위 디렉토리로 제한합니다(적어도 ..항목을 명시적으로 저장하는 파일 시스템의 경우). 그런 일이 일어나기 전에는 실적이 저조해지기 시작할 것입니다. POSIX에 따르면 구현은 파일에서 8개의 하드 링크만 지원할 수 있습니다(_POSIX_LINK_MAX), 그러나 6개의 하위 디렉터리로 제한하는 실제적인 구현은 없습니다. 어쨌든 많은 파일 시스템(ext4 포함)에서는 ..항목의 하드 링크 수가 유지되지 않으므로 유일한 제한은 파일 시스템에서 사용 가능한 공간이나 inode 수입니다.

POSIX는 시스템의 파일 구성에 대해 많이 언급하지 않습니다. 존재만이 필요하다일부 파일. 루트 디렉토리의 유일한 필수 항목은 /dev및 입니다 /tmp. /usr, /var, , 등과 같은 기타 관례적인 Unix 항목은 다음과 같습니다 /bin./etc/lib/home유닉스POSIX 인코딩되지 않은 규칙.

리눅스에서는,FHS고전 및 기타 작품을 편집했습니다. 대부분의 Linux 배포판은 FHS 항목을 고수합니다. 다른 Unix 시스템에는 일반적으로 대부분 동일한 항목이 있고 약간의 차이가 있을 수 있지만 숫자는 거의 같습니다.

권장되지는 않지만 시스템 관리자는 더 많은 것을 생성할 수 있습니다. 대부분의 항목에는 위치가 잘 정의되어 있습니다(소프트웨어는 또는 아래 /usr, /opt시스템 데이터는 아래 /var, 사용자 데이터는 아래 /net, 마운트 지점은 /media또는 아래 /mnt등). 따라서 좋은 결과가 거의 없습니다. 최상위 레벨에 새 디렉토리를 생성하는 이유.

답변4

FAT와 달리 UNIX에서 사용하는 파일 시스템은 루트 디렉터리에 특별한 크기 제한이 없지만 일단 파티션이 가득 차면 더 이상 콘텐츠를 추가할 수 없습니다.

관련 정보