Presentation is loading. Please wait.

Presentation is loading. Please wait.

Managing Filesystems, Swap Space, and Devices

Similar presentations


Presentation on theme: "Managing Filesystems, Swap Space, and Devices"— Presentation transcript:

1 Managing Filesystems, Swap Space, and Devices
Wheel Seminar #5 By noname

2 파일 시스템 관리 스왑 영역 관리 장치 파일 관리

3 파일 시스템이란? 컴퓨터상에서 보관, 접근 등이 용이하도록 파일들을 관리하는 조직 체계이다
운영체제별로 지원하는 파일 시스템의 종류가 다르다

4 파일 시스템의 동작 원리 파일 시스템에서 관리되는 파일 용량의 최소 단위는 블록이다
블록은 1~64개(파일 시스템 종류에 따라 다름)의 섹터로 구성되고, 섹터의 용량도 512B에서 4KB까지 다양하다 일반적으로 섹터의 용량은 512B이고 블록의 용량은 4KB이다

5 파일 시스템의 동작 원리

6 파일 시스템의 동작 원리 파일 시스템에 inode block과 data block이 있는데, inode block에는 파일들이나 디렉토리들의 메타 데이터가, data block에는 내용이 들어있다 파일은 inode block에 해당 파일의 data block 위치, 접근 권한 정보, 소유자 정보 등을 저장하고 data block에는 실제 파일 내용을 저장한다

7 파일 시스템의 동작 원리 디렉토리 역시 inode block에는 해당 디렉토리의 data block 위치, 접근 권한 정보, 소유자 정보 등을 저장하며 data block에는 해당 디렉토리에 속하는 파일의 이름과 inode block의 위치 목록을 저장한다

8 파일 시스템의 동작 원리

9 파일 시스템의 동작 원리

10 파일 시스템의 동작 원리 일반적으로 inode block에서 data block을 가리키는 포인터의 숫자는 고정되어 있는데, 그렇다면 data block이 많이 필요한, 크기가 매우 큰 파일에 대해서는 어떻게 될까??

11 파일 시스템의 동작 원리 그 경우 inode block의 포인터들은 빈 data block을 가리키고 그 data block 안에 포인터들을 배치시켜서 파일의 data block들을 가리키게 할 수 있는데, 이를 single indirect라 한다 data block의 포인터들이 다른 data block들을 가리키고, 거기서 가리켜진 data block들의 포인터들이 파일의 실제 data block들을 가리키면 이는 double indirect이다 …triple indirect, quadruple indirect…

12 파일 시스템의 동작 원리

13 저널링이란? 파일 시스템에 가해진 변경 사항들을 기록해 두는 기술로, 파일 시스템의 복구를 쉽게 만들어준다
저널링이 적용된 파일 시스템으로는 ext3, ext4, XFS, ResierFS 등이 있다

14 저널링의 동작 원리 저널링을 위해 새로운 자료 구조인 저널이 이용된다
파일 시스템 드라이버는 파일의 메타 데이터를 변경하기 전에 해당 사항을 저널에 기록한다 파일 시스템이 마운트된 상태에서 정전 등의 사태가 발생하면 메타 데이터에 문제가 발생할 수 있다

15 저널링의 동작 원리 저널링을 이용하지 않는 파일 시스템에서는 fsck 유틸리티가 모든 메타 데이터가 정상적인 정보를 가지고 있는지를 검사하여 오류를 수정해야 하고, 이는 많은 시간을 요하는 작업이 될 것이다 저널링을 이용한다면 최근의 변경 사항 기록을 통해 파일 시스템을 이전의 상태로 되돌릴 수 있어 빠르게 온전한 상태로의 복구가 가능하다

