japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~

 
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.
 
 
    리눅스>>기타>>


디스크파티션설정및관리강좌 fdisk 1편
 

디스크파티션설정및관리강좌 fdisk  1

 

 

 

--      --

 

1   : 디스크파티션 설정, 관리를 위한 fdisk 개론

2   : 현재 모든 디스크의 파티션설정현황 파악하기

3   : 특정 파티션을 대상으로한 fdisk 시작과 종료

4   : 해당 디스크장치가 존재하지 않을 경우의 fdisk실행

5   : fdisk모드에서 현재 설정된 디스크 파티션정보 확인하기

6   : fdisk로 하드디스크 파티션 설정하기

7   : 파티션 타입(types) 확인하기

8   : 스왑영역으로 사용할 파티션 설정하기

9   : 리눅스 부팅파티션 설정하기

10  : 특정 파티션 삭제하기

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 : 디스크파티션 설정, 관리를 위한 fdisk 개론

 

fdisk명령어는 파티션테이블을 관리하는 명령어입니다.  , 리눅스의 디스크파티션을 생성, 수정, 삭제할 수 있는 일종의 유틸리티라고 할 수 있습니다. 

 

“fdisk를 이용하여 디스크를 원하는 형태로 파티션작업을 정확하게 하실 수 있습니까?”라고 필자가 묻는다면 자신있게 라고 대답하실 수 있는 분이 얼마나 계실까요.  흔히 디스크파티션작업은 fdisk로 한다라고 알고 있으며 fdisk의 기본적인 사용법은 이미 알고 계실 것이라 생각합니다. 하지만, fdisk로 정확한 파티션작업을 할 수 있느냐라고 묻는다면 자신있게 대답할 수 있는 분은 그렇게 많지 않을 것입니다.  , fdisk의 정확한 사용법에 대해서 확실하게 알고 계셔야 한다는 것이 필자의 주장입니다.  조금만 공부하면 fdisk를 이용하여 파티션작업을 할 수는 있을 것입니다. 하지만 운영체제라는 관점에서 디스크의 파티션개념과 설정작업은 우리들에게 많은 것을 생각하도록 합니다.

 

필자는 이번 기회를 통해서 fdisk로 파티션설정하는 작업에 대해 상세한 실무활용법을 설명 드리고자 합니다.

 

기존에 사용하고 있던 디스크의 파티션을 재수정하여 저장하게 되면 디스크에 존재하고 있던 데이터가 모두 삭제되므로 주의하셔야 합니다.

 

fdisk로 리눅스 설치시에 장착된 디스크의 파티션을 설정하기도하며 이미 사용중이던 디스크의 파티션을 새로 설정할 수도 있으며 디스크를 추가하여 사용하려고 할 경우에도 fdisk로 파티션을 생성하여 사용하게 됩니다.  서버관리자라면 누구나 알고 있어야하는 것이며 MS-DOS시절에도 fdisk로 파티션을 생성한 후에 포맷을 하여 사용을 하였던 것 처럼 리눅스에서도 파티션을 생성한 후에 mkfs mke2fs로 생성한 파티션을 포맷하여 파일시스템을 생성하는 작업을 하게 됩니다.

 

또한 fdisk실행 후에 사용하는 몇가지 명령어들이 있으므로 이를 완전히 익히신 후에 실무에서 사용하셔야 합니다.

 

명령어위치 : /sbin/fdisk

 

사용형식 :   fdisk [-l] [-v] [-s 파티션] [장치이름]

 

