본문으로 바로가기

압축 & 아카이빙





여러개의 파일 및 디렉토리를 gzip, bzip2, tar, zip 방식의 압축을 실시하여 파일 용량을 최소화할 수 있으며,


가장 널리 사용되는 방식은 gzip 방식이다. 또한, tar 방식은 압축이라고 하기에는 애매모호하며, 여러개의


파일들을 하나의 파일로 관리하는 방식이기 때문에 용량은 줄지 않는다. 그렇기 때문에 tar 를 이용하여 압축


대상 파일들을 하나의 파일로 아카이빙(어러개 파일을 하나로 생성) 한 이후, 이 파일들을 gzip 으로 압축하는


것을 권장한다.





gzip & gunzip & zcap


'gzip'은 파일을 압축 및 해지할때 사용하는 명령어이다. 이때 확장자는 '.gz'로 되며, 파일의 속성 정보도


유지하여 압축한다. 


'gunzip'은 확장자가 '.gz'로 된 압축 파일 해지 및 압축 파일 내용 확인하는 명령어이다.


'zcat'은 압축 파일 내용을 확인하는 명령어이다.





[root@CentOS /root/test]# gzip -d // 압축 파일 해지할때 사용


[root@CentOS /root/test]# gzip -r // 디렉토리이면, 하위 디렉토리 및 파일까지 압축


[root@CentOS /root/test]# gzip -v // 압축 통계 출력


zcat








bzip2 & bunzip2





bzip2 는 성능이 높은 압축 방식이며, 압축된 파일은 기존 파일의 속성 정보를 그대로 유지한다. tar 아카이브


파일을 압축하면, 기존 아카이브 파일이 제거되고 , bz2 확장자로 생성한다.





[root@CentOS /root/test]# bzip2 -d // 압축 파일 해지


[root@CentOS /root/test]# bzip2 -z // 파일 압축 실시


[root@CentOS /root/test]# bzip2 -v // 압축 및 해지 진행 상황 출력


[root@CentOS /root/test]# bunzip2 -c // 압축 파일 내용을 확인할때 사용


bzcat file1.bz2











tar(압축 & 아카이빙)


tar 는 여러개의 파일이나 디렉토리를 한개의 묶음 파일로 압축할 때 사용하는 명령어이다.


이때, 아카이브(archive), 아카이빙(archiving)이라는 단어는 파일을 보관/기록하다는 의미를 갖고 있다.





c 아카이빙 파일 생성


t 아카이빙 파일 내용 확인


x 아카이빙 파일 해지


f 아카이빙 파일 지정


v 진행 과정 보여줌


z gzip 파일 압축 및 해지 할때 사용








-tar cvzf file.tar.gz file1 file2 file3


= tar cvf file.tar file1 file2 file3


= tar gzip file.tar





파일 타입





리눅스에서 파일은 아래 그림과 같이 Filename, inode, Data Block 으로 구성된다.








filename


  inode : 파일 속성 정보, Data Block 포인트 정보가 포함되어 있으며, 'ls -i' 명령어를 이용하여 확인할 수 있다.


  Data Block : 일반파일 .심볼릭링크 파일, 디렉토리  이름은 중복되면 안되며, 대소문자도 구분한다.








d : 디렉토리파일





파일명과 파일의 inode number 값이 저장되어 있는 파일(파일내용은 디렉토리에 저장되지 않는다)





디렉토리의 크기는 디렉토릭내의 파일크기와는 무관하다.





mkdir 명령어로 생성한다.








l : 링크파일





- 하드링크와 소프트링크(심볼링크)로 나뉜다.





- 원본파일의 경로가 저장되는 파일.











(링크파일의 실제 퍼미션은 원본파일의 퍼미션을 따른다)





@ 하드링크





[root@CentOS /test]# rm -rf /test/*


[root@CentOS /test]# ls


[root@CentOS /test]# echo ABC > file1


[root@CentOS /test]# ls -l file1


-rw-r--r-- 1 root root 4 2017-04-21 11:31 file1


[root@CentOS /test]# cat file1


ABC