16 윈도우즈에서 쓰이는 파일 시스템의 종류 FAT16/FAT32
FAT는 File Allocation Table, 즉 파일의 위치 정보 등을 기록하기 위한 테이블을 말하는데 이것이 파일 시스템 자체를 가리키게 되었다 FAT16은 단일 파티션의 최대 용량이 2GB로 저용량 장치에만 쓰일 수 있어 요즘에는 이동식 드라이브 외에는 거의 사용되지 않는다 FAT32는 단일 파티션의 최대 용량이 8TB에 달하지만, 4GB 이상의 파일을 가질 수 없고 보안상의 결점이 많아 대신 NTFS를 쓰는 것이 일반화되었다

17 윈도우즈에서 쓰이는 파일 시스템의 종류 NTFS
기존의 FAT 시리즈에 비해 메타 데이터를 지원하고 성능을 개선하는 등 장점이 많다 윈도우즈 NT 계열에서부터 사용되었다

18 리눅스에서 주로 쓰이는 파일 시스템의 종류 ext2 ext3 ext4 XFS ReiserFS NFS

19 리눅스에서 주로 쓰이는 파일 시스템의 종류 ext3
JBD(Journaling Block Device layer)라고 하는 특수한 API를 사용하는데, 다른 일반적인 저널링 파일 시스템들과는 달리 data block뿐만 아니라 모든 종류의 block에 대해 저널을 구현한다 그러므로 메타 데이터 손상뿐만 아니라 데이터 손상에 대해서도 대처 가능하다

20 리눅스에서 주로 쓰이는 파일 시스템의 종류 단, 모든 데이터에 대한 저널을 만들기 때문에 속도상 약간의 저하가 있을 수 있다
ext3에서의 저널은 inode block에 저장되며 하나의 파일이라 볼 수 있는데, 따라서 필요에 따라 파일 시스템에 저널을 추가할 수 있다 JBD는 물리적 저널링(변경된 바이트 범위만을 저장하는 것이 아닌 변경된 전체 블록의 복사본을 저장하는 저널링) 방식이다 최근 ext3에 추가된 저널링 모드는 메타 데이터에 대해서만 저널링을 수행하되 그에 상응하는 특정 데이터 블록을 트래킹하여 속도 저하 문제를 해결하였다

21 리눅스에서 주로 쓰이는 파일 시스템의 종류 XFS 저널링을 사용하는 64비트 파일 시스템이다
디스크를 쓰기보다는 메모리상에 많은 데이터를 캐시하여 전반적으로 좋은 퍼포먼스를 보이며, 특히 큰 파일을 주로 다루는 시스템에서 좋다 블록 디바이스를 8개 이상의 할당 그룹(allocation group)으로 나눠 각 할당 공간마다 inode와 data를 관리하여, 병렬적인 입출력이 가능하게 한다

22 리눅스에서 주로 쓰이는 파일 시스템의 종류 따라서 하드웨어의 성능이 좋을 수록 XFS의 성능도 좋아지게 된다
변경 바이트 범위를 저장하는 논리적 저널링 방식을 사용하며, 데이터가 손실되는 경우가 있더라도 해당 data block을 완전히 지워 보안상의 허점을 제거한다 디스크가 활발히 작동하면 보다 짧은 주기로 보류중이던 메타 데이터를 디스크에 기록하여 메타 데이터 손실을 줄인다

23 리눅스에서 주로 쓰이는 파일 시스템의 종류 할당 지연 XFS만이 가지고 있는 특성이다
저장할 데이터가 생겼을 때에는 해당 데이터를 위해 공간은 남겨두지만, 어떠한 블록에 기록할지는 결정하지 않는다 그리고 디스크에 기록할 때가 오면 공간을 지능적으로 할당할 수 있게 되는데, 예를 들어 새로운 데이터가 파일에 첨가되면 이를 인접한 지역에 저장할 수 있다 또한 금방 사라지는 임시 파일들에 대해서는 디스크 블록이 할당되지 않기 때문에 할당 해제 작업도 필요하지 않다