fdisk에서 파티션 설정작업에 사용하는 명령어를 간략히 요약하면 다음과 같습니다.

 

       a  부팅파티션을 설정할 수 있음.

       b  BSD로 디스크라벨 설정.

       c  DOS호환가능한 플래그 설정.

       d  파티션을 삭제할 수 있음.

       l  설정가능한 파티션 타입을 보여줌.

       m  파티션 설정도움말을 보여줌.

       n  새로운 파티션을 생성할 수 있음.

       o  새로운 도스파티션 테이블을 생성함.

       p  현재 설정된 파티션정보를 보여줌.

       q  설정된 정보를 저장하지않고 fdisk를 빠져나감.

       s  SUN 디스크라벨을 생성함.

       t  파티션 타입을 변경할 수 있음.

       u  유닛(units)정보를 열람하거나 변경할 수 있음.

       v  지정된 파티션을 검사함.

       w  현재까지 설정한 파티션정보를 저장하고 fdisk를 빠져나감.

       x  파티션설정 전문가 모드로 들어감. 이 전문가 모드에서는 실린더(cylinder)수나 헤드(head)수 그리고 트랙(track)당 섹터(sector)수를 변경할 수 있음.

 

이제 fdisk를 이용하여 디스크 파티션작업을 하려면 디스크장치명에 대한 정확한 이해가 필요합니다.  , IDE디스크냐 SCSI디스크냐에 따라서 다음과 같은 장치명이 주어집니다. 디스크장치명과 디스크 파티션명을 어떻게 표기하고 구분하는가를 아래 설명을 보시고 정확하게 이해하시기 바랍니다. 이것이 fdisk를 정확하게 사용하기 위한 기초사항입니다.

 

[참고사항]
이 책의 grub명령어편에 나오는 실무명령어# 105-3 : GRUB에서의 디스크파티션명과 리눅스에서의 디스크파티션명 구분하기의 설명과 함께 보시기 바랍니다. 보다 정확한 이해를 하실 수 있습니다.

 

       /dev/hda      : 첫번째(a) IDE 디스크(hd)

       /dev/hdb      : 두번째(b) IDE 디스크(hd)

       /dev/hdc      : 세번째(c) IDE 디스크(hd)

       /dev/hdd      : 네번째(d) IDE 디스크(hd)

 

       /dev/sda      : 첫번째(a) SCSI 디스크(sd)

       /dev/sdb      : 두번째(b) SCSI 디스크(sd)

       /dev/sdc      : 세번째(c) SCSI 디스크(sd)

       /dev/sdd      : 네번째(d) SCSI 디스크(sd)

       /dev/sde      : 다섯번째(e) SCSI 디스크(sd)

       /dev/sdf      : 여섯번째(f) SCSI 디스크(sd)

       /dev/sdg      : 일곱번째(g) SCSI 디스크(sd)

 

이상과 같이 구분합니다.  그렇다면 디스크의 전체를 가리키는 장치명과 디스크내의 파티션을 의미하는 파티션은 어떻게 표시할까요?

 

간단히 IDE디스크 하나를 5개의 파티션으로 나누었다고 가정 하겠습니다.

 

       /dev/hda  : 첫번째(a) IDE디스크 전체를 의미할때 사용하는 장치명.

       /dev/hda1 : 첫번째(a) IDE디스크 내의 첫번째 파티션을 의미함.

       /dev/hda2 : 첫번째(a) IDE디스크 내의 두번째 파티션을 의미함.

       /dev/hda3 : 첫번째(a) IDE디스크 내의 세번째 파티션을 의미함.

       /dev/hda4 : 첫번째(a) IDE디스크 내의 네번째 파티션을 의미함.

       /dev/hda5 : 첫번째(a) IDE디스크 내의 다섯번째 파티션을 의미함.

 

따라서 뒤에 숫자번호가 붙지않은 장치명과 붙은 장치명의 정확한 의미를 이해하셔야 합니다. , 뒤에 숫자번호가 붙지않는 경우는 디스크의 전체를 의미하며, 뒤에 숫자번호가 붙는 경우는 디스크내의 각 파티션을 의미합니다. 그리고 장치명만으로 IDE디스크인가?  SCSI디스크인가?를 정확하게 구분할 수 있어야합니다.

 

