이만가지 IT&정보보안/리눅스 정리

리눅스 정리 : 리눅스 파일시스템과 파티션

이만가지 오만가지 2020. 4. 22.
728x90

 

● 파일시스템과 파티션

 

  □ 파일시스템의 이해

 

   - 파일시스템 : 파일을 저장하기 위한 운영체제의 논리적인 구조

    . 각 OS들은 여러 개의 파일 시스템을 지원한다.

    . Linux : ext3, ext2, xfs, jfs, ReiserFS....

    . Windows : FAT, FAT32, NTFS...

 

   - 파티션 : 물리적인 디스크를 놀리적인 저장영역으로 구별한 것

   - MBR (Marster Boot Record) : 윈도우나 유닉스가 사용할수 없는 영역, 특정파티션에 대한 정보를 가지고 있음, 

                                     디스크의 앞쪽이 물리적으로 정의되어있는 sector OS가 직접 사용하지 않으며 부트로더가 저장된다.

 

  □ 파티션의 종류

 

   - Primary partition : 물리적인 디스크에 독립적으로 존재하며 파일시스템을 생성, 운영체제가 직접 사용 가능하다. 

                         각 물리적인 디스크마다 4개까지 생성할 수 있다.

 

   - Extended partition : 디스크마다 1개씩 까지 생성 가능하며 직접 사용할 수 없고 logical partition으로 분할 사용한다.

                           (Logical partition을 만들기위한 공간)

 

   - Logical partition : Extended partition내에 만들어지며 사용은 pariary partition과 동일하다.

 

   - P+E는 최대 4개까지 생성 가능하다.

 

 

 

 

  □ 디스크 장치파일

 

   - IDE 

     . 디스크자체 : /dev/hda, /dev/hdb, /dev/hdc

     . 파티션 : /dev/hda1, /dev/hda2, /dev/hda3...

 

   - SCSI, SATA

     . 디스크자체 : /dev/sda, /dev/sdb, /dev/sdc

     . 파티션 : /dev/sda1, /dev/sda2, /dev/sda3...

 

 □ 디스크 확인

 

   - df

     . 디스크의 마운트 상태와 용량을 확인

     . 옵션

 

 -T

 파일 시스템 타입까지 출력한다

 -h

 읽기 쉬운 단위로 출력한다

 

 

□ 디스크 사용과정

 

   - fdisk(파티션 만들기) → mkfs(파일시스템 생성(포멧)) → mount(디렉토리에 마운트)

 

□ 파티션 생성

 

   - fdisk

     . 물리적인 디스크에 논리적인 파티션을 생성하는데 사용되는 명령어

     . # fdisk 디스크명

     . # fdisk /dev/sda

 

   - fdisk 프롬프트에서 사용하는 명령

 

     . p : 현재 파티션 상태 출력

     . d : 파티션 삭제

     . n : 파티션 생성(리눅스 네이티브 파티션만 만들 수 있음)

     . t : 파티션 변경

     . w : 저장 후 종료

     . q : 취소 후 종료

 

 

 

 

 

 

 

 

  □ 파일 시스템 생성

 

   - mkfs

     . 파티션에 파일 시스템을 만들어 준다

     . # mkfs -t [파일시스템 타입] 파티션명

 

 

 

  □ mount

 

   - mount

 

     . 파일시스템은 지정한 디렉토리에 연결해서 사용 가능하도록 한다

     . # mount [-a] [-t [FStype]] [장치명] [디렉토리]

     . 옵션

 

 -a

 /etc/fstab의 내용을 읽어 모두 mount 한다

 -t

 파일 시스템 양식을 정한다

 -o

 마운트 옵션을 추가로 지정한다

  . remount : 옵션을 변경한다 (파일이 변경된 경우)

  . ro : R only로 정의한다

 

 

    - iso9660이나 ext2등의 기본 파티션들은 파일 시스템 타입을 지정하지 않아도 자동으로 인식가능하며 

       NTFS의 경우 리눅스 시스템마다 지원여부를 따로 확인해야 한다. 만일 지원되지 않는 경우 커널을 재컴파일하면 지원 가능하다.

    ex : mount -t ext3 /dev/sdb1 /data1

         mount -t iso9660 /dev/cdrom /cdrom

 

 

 

 

 

   □ unmount

 

     - mount된 파일시스템을 시스템으로 부터 제거 한다

     - # umount [디렉토리명] 또는 [장치명]

         (참고) cd 빼기 명령어 # eject

 

 

   □ UUID와 라벨명

 

     - 파티션의 정보 확인

      . # blkid

      . UUID는 파티션의 고유 정보로 디스크의 위치가 바뀌어도 동일하게 유지된다.

      . UUD는 mount 명령에서 이용 가능하다.

 

 

 

   - 파티션 정보확인 (명령이 없는 경우도 있다)

    . #/lib/udev/vol_id [파티션]

 

     - UUID를 이용한 mount

 

 

     - e2lable

 

      . 파티션에 라벨명 할당 변경하거나 확인한다.

      . e2label 장치명 라벨명  (라벨명을 강제로 할당)

      . e2label 장치명 ''         (라벨명을 없앨때)

      . e2label 장치명            (라벨명 출력)

       

리눅스 설치시에 생성되는 파티션의 경우 자동으로 마운트되는 디렉토리 이름을 라벨명으로 할당한다. 사용자가 임의로 할당하는 경우 'abc' '123'  등과 같이 라벨명을 지정해도되지만 보통 디폴트 명명 규칙에 따라 마운트될 디렉토리 명으로 할당한다. 그냥디바이스명을 쓰는것이 좋다. 마운트를 라벨명으로 할 수 있다.

 

 

 

 

 

 

     - findfs

      . UUID나 라벨명으로 장치명을 확인한다

      . # findfs LABEL = [라벨명]

      . # findfs UUID  = [장치명]

 

 

 

 

 

728x90

댓글

💲 추천 글