24 리눅스에서 주로 쓰이는 파일 시스템의 종류 ReiserFS 논리적 저널링 파일 시스템이다
B Tree(자료 구조의 하나)로 데이터를 관리하는데, 이는 그 자체로 좋은 퍼포먼스를 가지고 있으며 inode를 필요할 때마다 동적으로 할당할 수 있게 한다 또한 고정된 크기의 블록으로 저장 공간을 할당하지 않고 각각의 데이터를 “끝”을 지정하여 저장한다 위 장점들 덕분에 ReiserFS는 작은 파일들을 다루는 데에 훌륭한 성능을 보이며, 또 공간을 절약하는 효과도 있다

25 리눅스에서 주로 쓰이는 파일 시스템의 종류 NFS Network File System으로 뒤쪽의 휠 세미나에서 다뤄질 예정이다

26 파티션(partition)이란? 하드디스크 등의 저장 장치를 구획해놓은 것이다
물리적 파티션(physical partition) 실제 장치를 직접적으로 나눈 파티션으로, 3개까지 만들어질 수 있다 논리적 파티션(logical partition) 남은 공간에 새로 마스터 영역을 만들어, 그 내에서 만들어져 관리되는 파티션들로 60개까지 만들어질 수 있다

27 파티션과 파일 시스템의 관계 하나의 파일 시스템은 하나의 파티션 위에 얹어져, 해당 파티션 내의 파일과 디렉토리를 관리하는 역할을 하게 된다

28 파티션이 가지는 장점 하드디스크(또는 다른 저장매체)가 여러 개의 파티션으로 나뉠 수 있음으로써 가지게 되는 장점으로는…

29 파티션이 가지는 장점 안정성 어떤 한 파티션의 파일 시스템에 손상이 가더라도, 다른 파티션의 파일 시스템에는 보통 문제가 없다
물론, 시스템 백업을 충실히 한다면 위와 같은 점은 큰 문제가 되지 않는다

30 파티션이 가지는 장점 업그레이드 용이 저장 매체가 여러 개인 경우
리눅스를 업그레이드할 때, /home 디렉토리에 데이터를 보관시키고 나머지 파티션들에 대해서 업그레이드를 진행할 수 있다 저장 매체가 여러 개인 경우 저장 매체가 2개 이상인 경우, 이를 하나로 묶어 하나의 파일 시스템을 설정할 수도 있지만, 여러 개의 파일 시스템으로 각각 설정하는 것도 가능하다

31 현재 당신의 리눅스에서 쓰이고 있는 파일 시스템은?
/proc/filesystems 파일을 열어보면 현재 리눅스 커널에 어떠한 파일 시스템이 마운트되어 있는지 그 종류들을 볼 수 있다 $ cat /proc/filesystems

32 현재 당신의 리눅스에서 쓰이고 있는 파일 시스템은?
putty로 sparcs.org에 접속하여 스팍스 서버 커널에 로드된 파일 시스템 종류들을 보면…

33 현재 당신의 리눅스에서 쓰이고 있는 파일 시스템은?

34 현재 당신의 리눅스에서 쓰이고 있는 파일 시스템은?
파일 시스템 이름들 앞에 붙어있는(안붙은 것도 있음) “nodev”는 그 파일 시스템 장치(파일 시스템은 장치로 관리됨)가 실제 장치를 필요로 하지 않는다는 것을 의미한다

35 파일 시스템 관리 파티션 설정(fdisk) 파일 시스템 만들기(mkfs) 장치 마운트/언마운트 하기(mount/umount)
파일 시스템 점검 및 복구(fsck)

36 파티션 설정(fdisk) 리눅스 시스템의 장치 파일들은 /dev에서 볼 수 있는데, IDE 형식의 하드디스크는 /dev/hda, /dev/hdb, /dev/hdc, …와 같이 지정되고 S-ATA 형식의 하드디스크는 /dev/sda, /dev/sdb, /dev/sdc, …와 같이 지정된다