간단히 다음과 같은 예를 보십시요.

 

       /dev/hdb3 : 두번째(b) IDE디스크(hd) 3번째 파티션을 의미함.

       /dev/hdc2 : 세번째(c) IDE디스크(hd) 2번째 파티션을 의미함.

       /dev/sda5 : 첫번째(a) SCSI디스크(sd) 5번째 파티션을 의미함.

       /dev/sdc3 : 세번째(c) SCSI디스크(sd) 3번째 파티션을 의미함.

 

이상과 같은 구분만 가능하다면 파티션의 기본적인 의미는 이해를 하신 것이라 볼 수 있습니다.  그리고 이런 파티션을 나누는 도구가 바로 여기서 설명할 fdisk인 것입니다.

fdisk를 어디에 사용하고 무엇을 하기 위해서 사용하는가를 설명하기 위해서 지금껏 설명드린 것입니다.

 

이제 fdisk를 이용하여 디스크정보와 파티션설정하는 방법에 대해서 알아보도록 하겠습니다.

 

 

 

2 : 현재 모든 디스크의 파티션설정현황 파악하기

 

리눅스 쉘상태에서 현재 모든 디스크의 파티션 설정내용을 확인할 수 있습니다.

간단히 "fdisk -l"이라고만 하면 현재 파티션이 설정되어 있는 모든 디스크의 파티션설정 내용을 다음 예와 같이 확인 할 수 있습니다.

아래 필자가 테스트로 사용하고 있는 서버에는 IDE디스크가 2개 장착되어 있습니다.

첫번째 디스크는 /dev/hda라는 장치명으로 사용되고 있으며 다른 하나는 /dev/hdb라는 장치명으로 사용되고 있습니다.

 

[root@file root]# fdisk -l

 

Disk /dev/hda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot    Start       End    Blocks   Id  System

/dev/hda1   *         1        16    128488+  83  Linux

/dev/hda2            17      8302  66557295   83  Linux

/dev/hda3          8303      8433   1052257+  82  Linux swap

/dev/hda4          8434      9729  10410120    f  Win95 Ext'd (LBA)

/dev/hda5          8434      9729  10410088+  83  Linux

 

Disk /dev/hdb: 6448 MB, 6448619520 bytes

255 heads, 63 sectors/track, 784 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot    Start       End    Blocks   Id  System

/dev/hdb1   *         1       250   2008093+  83  Linux

/dev/hdb2           251       500   2008125   83  Linux

/dev/hdb3           501       784   2281230   82  Linux swap

[root@file root]# 

 

첫번째 /dev/hda디스크는 모두 5개의 파티션으로 구성되어 있는 것을 보실 수 있습니다.

첫번째 행에 나타난 것 처럼 이 디스크(/dev/hda) 80.0GB의 용량을 가지고 있음을 알 수 있습니다.

 

/dev/hda1, /dev/hda2, /dev/hda3, /dev/hda4 /dev/hda5와 같이 나누어져 있다는 것을 알 수 있으며 각 장치명의 번호들은 파티션번호를 의미하고 있습니다.

그리고 /dev/hda1 "Boot"항목에 "*"가 있는 것은 이 파티션(/dev/hda1)이 부팅파티션임을 나타내고 있습니다.

 

그리고 /dev/hda3 "System"항목에 보시면 "Linux swap"이라는 것은 이 파티션(/dev/hda3)이 스왑파티션임을 나타내고 있습니다.

 

그리고 /dev/hda4 "System"항목에 보시면 "Win95 Ext'd (LBA)"라는 것은 이 파티션(/dev/hda4)가 확장파티션임을 의미합니다.

 

그리고 위의 예에서 두번째 디스크인 /dev/hdb는 모두 3개의 파티션(/dev/hdb1, /dev/hdb2, /dev/hdb3)으로 나뉘어져 있음을 알 수 있습니다.

 

위의 경우와 마찬가지로 /dev/hdb1파티션이 부팅파티션이고 /dev/hdb3파티션이 리눅스 스왑파티션입니다.

 

이상과 같이 fdisk로 확인할 수 있는 디스크파티션 설정내용의 이해를 위하여 설명드렸습니다.

 

 

 

