###1. FS(File System)

  • FS의 종류
  • 새로운 FS를 만드는 법

##1. FS는 OS의 매우 큰 부분을 차지 한다.

Computer 시스템에서 메모리는 read , write 작업을 담당하는데 이 메모리의 역할 중 일부분을 FS가 담당함.

 #2. FS는 데이터베이스는 파일(디렉토리도 파일의 일종)을 저장하는 데이터 베이스의 일종으로도 볼 수 있다.

#3. 파일 시스템 타입

Linux:  xfs, ext4 ...

Windows: ntfs, exfat, fat32 ...

 

**Cow : Copy on Write

 

#4 새로운 FS 만드는 법

순서

1) Partitioning

 a) command :  fdisk, parted 

      **(유틸리티,  parted: partition editor)

2) File System

 a) command: mkfs(==format), fsck or xfs_*    

  **mkfs: make file system

  **fsck : file system checking

 3) Mount

  a) command : mount / umount

   **파일시스템을 다 만들어지면 이를 사용하고자 적재(load) 하는 과정을 mount 라 부른다.

    기존파일시스템에 새 파일시스템이 올라타는 뜻이다.

  b) /etc/fstab : information file about the file system    //mount를 자동화하기 위한 설정파일

     => device file (구버젼) 

     =>  LABEL / UUID

 

  **~tab :   table

 

 

##2. 파티션 작업

#1. 파티션 정의

 

파티션은 Physical (하드웨어) 또는 logical (SW 시스템) 구획이 존재

https://dakuo.tistory.com/60

 

파티션(Partition)의 개념

파티션(Partition)이란 쉽게 말하면 방입니다. 하나의 집에(물리적인 하드디스크) 여러개의 방(partition 파티션)을 만드는 것이죠. 방에는 2 종류가 있습니다. 1. 살림을 차릴수 있는 원룸(Primary 주파

dakuo.tistory.com

 

100T라는 디스크는 세상에 없지만 10T 디스크를 10개 구매하여 시스템적으로 묶어 100T라를 구현하는 기법이 Logical 기법이다. (Logical Volume Manager , LVM)

 

##3 . Partition: disklabel type

Physical 디스크 disklabel 작업을 해야한다. 

#1. Physical disk의 disklabel 타입은 2가지

1)DOS 방식( == msdos방식) : 고전적

=>2TB 제한

==>tool: fdisk 사용

2)GPT 방식: dos레이블 문제 개선 위한 새로 나온 방식

=>용량제한 x

=> parted / gparted  또는 gdisk  그리고  fdisk 를 사용한다,.

 

#2. Dos partion 종류

=> Primary partion(주 파티션),  Extended partion(확장 파티션), Logical drive(논리 드라이브)

 

#3. Primary partion 은 디스크 당 4개의 파티션들을 만들 수 있다. 그 이상은 못만듦.

#4. Extended partion  은 4개 초과의 파티션이 필요 할 시 primary partition 대신 1개를 만들 수 있다. 그리고 다시 extended 파티션 내부에서 여러개 의 logical drive로 나눌 수 있어 결과적으로 5개이상의 파티션이 필요할 때 사용한다.

 

extended는 Primary partion이 1개여도 ,2 개여도 만들 수 있다. 즉 만드는건 제약없다.

Primary partion 없는 경우에도 Extend partion만 하나 사용해서 그 안에 logical drive 로 나눠 해당 갯수만큼 파티션을 사용할 수 있다.

 

Primary partion 1나,  extended partion 1 ( logical drive, logical drive, empty) 

--> 총 3개의 파티션이다.

extended partion 1(logical drive, logical drive)

--> 총 2개의 파티션이다.

 

###2.  f 디스크

파티션만들자.

##1. fdisk : legacy command

fdisk -l   " 해당 명령어는 고전으로
lsblk     " 주로  lsblk를 많이 사용하여 현 FS리스트를 출력할 수 있다.

fdisk <block device>     "편집 기능으로 들어감

 