37 파티션 설정(fdisk) 이러한 물리적인 디스크에 파티션이 생성되면 그 장치 파일 뒤에 1번부터 번호가 붙은 이름으로 파티션에 해당하는, 가상의 장치의 파일이 생성된다 예를 들어 /dev/hda에 대해 파티션 두개를 만들었다면 /dev/hda1, /dev/hda2로 지정된다

38 파티션 설정(fdisk) # fdisk –l [디스크 장치] # fdisk –s [파티션 장치]
해당 디스크의 파티션 테이블을 보여준다 장치를 지정하지 않으면 시스템의 파티션 테이블을 보여준다 # fdisk –s [파티션 장치] 해당 파티션의 크기를 블록(파일 시스템에서의 용량 관리 단위) 단위로 보여준다

39 파티션 설정(fdisk) # fdisk [디스크 장치] 해당 디스크에 대해서 파티션 설정을 한다
이는 대화형으로 이루어지므로 쉽게 할 수 있다 그래도 거기서 쓸 수 있는 명령어들에 대해 알아보면…

40 파티션 설정(fdisk) 명령어 종류 a: 부트 플래그 설정(설정시 파티션 테이블에서 Boot 항목에 * 표시됨)
b: bsd 디스크 레이블 편집 c: 도스 호환 여부 플래그 설정 d: 파티션 삭제 l: 알려진 파티션 형태의 목록 출력 m: 도움말 출력 n: 파티션 생성 o: 새로운 도스 파티션 테이블 생성

41 파티션 설정(fdisk) p: 파티션 테이블 출력 q: 변경 사항을 저장하지 않고 종료 s: sun 디스크 레이블 생성
t: 파티션의 시스템 아이디 변경 u: 표시 및 엔트리 단위 변경(섹터/실린더) v: 파티션 테이블 점검 w: 변경 사항을 저장하고 종료 x: 추가적인 기능들

42 부트 플래그(boot flag)란? 부팅시, 부트 플래그가 인식되는 파티션에 대해서 부팅이 진행된다
단, GRUB 등의 부트 로더가 있다면 멀티 부팅이 가능해진다

43 파티션 설정(fdisk) 리눅스의 경우 fdisk로 파티션을 잘못 설정했을때 실린더(또는 섹터)의 수만 맞추면 복원이 가능하다

44 파일 시스템 만들기(mkfs) 각각의 파일 시스템들은 자신과 관련된 고유의 mkfs 명령을 가지고 있으며, mkfs 자체는 각각을 실행시켜주는 녀석에 불과하다 따라서 mkfs가 없다면 그냥 mkfs.ext3나 mkfs.msdos와 같이 해당 파일 시스템을 만들어 주는 프로그램을 직접 호출하면 된다 여기서는 mkfs 프로그램이 있다고 가정한다

45 파일 시스템 만들기(mkfs) # mkfs –c [파티션 장치] # mkfs –t [파일 시스템 타입] [파티션 장치]
파티션의 배드섹터 검사를 한다 # mkfs –t [파일 시스템 타입] [파티션 장치] 해당 파티션을 지정한 파일 시스템 타입으로 포맷한다

46 장치 마운트/언마운트 하기(mount/umount)
리눅스에서는 파일 시스템이 각각의 디렉토리에 대응된다 따라서 마운트(mount)라는 연결 작업을 거쳐야만 사용 가능하다

47 마운트(mount)란? 파일 시스템을 사용하기 위해 해당 파티션 장치와 디렉토리를 연결하는 것을 말한다
설정에 따라 리눅스가 시작될 때 자동으로 되는 것도 있고, 수동으로 해줘야 하는 것도 있다

48 장치 마운트/언마운트 하기(mount/umount)
파일 시스템들의 정보를 가지고 있는 파일 시스템 테이블이 있는데, 이는 /etc/fstab 파일이다 이 fstab에서 부팅시 자동으로 마운트되도록 옵션을 지정할 수 있다