3 : 특정 파티션을 대상으로한 fdisk 시작과 종료

 

fdisk실행하기와 빠져나오기를 간단히 알아보겠습니다.  먼저 fdisk를 실행할 때에는 "fdisk 장치명"과 같이 하시면 됩니다.  물론 여기서 장치명은 반드시 디스크를 가리키는 장치명이어야합니다.

 

아래의 예는 /dev/hdb디스크에 대한 fdisk를 실행한 것입니다.

 

[root@file root]# fdisk /dev/hdb

 

Command (m for help):

Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

 

Command (m for help):

Command (m for help): q

 

[root@file root]#

 

보시는 바와 같이 fdisk가 정상적으로 실행이 되고 나면 "Command (m for help): "와 같은 fdisk명령어모드가 나옵니다.  fdisk명령어모드에서 우리는 fdisk의 모든 작업을 하게 됩니다. fdisk명령어중 아래 한가지 예로든 "m"이라는 명령어는 fdisk명령어모드에서 사용가능한 명령어들과 도움말을 나타내줍니다.

 

그리고 빠져나오실 때에는 위의 예와 같이 "q"라고 하시면 됩니다.  그러면 아무런 작업없이 바로 fdisk모드에서 빠져나오게 됩니다.

 

 

 

4 : 해당 디스크장치가 존재하지 않을 경우의 fdisk실행

 

앞의 예는 fdisk실행시 지정된 장치가 존재했을 경우의 예 입니다.  만약 지정된 장치가 현재 서버에 존재하지 않는다면 어떻게 될까요.

 

아래의 예는 존재하지 않는 장치를 fdisk로 실행한 예입니다. 

[root@file root]# fdisk /dev/hdc

 

Unable to open /dev/hdc

[root@file root]#

 

, 아래의 예와같이 /dev/hdc라는 장치는 현재 이 서버에는 존재하지 않기 때문에 "Unable to open /dev/hdc"이라는 메시지를 출력한 채 fdisk는 실행이 되지 않았습니다.

 

따라서 우리는 존재하지않는 디스크장치명으로 fdisk를 실행했을 경우에는 fdisk가 정상적으로 실행이 되지 않는다는 것을 확인 하였습니다.

 

 

 

5 : fdisk모드에서 현재 설정된 디스크 파티션정보 확인하기

 

fdisk모드에서 대상디스크의 파티션 설정정보를 확인하는 예입니다.  아래의 예는 /dev/hda의 파티션설정을 확인하기 위해서 다음과 같이 "fdisk /dev/hda"를 실행 시킨 것입니다.  , 이 명령어는 /dev/hda를 대상으로 fdisk작업을 하겠다는 의미입니다.

 

[root@file root]# fdisk /dev/hda

 

Command (m for help): p

 

Disk /dev/hda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot    Start       End    Blocks   Id  System

/dev/hda1   *         1        16    128488+  83  Linux

/dev/hda2            17      8302  66557295   83  Linux

/dev/hda3          8303      8433   1052257+  82  Linux swap

/dev/hda4          8434      9729  10410120    f  Win95 Ext'd (LBA)

/dev/hda5          8434      9729  10410088+  83  Linux

 

Command (m for help):

Command (m for help): q

 

[root@file root]#

 

그리고 앞의 예에서 설명드린대로 fdisk명령어 중 "p"는 현재의 파티션 설정상황을 나타내주는 fdisk명령어입니다.  fdisk모드에서 "p"라고만 하면 해당 디스크의 파티션 설정정보를 아래와 같이 표시해 줍니다.

 

여기서는 파티션의 설정정보만을 확인한 것이므로 "p"로 파티션 설정정보를 확인한 후에 "q"로 빠져나간 것입니다.

 

 

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 
   
강사 소개
  박성수    
파파
헐렁고수
 
리눅스부팅과정의 이해(전원ON부터 부팅완료까지의 과정이해)
디스크파티션설정및관리강좌 fdisk 2편

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.