티스토리 뷰

Study/Linux

[Linux] Filesystem Hierarachy Standard(FHS)

생각많은 소심남 2016. 4. 25. 23:37


Linux의 Filesystem은 매우 간단하다. 딱 한가지로 표현할 수 있는 단어가 "One Big Filesystem", 즉 엄청 큰 Filesystem이라는 것이다. 구글링에서 열심히 Linux Filesystem을 검색해도 흔히 볼수 있겠지만 일반적으로 이런 형태를 지니고 있다.


<Debian 계열에서의 Filesystem 구조*>


여기서 One Big Filesystem이 의미하는 것이 가장 최상위에 있는 '/' root directory가 되는 것이고, 세부 폴더들이 아래로 계층적으로 나열되어 있다. 보통 Linux와 같이 모든 UNIX계열의 OS에서는 이런 구조를 띈다. 물론 옛날 Linux가 정형화되기 이전에는 이런 형태가 아닌 다양한 형태의 Filesystem 형태가 있었지만 현재에 이르러서는 위의 이미지와 같은 형태로 통일되었다. 아마 현재 나와있는 어떤 Linux Distribution을 사용하건 해당 File system을 살펴보면 어디서나 /bin, /dev /home /boot 같은 폴더들을 확인할 수 있다. 이런 규격을 Filesystem Hierarchy Standard (FHS) 라고 한다. 원래는 Free Standards Group이라는 곳에서 관리하던 규격이었지만, 현재는 Linux Foundation에서 관리하며 root directory내에 존재해야 할 폴더와 그 목적에 대해서 기술하고 있다. 위키에서도 이런 형태에 대해서 다음과 같이 정의하고 있으니 참고해보면 좋을거 같다. 아무튼 간단히 요약하면 다음과 같다.


물론 모든 Linux Distribution에서 꼭 FHS에 맞춰서만 폴더를 만들 필요는 없다. 상황에 따라서는, 혹은 용도에 따라서는 자기만의 폴더를 생성하고 거기에 맞는 파일들을 넣을 수 있다. 일반적으로 통용되는게 위에서도 명시되어 있는 sys 폴더이다. sys폴더, 혹은 sysfs는 일종의 virtual filesystem인데, system과 연결되어 있는 device를 다룰 수 있는 기능을 제공한다. 나같은 경우도 회사에서 하는 일이 어떤 시스템에 달려있는 IP에 대한 Device Driver를 만드는 것인데, sysfs나 debugfs 같은 것을 사용하면 user level에서도 memory-mapped된 device에 접근할 수 있어 debugging시 유용하게 사용할 수 있다. 이처럼 FHS에 정의되어 있지는 않지만, 사용자 편의에 의하여 암묵적으로 통용되는 폴더들이 존재한다.


출처:

 * : http://www.informatics.buzdo.com/p778-debian-root-boot-bin-lib-dev.htm

'Study > Linux' 카테고리의 다른 글

[Linux] Kernel Modules  (0) 2016.04.29
[Linux] FHS를 이루는 폴더들 (2)  (0) 2016.04.27
[Linux] FHS를 이루는 폴더들 (1)  (0) 2016.04.27
[Linux] Service  (0) 2016.04.24
[Linux] SysVinit runlevel  (0) 2016.04.22
[Linux] init process  (0) 2016.04.21
[Bootloader] u-boot 로 qspi booting시 확인 사항 (zc706기준)  (0) 2015.12.16
댓글