49 장치 마운트/언마운트 하기(mount/umount)
/etc/fstab 파일의 각 행은 다음과 같이 이루어진다 [파티션 장치(또는 레이블명)] [마운트 포인트] [파일 시스템 타입] [옵션] [dump 설정] [파일 점검 옵션] 옵션에 “auto”가 지정되어 있으면 해당 파일 시스템은 자동적으로 마운트될 수 있다 “default” 옵션은 “auto” 옵션을 포함한다 mount는 기본적으로 root 권한이 필요하지만, “user” 옵션을 가지는 파일 시스템들에 대해서는 일반 유저들도 마운트시키는 것이 가능하다

50 장치 마운트/언마운트 하기(mount/umount)

51 장치 마운트/언마운트 하기(mount/umount)
현재 마운트되어 있는 정보 출력 # mount –t [파일 시스템 타입] [파티션 장치] [마운트 포인트] 파일 시스템 타입에는 앞서 mkfs로 해당 파티션에 만들었던 파일 시스템 타입을 써야 한다 마운트 포인트에는 해당 파티션이 어떠한 디렉토리에 대응될 것인지를 나타내야 한다

52 장치 마운트/언마운트 하기(mount/umount)
# mount –a /etc/fstab 파일에 “auto” 옵션을 가지고 있는 모든 파일 시스템들을 마운트시킨다 리눅스 부팅시 이 작업이 한번 진행된다

53 장치 마운트/언마운트 하기(mount/umount)
# umount [파티션 장치] 또는 # umount [마운트 포인트] 해당 파티션의 파일 시스템을 언마운트시킨다 CD-ROM과 같은 장치들은 사용 후 언마운트를 시켜줘야 안전하게 제거할 수 있다

54 파일 시스템 점검 및 복구(fsck) 파일 시스템이 정상 상태인지를 검사하고, 오류가 있을 경우 복구한다
fsck도 mkfs와 마찬가지로 각각의 파일 시스템들이 가지고 있는 고유의 fsck들을 호출해주는 녀석에 불과하다

55 파일 시스템 점검 및 복구(fsck) # fsck [옵션] [파티션 장치] 옵션 -a: 에러가 발견되면 자동으로 복구
-r: 에러가 발견되면 복구 여부를 묻는다(반드시 –s와 함께 써야 함) -s: 병렬적이 아닌 순차적인 방법으로 검사한다 -V: 각종 정보를 자세히 보여준다 -N: 실제로 검사를 하지는 않고 어떻게 될 것인가만 보여준다 …이 외에도 많은 옵션이 있다

56 파일 시스템 점검 및 복구(fsck) 일반적으로 fsck는 해당 파일 시스템을 언마운트시킨 뒤에 수행하는 것이 안전하다
만약 마운트된 파일 시스템을 점검했다면 재부팅을 해야 바뀐 내용이 갱신된다

57 파일 시스템 점검 및 복구(fsck) 언마운트를 할 수 없는 루트 파일 시스템을 검사하려면??
부트/루트 플로피 등 부팅 가능 타 매체를 이용하여 부팅한 다음 루트 파일 시스템을 언마운트시킨 후 검사한다 또는 루트 파일 시스템에 읽기 전용 속성을 주고 단일 사용자 모드로 부팅하여 검사할 수도 있다 이는 부트 로더인 GRUB의 설정 파일에 ro 옵션(read-only 옵션)과 single 옵션(단일 사용자 모드 옵션)을 줌으로써 가능하다

58 그 외 기타… $ df [옵션] 사용중인 파일 시스템들의 전체 용량, 사용량, 사용 가능량, 사용률, 마운트 포인트 등의 정보를 보여준다 df는 /etc/fstab에서 파일 시스템 정보를, /etc/mtab에서 마운트 정보를 참조하여 보여주는 것이다

59 그 외 기타… 옵션 -h: 사람이 보기 쉬운 용량 단위를 사용하여 보여준다
-a: 크기가 0인 파일 시스템(예를 들면 proc과 같은 가상 파일 시스템)들까지 모두 포함하여 출력한다 -T: 파일 시스템 타입을 함께 보여준다 …그 외에도 많은 옵션들이 있다