[root@CentOS /test]# ln file1 file2


[root@CentOS /test]# ls -li


합계 8


393221 -rw-r--r-- 2 root root 4 2017-04-21 11:31 file1


393221 -rw-r--r-- 2 root root 4 2017-04-21 11:31 file2





@원본 파일과 하드 링크 파일 관계 확인





1) 파일생성시


ABC


[root@CentOS /test]# echo DEF >> file2


[root@CentOS /test]# cat file2


ABC


DEF





[root@CentOS /test]# cat file1


ABC


DEF





----> file1과 file2이 동일





2) 파일 삭제시








[root@CentOS /test]# cat file1


ABC


DEF


[root@CentOS /test]# 


[root@CentOS /test]# rm file1


rm: remove 일반 파일 `file1'? y





[root@CentOS /test]# cat file2


ABC


DEF


------> file1을 지워도 file2는 남아있다.








@심볼릭 링크





만드는 방법 ln -s 파일1 파일2(원본파일)





[root@CentOS /test]# ls -li


합계 4


393221 -rw-r--r-- 1 root root 8 2017-04-21 11:33 file2


393321 lrwxrwxrwx 1 root root 5 2017-04-21 11:37 file3 -> file2


---> file2가 원본, file3가 심볼릭 파일


[root@CentOS /test]# echo XYZ >> file3


[root@CentOS /test]# cat file3


ABC


DEF


XYZ





-----> 심볼릭 링크파일(file3)에 문자를 추가하면 아래와 같이 file2도 연결되어 문자 XYZ가 추가 된다.


[root@CentOS /test]# cat file2


ABC


DEF


XYZ





[root@CentOS /test]# rm file2


rm: remove 일반 파일 `file2'? y


[root@CentOS /test]# cat file2


cat: file2: 그런 파일이나 디렉터리가 없습니다


[root@CentOS /test]# cat file3


cat: file3: 그런 파일이나 디렉터리가 없습니다





---> file2를 삭제하면 file3이 남아있지만 실행이 되지 않는다. 왜냐하면 원본이 사라졌기 때문


[root@CentOS /test]# ls -li


합계 0


393321 lrwxrwxrwx 1 root root 5 2017-04-21 11:37 file3 -> file2


[root@CentOS /test]# ls


file3











ls /dev -l | more


l : 심볼릭링크 파일


b: 블록 디바이스 파일


c: 문자 디바이스 파일








하드 링크


하드 링크는 원본 파일의 경로를 저장하고 있는 파일이다. 만약, 원본 파일 내용이 수정되면, 원본과


동일하게 내용이 수정되며 항상 동일한 정보를 유지하게 된다. 또한, 원본이 삭제되어도 원본과 동일한


정보를 유지하고 있기때문에 원본에 대한 백업으로도 사용할 수 있다. (단, 같은 파티션 내에서만 사용할


수 있다.)








심볼릭 링크(소프트 링크)


심볼릭 링크는 원본 파일을 공유해서 사용하는 방식이다. 주로 다수의 디렉토리에서 동일한 라이브러리를


요구하거나, 하나의 파일을 다수 사용자들이 공용으로 사용할 경우 사용한다. (윈도우 단축 아이콘 개념과


동일하며, 다른 파티션 간에서 사용 가능하다.)





393221 -rw-r--r-- 1 root root 8 2017-04-21 11:00 file2


393321 lrwxrwxrwx 1 root root 5 2017-04-21 11:01 file3 -> file2 file2가 원본





file2가 지워지면 file3도 사라진다.


root@CentOS /test]# ls /dev/ -l | grep ^l --> 링크파일보기


lrwxrwxrwx  1 root root          13 2017-04-21 09:24 MAKEDEV -> /sbin/MAKEDEV


lrwxrwxrwx  1 root root           3 2017-04-21 09:24 cdrom -> sr0





디바이스 파일 (/dev 디렉토리에 있음)


ls -l /dev // 모든 디바이스 파일을 보여줌








[root@CentOS /test]# ls -l /dev | grep ^b    ----> 블럭 디바이스 파일만 보여준다.


