리눅스 파티션과 디렉토리
파티션의 종류
파티션 | 설명 |
주 파티션 | 기본 파티션이다. 하나의 하드디스크에는 주 파티션과 확장 파티션을 네 개까지만 만들 수 있는 제한이 있다. 네 개 이상의 파티션이 필요한 경우 확장 파티션을 만들어 그 안에 논리 파티션을 두게 된다. |
확장 파티션 | 하드 디스크를 여러 개의 파티션으로 나누고자 할 때 만드는 파티션이다. 확장 파티션은 저장 공간이 없으며, 논리 파티션을 만들 수 있게 해주는 커다란 그릇 역할만 한다. 확장 파티션은 디스크에 하나만 만들 수 있다. |
논리 파티션 | 네 개 이상의 파티션을 사용하게 되는 경우 hda4를 확장 파티션으로 지정하여 논리 파티션을 만들게 된다. |
리눅스의 파티션
IDE 컨트롤러에 연결되어 있는 하드디스크는 ‘/dev/hd?'의 형식으로 인식되며 순서에 따라 하드디스크를 hda, hdb, hdc, hdd 등으로 표현하게 된다. 주변장치를 관리하는 디렉토리 /dev 속에 다음과 같이 존재한다.
/dev/hda : Primary master 하드디스크 /dev/hdb : Primary slave 하드디스크 /dev/hdc : Secondary master 하드디스크 /dev/hdd : Secondary slave 하드디스크
하드디스크에 파티션을 나누게 되면 ‘/dev/hd?’에 숫자를 붙여서 구분하게 된다.
/dev/hda1 : Primary master 하드디스크 첫 번째 파티션 /dev/hda2 : Primary master 하드디스크 두 번째 파티션 ...... /dev/hdb1 : Primary slave 하드디스크 첫 번째 파티션 /dev/hdb2 : Primary slave 하드디스크 두 번째 파티션 ......
주 파티션 및 확장 파티션의 경우 1부터 4까지 파티션을 가지며 5부터의 파티션은 그 하드디스크의 논리 파티션을 의미한다.
파티션 | 리눅스 파티션 표시법 |
주 파티션 | hda1, hda2, hda3 |
확장 파티션 | hda4 |
논리 파티션 | hda5, hda6, hda7… |
확장 파티션은 사용자에 따라서 hda1, hda2, hda3, hda4의 주 파티션 중 하나만이 확장 파티션이 될 수 있다. 주 파티션과 확장 파티션은 4개로 정해져 있기 때문에 hda1, hda2, hda3, hda4는 논리 파티션이 될 수 없고 반드시hda5부터 시작되어야 한다. 리눅스는 하드디스크와 파티션이 확실히 구분되므로 하드디스크가 두 개 존재한다면hda1, hdb1 등으로 분리하여 구분 할 수 있다.
파티션 제약
분할된 파티션의 정보를 담고 있는 파티션 테이블의 용량이 제한되어 있기 때문에 하나의 하드디스크로 만들 수 있는 주 파티션의 개수는 최대 4개이다. 이러한 제한을 보완하여 주 파티션 네 개에서 더 많은 파티션이 필요한 경우 네 개의 파티션 중 하나를 확장 파티션, 그 안에 논리 파티션(hda5,hda6,hda7…)을 만들 수 있다. 하나의 하드에 만들 수 있는 최대 파티션의 수는 16개(주 파티션 3+ 확장 파티션 1 + 논리 파티션 12)이고 Data를 저장하기 위한 파티션은 15개가 된다. 논리파티션은 확장 파티션을 생성하기 위한 그릇에 불가하므로 Data를 저장 할 수 없기 때문이다.
리눅스의 파티션의 개수
리눅스는 단일 파티션을 가지고 설치 할 수 없으며 최소 두 개 이상의 파티션이 필요하다.
파일 트리 구조
디렉토리 | 내용 |
/ | 루트 디렉토리, 부팅에 필요한 시스템 파일이 위치 |
/bin (binaries) | 실행 가능한 파일이 위치 한 곳 (echo, mv, copy, pwd, who) |
/sbin (system binaries) | 시스템 관리, 부팅, 복구, 보수 등을 위한 명령어가 있는 곳 시스템의 운영을 위해 루트 파일 시스템에 있어야 할 명령어들이다. /usr/sbin : /usr이 마운트 된 이후 실행되는 프로그램들 /usr/local/sbin : 로컬 시스템을 위해 새로 설치한 관리 프로그램이 위치 |
/etc | 시스템의 환경 설정 및 주요 설정 파일이 위치 (passwd, hosts, xinetd, cont 등) |
/tmp | 프로그램 실행 및 설치 시 생성되는 임시 파일이 위치 /tmp 하위에 파일을 저장 할 경우 재 부팅 시 임의로 삭제 될 수도 있다. |
/lib | 기본적인 프로그램의 모듈이 위치 |
/boot | 커널을 위한 프로그램 파일이 위치, 부팅 시 사용 |
/mnt | 플로피 디스크, CD-ROM, 삼바(Samba) 등을 마운트 하기 위해서 제공되는 디렉토리. 임시로 사용되는 디렉토리 이므로 프로그램은 /mnt 디렉토리에 어떠한 파일 시스템이 마운트 되었는지 자동으로 인식하지 못한다. (Fedora Core 2 이전 버젼에서 사용) |
/media | Fedora Core 3 부터 CD-ROM, CD-RW, 플로피, USB 마운트 지점으로 새로 생성된 디렉토리. |
/dev | 프린터나 터미널 같은 물리적인 장치를 다루기 위한 특수 파일이 위치 물리적인 용량을 가지지 않음 |
/home | 각 사용자의 작업 디렉토리가 위치, 각 계정으로 로그인 할 때 계정의 작업 디렉토리가 시작 디렉토리가 된다. |
/var | 로그 파일들이 위치, 외부의 사용자들에 의해 영향을 받을 수 있기 때문에 별도의 파티션으로 분리하는 것이 바람직하다. |
/usr | 사용자가 직접 쓰는 파일이 위치, 다른 디렉토리에 있는 파일이 링크되어 위치 |
/usr/X11R6 | X 윈도우 시스템에 사용되는 모든 파일, X 윈도우 시스템의 개발과 설치를 쉽게 하기 위해 전체 시스템 디렉토리 구조에 통합되지 않고 독자적 구조를 갖는다. |
/usr/lib | C, fortran의 라이브러리 디렉토리 |
/usr/include | C 언어에 사용되는 헤더 파일이 위치 |
/proc | 시스템의 프로세스, 프로그램 정보, 하드웨어적인 정보들이 저장. 가상 디렉토리 시스템으로 물리적인 용량을 갖지 않는다. 디렉토리 안에 있는 파일들은 현재의 시스템 설정을 보여줌 |
별도의 파티션으로 나누어 시스템을 구성하면 디렉토리가 각각 파티션으로 독립되어 존재한다. 주 파티션과 확장 파티션4개까지 만들 수 있는 점을 유의하여 4개 이상의 파티션 공간을 할당할 때 디스크 드라이브가 자동적으로 확장 파티션을 만들어 hda5부터 논리 파티션으로 할당된다.
장치 | 마운트 지점 | 용량 |
/dev/hda1(주파티션) | / | 1536 |
/dev/hda2(주파티션) | /usr | 3584 |
/dev/hda3(주파티션) | /home | 1536 |
/dev/hda5(논리 파티션) | /swap | 512 |
/dev/hda6(논리 파티션) | /var | 1024 |
총용량 : 8192MB(=8GB) |