60 파일 시스템 관리 스왑 영역 관리 장치 파일 관리

61 스왑(swap) 공간이란? 디스크의 공간을 사용하여 물리적 메모리의 부족을 해결하는 용도로 사용하는 공간이다
디스크의 특성상 속도가 느리기 때문에, 시스템에 로드되어 있지만 현재는 사용되고 있지 않은 프로그램들을 적재하는 등의 용도에 쓰인다 일반적으로 RAM 용량의 두배 정도의 크기로 할당한다

62 스왑 공간 할당 방법 스왑 공간을 할당하는 방법에는 두 가지가 있다
첫 번째는 파일 시스템들중 하나에 스왑 파일을 만드는 것이고, 두 번째는 스왑 전용 파티션을 만드는 것이다 보통 스왑 전용 파티션을 만드는 방법이 쓰인다

63 스왑 공간 할당 방법 그 이유는 스왑 파티션을 사용하면 디스크상의 블록이 연속적이기 때문에 좀 더 좋은 성능을 기대할 수 있기 때문이다 스왑 파일은 주로 임시로 스왑 영역을 추가해야 할 때 사용한다 단일 파티션과 단일 파일 모두 최대 2GB의 크기를 가질 수 있고, 이를 최대 8개까지 만드는 것이 가능하다

64 스왑 영역 관리 메모리 사용 상황 보기(free) 스왑 영역 만들기(mkswap)
스왑 영역 활성화/비활성화(swapon/swapoff)

65 메모리 사용 상황 보기(free) $ free
물리적인 실제 메모리나 스왑 영역을 포함하여 시스템상의 메모리 사용 현황을 보여준다 각 열은 차례대로 [총 메모리 양] [사용된 메모리 양] [빈 메모리 양] [공유되는 메모리 양] [버퍼 캐시의 크기] [커널이 캐시한 메모리 페이지 양]을 나타낸다 여기에 표시되는 모든 수치는 KB(메모리 상에서의 1024 블록) 단위이며, -m 옵션을 주면 MB 단위로 볼 수 있다 물리적인 메모리는 커널이 사용하는 양을 제외한 양이 나온다

66 메모리 사용 상황 보기(free) -/+ buffers/cache는 어플리케이션의 관점에서 본 메모리 사용 현황인데, 필요에 따라 메모리를 요청할 수 있는 것이기 때문에 총 메모리 양은 표시되지 않는다

67 메모리 사용 상황 보기(free)

68 스왑 영역 만들기(mkswap) 스왑 영역을 지정하기 위해서는 스왑 파티션이나 파일이 먼저 만들어져 있어야 한다
스왑 파티션의 경우 앞서 소개한 fdisk를 이용해 만들 수 있다

69 스왑 영역 만들기(mkswap) 스왑 파일은 원하는 용량만큼의 파일을 만들면 되는데, 쉬운 방법으로는 dd 명령어를 이용할 수 있다

70 스왑 파일 만들기(dd) dd 명령어는 파일 내용을 복사하되, 여러 가지 연산자 옵션을 줄 수 있는 명령어이다
$ dd if=/dev/zero of=/swap bs=1024 count= 이 명령어는 /dev/zero에서 KB를 /swap 파일에 써넣는 것이다 /dev/zero는 항상 빈 널(null) 바이트를 돌려주는 장치이다 이를 하고 나서는 시스템 다운을 대비해 sync를 해주면 좋다

71 스왑 영역 만들기(mkswap) $ chmod 0600 [스왑 파일명]
스왑에 쓰일 수 있게 하기 위해 접근 권한 변경 # mkswap –c [파티션 장치 또는 스왑 파일명] [스왑 영역 크기] 여기서 스왑 영역 크기는 1KB를 한 블록으로 하는, 블록 단위의 크기이다 -c 옵션은 배드 블록이 있는지 검사를 하는 옵션이다 이를 한 뒤에는 역시 sync를 하여 포매팅이 확실히 되도록 하는 것이 좋다