brw-rw----  1 root disk    253,   0 2017-04-21 09:24 dm-0


brw-rw----  1 root disk    253,   1 2017-04-21 09:24 dm-1


brw-rw----  1 root disk      7,   0 2017-04-21 09:24 loop0








[root@CentOS /test]# ls -l /dev | grep ^c  ---- > 캐릭터 디바이스 파일


crw-rw----  1 root video    10, 175 2017-04-21 09:24 agpgart


crw-rw----  1 root root     10,  55 2017-04-21 09:24 autofs


crw-------  1 root root     10, 234 2017-04-21 09:24 btrfs-control





[root@CentOS /test]# ls /dev/sda -l


brw-rw---- 1 root disk 8, 0 2017-04-21 09:24 /dev/sda











[root@CentOS /test]# ls /dev/pts/1 -l


crw--w---- 1 root tty 136, 1 2017-04-21 11:08 /dev/pts/1


[root@CentOS /test]# file /dev/pts/1 


/dev/pts/1: character special





root@CentOS /test]# ls -ld /etc /etc/issue /bin/ls /dev/sda /dev/pts/1


-rwxr-xr-x.   1 root root 117024 2014-10-15 13:51 /bin/ls


crw--w----    1 root tty  136, 1 2017-04-21 11:09 /dev/pts/1


brw-rw----    1 root disk   8, 0 2017-04-21 09:24 /dev/sda


drwxr-xr-x. 120 root root  12288 2017-04-21 10:33 /etc


-rw-r--r--.   1 root root     47 2014-10-23 20:41 /etc/issue





[root@CentOS /test]# ls -ld /etc /etc/issue /bin/ls /dev/sda /dev/root


-rwxr-xr-x.   1 root root 117024 2014-10-15 13:51 /bin/ls


lrwxrwxrwx    1 root root      4 2017-04-21 09:24 /dev/root -> dm-0


brw-rw----    1 root disk   8, 0 2017-04-21 09:24 /dev/sda   주디바이스번호, 부디바이스번호


drwxr-xr-x. 120 root root  12288 2017-04-21 10:33 /etc


-rw-r--r--.   1 root root     47 2014-10-23 20:41 /etc/issue











디렉토리 구조





리눅스는 트리 구조로 디렉토리를 구성하며, 명령어, 내용, 사용 권한에 따라서 디렉토리가 구분되어 있다.


또한 FHS(Filesystem Hierarchy Standard)라는 표준 파일 시스템 계층을 사용하고 있기 때문에 같은 목적의


파일들을 같은 디렉토리로 관리하여 시스템 자원 및 프로그램들을 쉽게 찾을 수 있다. 리눅스에서 사용하는


대표적인 디렉토리는 다음과 같다.





/ root 디렉토리, 디렉토리 트리 구조에서 가장 상단에 위치함


/root 시스템 관리자 홈 디렉토리


/bin 일반 사용자가 사용하는 기본 명령어들이 있는 디렉토리


/sbin 관리자가 사용하는 시스템 관리 명령어들이 있는 디렉토리


/etc 환경 설정 파일 및 디렉토리를 갖고 있는 디렉토리


/usr 프로그램들이 설치되는 디렉토리


/boot 부트로더와 부팅을 위한 파일이 있는 디렉토리


/dev 장치 파일들이 있는 디렉토리


/var 가변 자료 디렉토리 ex) log 파일


/tmp 임시 파일들이 저장되는 디렉토리


/proc 프로세스 및 프로그램 정보, 메모리/하드웨어 정보 파일이 있는 디렉토리


/lib 공유 라이브러리와 커널 모듈이 있는 디렉토리


/mnt NFS 와 같은 파일 시스템이 임시로 마운트하는 디렉토리


/srv 시스템이 제공하는 서비스를 위한 파일들이 있는 디렉토리


/media USB, CD, DVD 와 같은 이동식 디스크가 마운트되는 디렉토리


/home 시스템 계정을 위한 사용자 홈 디렉토리


/lost+found 부팅시 파일시스템에 문제가 발생하면, 복구할때 사용하는 디렉토리