##2. Block device

#1 저장 장치를 의미.  <->.   I/O장치는 character 디바이스로  불리며  키보드 ,마우스 등이 있다.

1) /dev/sd[abcd...]     /

 

=>  SCSI disk   

=> Serial type: SATA , USB       

=>sd로 작동하는건 시리얼 타입이 많다.

=>첫번쨰 디스크엔 a가  두번째디스크엔 b가 붙음...  eg. FD에 SATA 2개 있을 시   /dev/sda  , /dev/sdb 가 있다는것을 의미 여기서 usb를 연결하여 메모리 추가 시  해당 usb는  sdc가 된다 . 연결 순서대로 a,b,c,...  가 붙게됨

 =>모든 디바이스는 dev 디렉토리에 있다.

 **SCSI(==발음 scuzzy)   , 스커지 디스크로 서버에서 많이 사용

 

2) /dev/hd[abcd]    //hd 가 붙은건 IDE 디스크인데 거의 사장 됬다.

 =>과거에 사용 : IDE disk

 

NVME  SDS 사용시 dev/NVME 로 뜸.

 

# fdisk /dev/sda      '루트권한으로 작업하기

 

m : help 메뉴

명령어 설명
a 부트 활성 플래그 지정(DOS, Windows 계열의 boot 드라이브 지정
d 파티션 삭제
l 알려진 파티션 ID(파티션 타입)  , 리눅스 FD는 다른 OS의 파티션도 만들 수 있기에 다른 OS 파티션 번호 볼 때 사용.
n 새로운 파티션 생성
p 현재 파티션 상태 출력
t 파티션 ID (타입 )변경   
(Default는 리눅스 파티션,  windows 에서 사용하는 파티션으로 변경 시 사용 (transition)
q 변경상태 저장 안코 종료
w 변경 상태 저장 후 종료

 

참고로 실습은 무조건 q로 나가자

 

st-1 ) 파티션 리스트

 p 입력

st-2) 파티션 삭제 

  d 입력

st-3)  주파티션 생성

 n 을 통해  e와 p 중 p 입력 그리고 원하는 설정을 하면된다.  +1000M == +1G 의미.

+4000M  또는 +4G 로 가능.

섹터가 2048 ~4000 M 를 가진 주 파티션1 을 생성하는 과정을 보고 있다.

 

 

 st-4) extended partion 생성 

파티션 넘버는 1에 주파티션을 할당했으니, 2~4 중 하나이지만, 관례적으로 extended 는 4번이다.

 

섹터 범위는 default 로했다. (실습이니 )

first는  맨 처음 위치이고 Last sector에서 defalut는 끝위치로 첫번째와 두번쨰가 default 므로 전체가 다 할당됨

 

st-5) 논리 드라이브 만들기

extended 만들었으면 n 입력 시 logical이 나온다.

 

8196096  ~ +8G  까지의 섹터를 갖는 논리 드라이브 만들어준다.

 

 

p  명령 통해 현재 작업상황 즉 우리가 만든 드라이브 를 볼 수 있다.

 

 

st-6) 논리 드라이브 파티션 ID 타입 변경 (82번으로 변경)

 sda5 파티션 ID가 83 -> 82(리눅스 스왑) 으로 변경됨

 

 

다시 sda5 파티션 ID 변경해보자

L 입력통해 파티션 ID 타입 확인하여  7번을 선택했다.

파티션 ID가 NTFS 로 변경됨을 확인 할 수 있다.

 

자 이제 실습을 완료했으니 q 나 CTRL -C (SIGINT 를 프로세스 에 날려서 프로세스를 죽임)  (저장하지 않코 종료) 로 나가자!

 

 

파티션 크기는 완전히 같게 할 필요없으며, 비슷한 비율로 파티셔닝을 하면 된다.

 

 

해당 내용은  프로그래머스 리눅스 강의 김선영 선생님의 강의를 들으며 기록했습니다.

+ Recent posts