파일 시스템 계층 표준
Filesystem Hierarchy Standard줄임말 | FHS |
---|---|
상황 | 출판된 |
시작한 해 | 1994년 2월 14일; | 전 (
최신 버전 | 3.0 2015년 6월 , 전( |
조직 | Linux Foundation |
도메인 | 디렉토리 구조 |
웹 사이트 | 공식 웹사이트 공식 웹사이트(이력) |
FHS(Filesystem Hierarchy Standard)는 UNIX 시스템의 레이아웃에 사용되는 규칙을 설명하는 참조입니다.Linux 디스트리뷰션에서의 사용으로 인기를 끌었지만 다른 UNIX 버전에서도 사용되고 있습니다.[1]Linux Foundation에서 관리합니다.최신 버전은 3.0으로 2015년 [2]6월 3일에 출시되었습니다.
디렉토리 구조
FHS 에서는, 모든 파일과 디렉토리가 루트 디렉토리 아래에 표시됩니다. /
다른 물리 디바이스 또는 가상 디바이스에 저장되어 있는 경우에도 마찬가지입니다.이러한 디렉토리 중 일부는 X Window 시스템 등의 특정 서브시스템이 설치되어 있는 경우에만 특정 시스템에 존재합니다.
이러한 디렉토리의 대부분은 모든 Unix와 유사한 운영체제에 존재하며 일반적으로 동일한 방법으로 사용됩니다.단, 여기서 설명하는 것은 FHS용으로 특별히 사용되는 것으로 Linux 이외의 플랫폼에서는 신뢰할 수 없는 것으로 간주됩니다.
디렉토리 | 묘사 |
---|---|
| 전체 파일 시스템 계층의 기본 계층 루트 및 루트 디렉터리입니다. |
| 모든 사용자(cat, ls, cp 등)[3]에 대해 시스템 부팅 또는 복구를 포함하여 단일 사용자 모드로 사용할 수 있어야 하는 필수 명령 바이너리. |
부트 로더 파일(예: 커널, initrd). | |
디바이스 파일(예:/dev/null ,/dev/disk0 ,/dev/sda1 ,/dev/tty ,/dev/random ). | |
| 호스트 고유의 시스템 전체의 설정 파일. 이름 자체의 의미에 대해 논란이 있어 왔다.Bell labs의 UNIX Implementation Document 초기 버전에서는 |
| 에 저장된 추가 기능 패키지의 구성 파일/opt . |
| SGML을 처리하는 소프트웨어용 구성 파일(예: 카탈로그). |
| X Window System 버전 11용 구성 파일입니다. |
| XML을 처리하는 소프트웨어용 구성 파일(예: 카탈로그). |
| 저장된 파일, 개인 설정 등이 들어 있는 사용자의 홈 디렉토리 |
| 의 바이너리에 필수적인 라이브러리/bin 그리고./sbin . |
| 기본 라이브러리를 대체 포맷합니다.일반적으로 명령 집합의 32비트 및 64비트 버전을 지원하는 시스템 등 여러 실행 가능한 코드 형식을 지원하는 시스템에서 사용됩니다.이러한 디렉토리는 옵션이지만 존재하는 경우 몇 가지 요구 사항이 있습니다. |
| CD-ROM 등의 리무버블 미디어의 마운트 포인트(2004년에 FHS-2.3에 기재). |
| 일시적으로 마운트된 파일 시스템. |
| 애드온 애플리케이션 소프트웨어 패키지.[7] |
프로세스 및 커널 정보를 파일로 제공하는 가상 파일 시스템입니다.Linux의 경우 procfs 마운트에 해당합니다.일반적으로 시스템에 의해 즉시 자동으로 생성되고 채워집니다. | |
| 루트 사용자의 홈디렉토리 |
| 런타임 변수 데이터:마지막 부팅 이후 실행 중인 시스템에 대한 정보(예: 현재 로그인한 사용자 및 실행 중인 데몬).이 디렉토리의 파일은 부트 프로세스의 개시시에 삭제 또는 잘라낼 필요가 있습니다만, 이 디렉토리를 임시 파일 시스템(tmpfs)으로 제공하는 시스템에서는 삭제할 필요가 없습니다. |
| 필수 시스템 바이너리(fsck, init, route 등) |
| 웹 서버용 데이터 및 스크립트, FTP 서버에서 제공하는 데이터, 버전 관리 시스템용 저장소 등 이 시스템에서 제공하는 사이트 고유의 데이터(2004년 FHS-2.3에 표시됨) |
| 디바이스, 드라이버 및 일부 커널 [8]기능에 대한 정보가 포함되어 있습니다. |
| 임시 파일의 디렉토리(도 참조)./var/tmp ). 시스템 재부팅 사이에 유지되지 않는 경우가 많아 크기가 크게 제한될 수 있습니다. |
| 읽기 전용 사용자 데이터의 세컨더리 계층. 대부분의 (멀티) 사용자 유틸리티 및 응용 프로그램을 포함합니다.공유 가능하고 읽기 [9][10]전용이어야 합니다. |
| 모든 사용자에게 필수 명령어바이너리(싱글 사용자 모드에서는 필요 없음) |
| 표준 include 파일. |
| 의 바이너리 라이브러리/usr/bin 그리고./usr/sbin . |
| 대체 포맷 라이브러리(예:/usr/lib32 64비트 시스템의 32비트 라이브러리용(옵션)입니다. |
| 로컬 데이터에 대한 세 번째 계층(이 호스트 관련)입니다.일반적으로 추가 서브디렉토리(예:bin ,lib ,share 를 참조해 주세요.[NB 1] |
| 필수가 아닌 시스템 바이너리(예를 들어 다양한 네트워크 서비스용 데몬) |
| 아키텍처에 의존하지 않는(공유) 데이터. |
| 소스 코드(예: 헤더 파일이 있는 커널 소스 코드). |
| X Window 시스템, 버전 11, 릴리스 6(FHS-2.3까지, 옵션). |
| 변수 파일: 로그, 스풀 파일, 임시 전자 메일 파일 등 시스템 정상 작동 중에 내용이 계속 변경될 것으로 예상되는 파일입니다. |
| 응용 프로그램 캐시 데이터이러한 데이터는 시간이 많이 걸리는 I/O 또는 계산의 결과로 로컬로 생성됩니다.애플리케이션은 데이터를 재생성 또는 복원할 수 있어야 합니다.캐시된 파일은 데이터 손실 없이 삭제할 수 있습니다. |
| 상태 정보프로그램 실행 시 영구 데이터 수정(데이터베이스, 패키징 시스템 메타데이터 등) |
| 파일을 잠급니다.현재 사용 중인 리소스를 추적하는 파일입니다. |
| 로그 파일다양한 로그 |
| 우편함 파일배포에 따라서는 이러한 파일이 권장되지 않는 에 배치될 수 있습니다./var/spool/mail . |
| 에 저장된 추가 기능 패키지의 변수 데이터/opt . |
| 런타임 변수 데이터.이 디렉토리에는 시스템이 [11]부팅된 이후의 시스템을 설명하는 시스템 정보 데이터가 포함되어 있습니다. FHS 3.0에서는 |
| 처리 대기 중인 작업(예: 인쇄 대기열 및 발신 메일 대기열)을 위한 스풀입니다. |
| 사용자의 [13]우편함에 사용되지 않는 위치입니다. |
| 재부팅 사이에 보존되는 임시 파일. |
FHS 준거
대부분의 Linux 배포는 Filesystem Hierarchy Standard를 준수하며 FHS [14][15][16][17]컴플라이언스를 유지하는 것을 자체 정책으로 선언합니다.GoboLinux[18] 및 NixOS는[19] 의도적으로 비준수 파일 시스템 구현의 예를 제공합니다.
일부 분포는 일반적으로 표준을 따르지만 일부 영역에서 표준을 벗어납니다.FHS는 "추적 표준"이며, 따라서 한 시점에 일반적인 관행을 문서화합니다.물론 시대가 변하고 분배 목표와 요구는 실험을 필요로 합니다.일반적인 편차는 다음과 같습니다.
- 최신 Linux 디스트리뷰션에는
/sys
가상 파일 시스템으로서의 디렉토리(sysfs, 동등한 것)/proc
(procfs)는 시스템에 [20]접속되어 있는 디바이스를 저장하고 변경할 수 있는 반면 기존 Unix와 유사한 운영체제는/sys
커널 소스 [21]트리에 대한 심볼릭 링크입니다. - 많은 최신 Unix 계열 시스템(FreeB 등)포트 시스템을 통해 SD)를 통해 서드파티 패키지를 설치하다
/usr/local
운영체제의 일부로 간주되는 코드를 유지하면서/usr
. - 일부 Linux 디스트리뷰션에서는 더 이상 이 두 가지를 구분하지 않습니다.
/lib
그리고./usr/lib
가지고 있다/lib
와 관련이 있는./usr/lib
를 클릭합니다.[22] - 일부 Linux 디스트리뷰션에서는 더 이상 이 두 가지를 구분하지 않습니다.
/bin
그리고./usr/bin
사이/sbin
그리고./usr/sbin
심볼링크 할 수 있습니다./bin
로./usr/bin
그리고./sbin
로./usr/sbin
다른 디스트리뷰션에서는 4개의 디스트리뷰션 모두를 통합하고 심볼릭 링크하여/usr/bin
를 클릭합니다.[23]
최신 Linux 디스트리뷰션에는/run
임시 파일 시스템(tmpfs)으로서의 디렉토리.FHS 버전 3.0 이후의 휘발성 런타임 데이터를 저장합니다.FHS 버전 2.3에 따라 이러한 데이터는/var/run
단, 이 디렉토리는 초기 부트 시에 항상 사용할 수 있는 것은 아니기 때문에 문제가 될 수 있습니다.그 결과, 이러한 프로그램들은 다음과 같은 속임수에 의존해야 했습니다./dev/.udev
,/dev/.mdadm
,/dev/.systemd
또는/dev/.mount
디렉토리(디바이스 디렉토리가 이러한 [24]데이터를 대상으로 하고 있지 않은 경우라도)를 참조해 주세요.이 때문에 루트 파일 시스템이 읽기 전용으로 마운트되어 있는 경우 시스템을 정상적으로 사용하기 쉬워집니다.예를 들어, Debian이 2013 Wheezy [25]릴리즈에서 변경한 내용은 다음과 같습니다.
/dev/.*
→/run/*
/dev/shm
→/run/shm
/dev/shm/*
→/run/*
/etc/*
(쓰기 가능한 파일) →/run/*
/lib/init/rw
→/run
/var/lock
→/run/lock
/var/run
→/run
/tmp
→/run/tmp
역사
FHS는 FSTND("파일 시스템 표준"[26]의 줄임말)로 작성되었으며, 주로 다른 Unix 계열 운영 체제의 유사한 표준을 기반으로 합니다.주목할 만한 예는 다음과 같습니다. 버전 7 [27]Unix 출시(1979년)부터 존재해 온 파일 시스템 레이아웃의 hier(7) 설명.SunOS 파일 시스템(7)[28]과 그 후속 버전인 Solaris 파일 시스템(5)[29][30]입니다.
릴리스 이력
버전 | 발매일 | 메모들 |
---|---|---|
버전 더 이상 보수되지 않음 | 1994-02-14 | FSTND[31] |
버전, 보수 1.1 | 1994-10-09 | FSTND[32] |
버전, 보수 1.2 | 1995-03-28 | FSTND[33] |
버전, 보수 2.0 | 1997-10-26 | FHS 2.0은 FSTND 1.2의 직접적인 후계자입니다.표준 이름이 파일 시스템 계층 [34][35][36]표준으로 변경되었습니다. |
버전, 보수 2.1 | 2000-04-12 | FHS[37][38][39] |
버전, 보수 2.2 | 2001-05-23 | FHS[40] |
버전, 보수 2.3 | 2004-01-29 | FHS[41] |
3.0 | 2015-05-18 | FHS[42] |
범례: 구버전 최신 버전 |
「 」를 참조해 주세요.
메모들
- ^ 역사적으로 그리고 엄격하게 기준에 따라
/usr/local
로컬 호스트에 저장해야 하는 데이터용입니다./usr
(네트워크 경유로 마운트 할 수 있습니다).대부분의 시간./usr/local
는 표준 운영체제 배포에 포함되지 않은 소프트웨어/데이터를 설치하기 위해 사용됩니다(이 경우,/usr
에는 표준 운영체제 배포판의 일부인 소프트웨어/데이터만 포함됩니다).FHS 표준은 향후 이 사실상의 협약을 반영하도록 변경될 수 있다.
레퍼런스
- ^ "FHS". The Linux Foundation Wiki. Retrieved 4 January 2022.
- ^ "FHS 3.0 Released". 3 June 2015.
- ^ "hier(7) - Linux manual page". man7.org. Retrieved 6 January 2021.
- ^ J. DeFelicc (17 March 1972). "E.0". Preliminary Release of UNIX Implementation Document (PDF). p. 8. IMO.1-1.
- ^ "/etc : Host-specific system configuration". Filesystem Hierarchy Standard 2.3. Retrieved 18 February 2016.
- ^ 정의 - /etc?, Cliff에 의해 게시됨, 2007년 3월 3일 - 슬래시닷.
- ^ "/opt : Add-on application software packages". Filesystem Hierarchy Standard 2.3. Retrieved 18 February 2016.
- ^ "/sys : Kernel and system information virtual filesystem". Filesystem Hierarchy Standard 3.0. Retrieved 4 June 2017.
- ^ "Chapter 4. The /usr Hierarchy". Filesystem Hierarchy Standard 2.3.
- ^ "Chapter 4. The /usr Hierarchy, Section 4.1 Purpose". Filesystem Hierarchy Standard 3.0.
- ^ "/var/run : Run-time variable data". Filesystem Hierarchy Standard 2.3.
- ^ "5.13. /var/run : Run-time variable data". Filesystem Hierarchy Standard 3.0.
- ^ "File System Standard" (PDF). Linux Foundation. p. 5.11.1.
- ^ 파일 시스템 구조에 대한 Red Hat 참조 가이드.
- ^ SuSE Linux Enterprise Server Administration, Novell 인정 코스웨어, Novell, Course Technology, 2006, ISBN 1-4188-3731-8, ISBN 978-1-4188-3731-0.
- ^ FHS 준거에 관한 데비안 정책.
- ^ Ubuntu Linux 파일 시스템 트리 개요– 커뮤니티 Ubuntu 문서
- ^ Hisham Muhammad (9 May 2003). "The Unix tree rethought: an introduction to GoboLinux". Retrieved 4 October 2016.
- ^ Dolstra, E.; Löh, A. (September 2008). NixOS: A Purely Functional Linux Distribution (PDF). ICFP 2008: 13th ACM SIGPLAN International Conference on Functional Programming. Victoria, British Columbia, Canada. pp. 367–378.
- ^ "5.3 About the /sys Virtual File System". docs.oracle.com. Oracle. Archived from the original on 8 July 2016. Retrieved 8 July 2016.
- ^ Lehey, Greg (May 2003). The Complete FreeBSD: Documentation from the Source (Fourth ed.). O'Reilly Media, Incorporated. pp. 188, 609. ISBN 9780596005160.
- ^ Allan McRae. "Arch Linux – News: The /lib directory becomes a symlink". archlinux.org. Archived from the original on 9 September 2014. Retrieved 14 December 2019.
- ^ Allan McRae. "Arch Linux – News: Binaries move to /usr/bin requiring update intervention". archlinux.org. Archived from the original on 10 September 2014. Retrieved 15 December 2019.
- ^ Lennart Poettering (30 March 2011). "What's this /run directory doing on my system and where does it come from?". [email protected] (Mailing list).
- ^ "ReleaseGoalsRunDirectory". Debian Wiki.
- ^ "FSSTND FAQ page". Retrieved 10 May 2016.
- ^ FreeBSD 기타 정보 매뉴얼 –
- ^ 파일 시스템용 SunOS 4.1.3 매뉴얼 페이지(FreeB에서 1988년 1월 10일)SD Man Pages 라이브러리).
- ^ Solaris 10 Standards, Environments and Macros 레퍼런스 매뉴얼 –
- ^ "filesystem man page – Solaris 10 11/06 Man Pages". Archived from the original on 4 July 2007. Retrieved 15 October 2011.
- ^ "Index of /pub/Linux/docs/fsstnd/old/fsstnd-1.0/". Ibiblio.org. Retrieved 16 October 2012.
- ^ "Index of /pub/Linux/docs/fsstnd/old/fsstnd-1.1/". Ibiblio.org. Retrieved 16 October 2012.
- ^ "Index of /pub/Linux/docs/fsstnd/old/". Ibiblio.org. Retrieved 16 October 2012.
- ^ "FHS 2.0 Announcement". Pathname.com. Retrieved 16 October 2012.
- ^ 를 클릭합니다Quinlan, Daniel (14 March 2012) [1997], "FHS 2.0 Announcement", BSD, Linux, Unix and The Internet – Research by Kenneth R. Saborio, San Jose, Costa Rica: Kenneth R. Saborio, archived from the original on 5 March 2016, retrieved 18 February 2016.
- ^ "Index of /pub/Linux/docs/fsstnd/". Ibiblio.org. Retrieved 16 October 2012.
- ^ "FHS 2.1 Announcement". Pathname.com. Retrieved 16 October 2012.
- ^ "FHS 2.1 is released". Lists.debian.org. 13 April 2000. Retrieved 16 October 2012.
- ^ Quinlan, Daniel (12 April 2000). "Filesystem Hierarchy Standard – Version 2.1, Filesystem Hierarchy Standard Group" (PDF). Acadia Linux Tutorials. Wolfville, Nova Scotia, Canada: Jodrey School of Computer Science, Acadia University. Archived from the original (PDF) on 27 March 2012. Retrieved 18 October 2012.
- ^ Russell, Rusty; Quinlan, Daniel, eds. (23 May 2001). "Filesystem Hierarchy Standard – Version 2.2 final Filesystem Hierarchy Standard Group" (PDF). Filesystem Hierarchy Standard. Retrieved 18 February 2016.
- ^ Russell, Rusty; Quinlan, Daniel; Yeoh, Christopher, eds. (28 January 2004). "Filesystem Hierarchy Standard - Filesystem Hierarchy Standard Group" (PDF). Retrieved 29 November 2014.
- ^ Yeoh, Christopher; Russell, Rusty; Quinlan, Daniel, eds. (19 March 2015). "Filesystem Hierarchy Standard" (PDF). The Linux Foundation. Retrieved 20 May 2015.
외부 링크
- Linux Foundation의 파일 시스템 계층 표준(FHS) 공식 홈
- objectroot – 객체 지향 설계 원칙에 기초한 새로운 파일 시스템 계층에 대한 제안
- 닷이 있는 표준 파일 이름 계층, 또 다른 매우 다른 계층(cLIeNUX에서 사용)(미러)
- Linux 프로그래머 매뉴얼– 개요, 표기법 및 Miscellanea –