[root@CentOS /root]# ls -F /bin *실행파일, @링크파일





cat, chmod, chgrp, chwon, env(현재 환경 설정 내용 출력),date, ls, mkdir, rm, rmdir, touch, vi, ping...


[root@CentOS /root]# ls -F /sbin


- ifconfig, reboot, shutdown, mount, fsck(디스크 점검), mkfs(디스크 포멧), iptables...





---------------------------------------------------------------------------------------------------------------------------


파티션




파티션이란 시스템의 하드디스크 영역을 논리적으로 분할하는 것을 의미하며, 파티션 작업을 하는 목적은 다음과 같다.


(Ex : 윈도우 시스템 C, D, E 드라이브)






주파티션


기본적인 파티션이기 때문에 더이상 분리할 수 없으며, 확장 파티션까지 포함해서  총 4개까지 생성할 수 있다. 




확장 파티션


파티션을 5개 이상 생성할 경우 사용하는 파티션이다. 확장 파티션은 저장 공간이 별도로 없는 대신, 논리적인 파티션을 생성할 수 있도록 한다. 확장 파티션은 1개만 사용할 수 있으며, 가장 마지막 파티션 번호를 사용하는 것을 권장한다.




논리적인 파티션


확장 파티션에서 제공하는 논리적인 파티션이다. 하나의 확장 파티션가지고 여러개의 논리 파티션을 구성할 수 있다. 



 




 Primary Master HardDisk : /dev/hda


 Primary Master HardDisk : /dev/sda


 Primary Slave HardDisk : /dev/hdb


 Primary Slave HardDisk : /dev/sdb




 Secondary Master HardDisk : /dev/hdc


 Secondary Master HardDisk : /dev/sdc


 Secondary Slave HardDisk : /dev/hdd


 Secondary Slave HardDisk : /dev/sdd





[파티션 구성]


주파티션            주파티션            주파티션    확장파티션


hda1                hda2                    hda3        hd4




논리적 파티션


hd5 ~ hd15





파티션 작업



 '/dev/sdc' 파티션 설정 및 삭제




첫번째 주파티션 : 30M


두번째 확장 파티션 : 150번 실린더까지 할당




                     논리 파티션 : 50개 실린더 할당 (+49)


                     논리 파티션 : 나머지 모든 영역 할당




세번째 주파티션 : 180번 실린더까지 할당


네번째 주파티션 : 나머지 모든 영역 할당






[root@CentOS /root]# fdisk /dev/sdc

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x78557309.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.


Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') and change display units to

         sectors (command 'u').




Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-204, default 1): 1

Last cylinder, +cylinders or +size{K,M,G} (1-204, default 204): +30M




Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

e

Partition number (1-4): 2

First cylinder (32-204, default 32): 32

Last cylinder, +cylinders or +size{K,M,G} (32-204, default 204): 150




Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

l

First cylinder (32-150, default 32): 32

Last cylinder, +cylinders or +size{K,M,G} (32-150, default 150): +49




Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

l

First cylinder (82-150, default 82): 82

Last cylinder, +cylinders or +size{K,M,G} (82-150, default 150): 150




Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (151-204, default 151): 151

Last cylinder, +cylinders or +size{K,M,G} (151-204, default 204): 180




Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

p

Selected partition 4

First cylinder (181-204, default 181): 181

Last cylinder, +cylinders or +size{K,M,G} (181-204, default 204): 204



Command (m for help): p




Disk /dev/sdc: 213 MB, 213909504 bytes

64 heads, 32 sectors/track, 204 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x78557309


   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1          31       31728   83  Linux

/dev/sdc2              32         150      121856    5  Extended

/dev/sdc3             151         180       30720   83  Linux

/dev/sdc4             181         204       24576   83  Linux

/dev/sdc5              32          81       51184   83  Linux

/dev/sdc6              82         150       70640   83  Linux

 



Command (m for help): w   ---> 다 완료 되면 w를 눌러서 저장한다.

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.


---------------------------------------------------------------------------------------------------



[root@CentOS /root]# fdisk -l /dev/sdb   ------> 해당장치 파티션 확인하는 명령어