72 스왑 영역 활성화/비활성화(swapon/swapoff)
새롭게 만든 스왑 영역을 사용하기 위해서는 스왑 영역을 활성화시켜야 한다 # swapon [파티션 장치 또는 스왑 파일명] 이 작업을 거쳐야만 비로소 해당 파일(또는 파티션)은 사용 가능한 스왑 영역이 되며, 따라서 free 명령어로도 사용 내역을 볼 수 있게 된다

73 스왑 영역 활성화/비활성화(swapon/swapoff)
# swapon -a /etc/fstab에서 옵션에 sw(스왑 옵션)이 지정된 모든 장치를 활성화시킨다 부팅시 이 작업이 진행된다 # swapoff [파티션 장치 또는 스왑 파일명] 해당 스왑 영역을 사용하지 않도록 비활성화시킨다 반드시 비활성화되기 전에 파일을 지워서는 안된다 또한 /etc/fstab에서 해당 항목을 지우지 않으면 부팅시 에러가 발생한다

74 파일 시스템 관리 스왑 영역 관리 장치 파일 관리

75 장치 파일이란? 각종 장치들에 접근하고 그 장치들과 상호작용하기 위한 인터페이스로써 만들어진, 각 장치들에 대응되는 파일이며 /dev 디렉토리에 위치한다 반드시 실재하는 장치들에 대해서만 파일이 있는 것은 아니다 장치 파일도 그저 하나의 파일일 뿐이다!

76 장치 파일 보기 /dev 디렉토리에서 ls –l 명령을 통해 장치들의 목록을 열람해볼 수 있다

77 장치 파일 보기

78 장치 파일 보기 퍼미션 필드의 첫 번째 글자는 해당 장치가 어떤 장치인지를 나타낸다
b: 하드디스크와 같이 자료의 입출력이 블록 단위로 이루어지는 블록 장치를 나타낸다 c: 순차적으로, 그리고 1B 단위로 입출력하는 문자 장치를 나타낸다

79 장치 파일 보기 크기 필드에는 콤마로 구분된 두개의 숫자가 있다
첫 번째 숫자: 메이저 장치 번호로, 일반적으로 커널 내 특정 드라이버를 가리킨다 두 번째 숫자: 마이너 장치 번호로, 해당 드라이버 내에서 처리되는 각각의 장치들을 가리킨다

80 장치 파일 만들기(mknod) $ mknod –m [퍼미션 비트] [만들 장치 파일 경로명] [장치 종류] [메이저 장치 번호] [마이너 장치 번호] 장치 종류에는 b(블록 장치)와 c(문자 장치)중 하나를 지정하면 된다 -m [퍼미션 비트]로 장치 파일에 대한 퍼미션을 설정할 수가 있는데, 이는 선택사항이다 /dev/MAKEDEV 쉘 스크립트를 이용하면 MAKEDEV가 알아서 메이저와 마이너 번호를 찾아준다

81 장치 파일 만들기(mknod) /dev 디렉토리에 있는 많은 장치 파일들은 실제 장치 파일에 대한 심볼릭 링크인데, 이는 장치에 대한 접근이 용이하도록 하기 위해서이다 ln –s [원본 장치 파일명] [심볼릭 링크 파일명] 접근하기 쉬운 이름으로 원본 장치 파일에 대한 심볼릭 링크를 만들면 좋다

82 장치 파일 제거하기(rm) rm [장치 파일명] 장치 파일을 제거하려면 별다른 절차가 필요없이 그냥 해당 파일을 지우면 된다
장치 파일은 프로그램들이 장치와 통신하기 위한 인터페이스에 불과하기 때문에, 장치 파일이 삭제된다고 해서 장치가 컴퓨터에서 제거된 것은 아니다

83 감사합니다!


Download ppt "Managing Filesystems, Swap Space, and Devices"

Similar presentations


Ads by Google