Disk /dev/sdb: 213 MB, 213909504 bytes


64 heads, 32 sectors/track, 204 cylinders(영랭_


Units = cylinders of 2048 * 512 = 1048576 bytes


Sector size (logical/physical): 512 bytes / 512 bytes


I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk identifier: 0x00000000





[root@CentOS2 /root]# fdisk /dev/sdb   -------> sdb디바이스의 해당장치 파티션 설정 명령어


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to


         switch off the mode (command 'c') and change display units to


         sectors (command 'u').




- 주파티션(50M, 50M , 50M , 나머지영역) 4개 생성





Command (m for help): n  ---> 파티션 추가 ,삭제는 d


Command action


   e   extended


   p   primary partition (1-4)


p


Partition number (1-4): 1


First cylinder (1-204, default 1): 1


Last cylinder, +cylinders or +size{K,M,G} (1-204, default 204): +50M




Command (m for help): n


Command action


   e   extended


   p   primary partition (1-4)


p


Partition number (1-4): 2


First cylinder (52-204, default 52): 52


Last cylinder, +cylinders or +size{K,M,G} (52-204, default 204): +50M




Command (m for help): n


Command action


   e   extended


   p   primary partition (1-4)


p


Partition number (1-4): 3


First cylinder (103-204, default 103): 103


Last cylinder, +cylinders or +size{K,M,G} (103-204, default 204): +50M




Command (m for help): n


Command action


   e   extended


   p   primary partition (1-4)


p


Selected partition 4


First cylinder (154-204, default 154): 154


Last cylinder, +cylinders or +size{K,M,G} (154-204, default 204): 204




Command (m for help): p


Disk /dev/sdb: 213 MB, 213909504 bytes


64 heads, 32 sectors/track, 204 cylinders


Units = cylinders of 2048 * 512 = 1048576 bytes


Sector size (logical/physical): 512 bytes / 512 bytes


I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk identifier: 0x000131fb


   Device Boot      Start         End      Blocks   Id  System


/dev/sdb1               1          51       52208   83  Linux


/dev/sdb2              52         102       52224   83  Linux


/dev/sdb3             103         153       52224   83  Linux


/dev/sdb4             154         204       52224   83  Linux




Command (m for help): w  저장


The partition table has been altered!


Calling ioctl() to re-read partition table.


Syncing disks.




[root@CentOS /root]# ls /dev/sdc*


/dev/sdc  /dev/sdc1  /dev/sdc2  /dev/sdc3  /dev/sdc4  /dev/sdc5  /dev/sdc6


[root@CentOS /root]# 




---------------------------------------------------------------------------------------------------------------------




파일 시스템 생성= 포맷과 비슷함


파일 시스템이란 파일을 저장하고 관리하는 구조 체계를 의미하며, 리눅스에서는 포멧을 파일 시스템


생성이라고 한다. 파일 시스템을 생성하려면 'mkfs' 명령어를 이용하면 된다.








root@CentOS /root]# fdisk -l /dev/sdb


Disk /dev/sdb: 213 MB, 213909504 bytes


64 heads, 32 sectors/track, 204 cylinders


Units = cylinders of 2048 * 512 = 1048576 bytes


Sector size (logical/physical): 512 bytes / 512 bytes


I/O size (minimum/optimal): 512 bytes / 512 bytes





Disk identifier: 0x992d33c0


Device Boot Start End Blocks Id System


/dev/sdb1 1 51 52208 83 Linux


/dev/sdb2 52 102 52224 83 Linux


/dev/sdb3 103 153 52224 83 Linux


/dev/sdb4 154 204 52224 83 Linux





[root@CentOS /root]# mkfs -t ext4 /dev/sdb1 // mkfs.ext4 /dev/sdb1 명령어 동일


[root@CentOS /root]# mkfs -t ext4 /dev/sdb2 // mkfs.ext4 /dev/sdb2 명령어 동일


[root@CentOS /root]# mkfs -t ext4 /dev/sdb3 // mkfs.ext4 /dev/sdb3 명령어 동일


[root@CentOS /root]# mkfs -t ext4 /dev/sdb4 // mkfs.ext4 /dev/sdb4 명령어 동일








--------------------------------------------------------------------------------------------------------------------------



마운트




이제 마지막으로 마운트 (mount) 라는 개념을 알아보겠습니다. mount 라는 뜻을 영어적으로 해석하면 '올리다' 라는 뜻이 있죠..말 그대로 입니다..



물리적장치를 특정한 위치[디렉토리]에 연결시켜 주는  과정




/dev/sda1/  ------>  /data/ -----> test.txt



버스(물리적장치)  ----->        버스 정류장(마운트 된 디렉토리)  ----> 홍길동(저장될 데이터)



버스는  버스정류장에 정차한다....(마운트의 개념)

홍길동은 버스 정류장에서 버스를 탄다.(데이터를 마운트 디렉토리에 저장)

버스는 홍길동을 태우고 목적지까지 간다(실제 물리적으로 디스크에 저장)


예를 들어서 data.txt를 /data 아래에 저장하면  /dev/sda1 디스크에 저장이된다.


그 후 /dev/sda1/ date2 디렉토리를 마운트 시키면 데이터는 text.txt가 보이지 않을 뿐 실제로는 /dev/sda1에 저장되어있다.







명령어(파일)위치 :  /sbin/mkfs





사용형식



mkfs [-V] [-t 파일시스템타입] [-o 파일시스템옵션] 장치이름 [블록]




-V : 자세한 정보 보기


-t : 생성할 파일시스템타입(ext2, ext3, ext4 등)을 지정, 기본값 ext2





[파일시스템옵션]





-c : 파일시스템을 생성하기 전에 배드블록(Bad Block)을 검사


-l 파일명 : 지정된 파일명으로부터 배드블록(Bad Block)목록 읽기


-v : 작업상태와 결과를 자세히 보기





장치이름 : 장치명(/dev/hda1, /dev/sdb2 등)으로 지정














파일시스템을 생성하려면 ext4 나 ext2등 타입을 정한후 장치명을 확인 해야하는데 장치명은 fdisk -l 로 확인할수있다.


파일 시스템을 생성한 다음, 해당 장치를 사용하기 위해서는 마운트(mount) 작업을 실시해야 한다. 만약, 장치 사용이 완료되었다면 언마운트(umount)를 실시해야 한다. 

단, 해당 장치를 사용하고 있다면, 언마운트는 실시되지 않는다.

 또한, 'mount' 명령어를 이용하여 마운트된 장치는 부팅시에 적용되지 않기 때문에 '/etc/fstab' 파일을 이용하여 부팅시에 마운트가 되도록 구성해야 한다.

 

 

1. 마운트 정보 확인

 

'df -h' 명령어를 이용하면 마운트 정보 및 디스크 스용량을 확인할 수 있으며, 'mount' 명령어를 이용하면 마운트 진행 및 마운트 상태를 확인할 수 있다.

 


[root@CentOS /test]# df -h

Filesystem                                    Size   Used   Avail  Use%

/dev/mapper/vg_centos-lv_root      35G     3.7G   30G     12%   /

tmpfs                                           1000M  72K    1000M  1%    /dev/shm

/dev/sda1                                    477M   34M    419M   8%    /boot   ------(용량 및 마운트 정보확인)

 

 

[root@CentOS /test]# mount     (# mount | column -t)

/dev/mapper/vg_centos-lv_root on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

 

 

 

 

2. '/etc/mtab' 마운트 파일

 

현재 마운트된 정보는 '/etc/mtab' 파일로 관리한다. 이 파일은 마운트된 정보를 실시간으로 기록하여 관리하기 때문에 

마운트가 된 장치가 있다면 자동으로 정보를 기록하며, 언마운트가된 장치가 있다면 자동으로 정보를 삭제한다.

 

[root@CentOS /test]# cat /etc/mtab

/dev/mapper/vg_centos-lv_root / ext4 rw 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

devpts /dev/pts devpts rw,gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0


/dev/sda1 /boot ext4 rw 0 0  -----> 마운트 된 파일 확인

none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0

vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,default_permissions,allow_other 0 0

 

 

[root@CentOS /test]# cat /etc/mtab | grep /dev/sda1    (# mount | grep /dev/sda1)

/dev/sda1 /boot ext4 rw 0 0


3. 파티션 정보 확인


[root@CentOS /test]# fdisk -l /dev/sdb

Disk /dev/sdb: 213 MB, 213909504 bytes

64 heads, 32 sectors/track, 204 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x992d33c0

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1          51       52208   83  Linux               마운트 실시

/dev/sdb2              52         102       52224   83  Linux

/dev/sdb3             103         153       52224   83  Linux

/dev/sdb4             154         204       52224   83  Linux


4. 마운트 실시


[root@CentOS /test]# mount /dev/sdb1 /test  ---> 마운트 실행 명령어    test폴더를 /dev/sdb 폴더에 마운트하라

[root@CentOS /test]# cat /etc/mtab | grep /dev/sdb1  ---> 다시 마운트 된 정보 확인

/dev/sdb1 /test ext4 rw 0 0

[root@CentOS /test]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_centos-lv_root

                       35G  3.7G   30G  12% /

tmpfs                1000M   72K 1000M   1% /dev/shm

/dev/sda1             477M   34M  419M   8% /boot

/dev/sdb1              46M  826K   43M   2% /test  




[root@CentOS /test]# cp /etc/services /test
[root@CentOS /test]# ls
lost+found  services                  'services' 파일은 /test 디렉토리에 있는게 아니라, /dev/sdb1에 있는 개념

 

[root@CentOS /test]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                       35G  3.7G   30G  12% /
tmpfs                1000M   72K 1000M   1% /dev/shm
/dev/sda1             477M   34M  419M   8% /boot
/dev/sdb1              46M  1.5M   42M   4% /test

 

 

[root@CentOS /test]# rm -f services
[root@CentOS /test]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                       35G  3.7G   30G  12% /
tmpfs                1000M   72K 1000M   1% /dev/shm
/dev/sda1             477M   34M  419M   8% /boot
/dev/sdb1              46M  826K   43M   2% /test

 

 

[root@CentOS /test]# umount /test                         마운트된 디렉토리에 있기 때문에 언마운트가 안됨
umount: /test: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))




@마운트 이해





1. 'mount' 명령어를 이용한 마운트




'mount' 명령어를 이용하여 해당 파일 시스템을 마운트한다. 반대로 마운트를 해지할 경우에는 


'umount' 명령어(umount -a)를 사용한다. 단, 'mount' 명령어를 이용한 마운트 정보는 시스템이 재부팅되면 


기록이 남지 않기 때문에 언마운트 상태로 시작된다.





기본값 내용 반대


rw  읽기,쓰기 ro


suid  setuid 사용 가능 nosuid


exec  파일 실행 가능 권한 noexec


auto 부팅시 자동 마운트 noauto


nouser 일반 계정 마운트 금지 user


atime access time 기록 noatime







ex) mount -t ext4 -o rw,suid,exec /dev/sdb1 /mnt/test1


ex) mount -t ext4 -o nosuid /dev/sdb1 /mnt/test1


ex) mount -o noexec,rw /dev/sdb3 /mnt/test3


ex) mount -o ro /dev/sdb4 /mnt/test4











2. 장치명을 이용하여 마운트 설정





[root@CentOS2 /root]# vi /etc/fstab


  1


  2 #


  3 # /etc/fstab


  4 # Created by anaconda on Wed Feb  3 01:40:21 2016


  5 #


  6 # Accessible filesystems, by reference, are maintained under '/dev/disk'


  7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info


  8 #


  9 UUID=7c533aa0-0a72-4a94-b076-382622ad8486 /                       ext4    de    faults        1 1


 10 UUID=f55d38f2-1434-4107-8aab-3f9ac3cba3b5 /home                   ext4    de    faults        1 2


 11 UUID=78b6f307-7ca2-4ae7-b2e5-866f01d64a15 swap                    swap    de    faults        0 0


 12 tmpfs                   /dev/shm                tmpfs   defaults        0 0


 13 devpts                  /dev/pts                devpts  gid=5,mode=620  0 0


 14 sysfs                   /sys                    sysfs   defaults        0 0


 15 proc                    /proc                   proc    defaults        0 0


 16 /dev/sdb1(장치명)   /mnt/test1(마운트 포인트)    ext4(파일 시스템 유형)    defaults(옵션)        1 2


 17 /dev/sdb2            /mnt/test2              ext4    nosuid          1 2


 18 /dev/sdb3            /mnt/test3              ext4    noexec         1 2


 19 /dev/sdb4            /mnt/test4              ext4    ro                 1 2





파일 점검 옵션


0: 부팅시 파일 시스템 점검 안함


1: 부팅시 시스템 점검시 가장 먼저 검사


2: 파일 시스템 점검시 순서








[root@CentOS2 /root]# mount -a  --> 전부 마운트 


[root@CentOS2 /root]# df -h  ---> 용량확인


Filesystem      Size  Used Avail Use% Mounted on


/dev/sda1        13G  4.5G  7.1G  39% /


tmpfs           495M   72K  495M   1% /dev/shm


/dev/sda3       477M  2.3M  449M   1% /home


/dev/sdb1        46M  826K   43M   2% /mnt/test1


/dev/sdb2        46M  875K   42M   2% /mnt/test2


/dev/sdb3        46M  875K   42M   2% /mnt/test3


/dev/sdb4        46M  826K   43M   2% /mnt/test4












3. LABEL을 이용하여 마운트 설정




[root@CentOS2 /root]# e2label /dev/sdb1 /test1          (삭제 # e2label /dev/sdb1 '')


[root@CentOS2 /root]# e2label /dev/sdb2 /test2          (삭제 # e2label /dev/sdb2 '')


[root@CentOS2 /root]# e2label /dev/sdb3 /test3          (삭제 # e2label /dev/sdb3 '')


[root@CentOS2 /root]# e2label /dev/sdb4 /test4          (삭제 # e2label /dev/sdb4 '')








[root@CentOS2 /root]# vi /etc/fstab




  1


  2 #


  3 # /etc/fstab


  4 # Created by anaconda on Wed Feb  3 01:40:21 2016


  5 #


  6 # Accessible filesystems, by reference, are maintained under '/dev/disk'


  7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info


  8 #


  9 UUID=7c533aa0-0a72-4a94-b076-382622ad8486 /                       ext4    de    faults        1 1


 10 UUID=f55d38f2-1434-4107-8aab-3f9ac3cba3b5 /home                   ext4    de    faults        1 2


 11 UUID=78b6f307-7ca2-4ae7-b2e5-866f01d64a15 swap                    swap    de    faults        0 0


 12 tmpfs                   /dev/shm                tmpfs   defaults        0 0


 13 devpts                  /dev/pts                devpts  gid=5,mode=620  0 0


 14 sysfs                   /sys                    sysfs   defaults        0 0


 15 proc                    /proc                   proc    defaults        0 0


 16 LABEL=/test1       /mnt/test1              ext4   defaults        1 2


 17 LABEL=/test2       /mnt/test2              ext4    nosuid          1 2


 18 LABEL=/test3       /mnt/test3              ext4    noexec         1 2


 19 LABEL=/test4       /mnt/test4              ext4    ro                 1 2










[root@CentOS2 /root]# mount -a  --> 전부 마운트 


[root@CentOS2 /root]# df -h  ---> 용량확인


Filesystem      Size  Used Avail Use% Mounted on


/dev/sda1        13G  4.5G  7.1G  39% /


tmpfs           495M   72K  495M   1% /dev/shm


/dev/sda3       477M  2.3M  449M   1% /home


/dev/sdb1        46M  826K   43M   2% /mnt/test1


/dev/sdb2        46M  875K   42M   2% /mnt/test2


/dev/sdb3        46M  875K   42M   2% /mnt/test3


/dev/sdb4        46M  826K   43M   2% /mnt/test4