강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 mount 실무활용 강좌

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스 mount 실무활용 강좌

 

 

사용형식
mount -a [-fnrvw] [-t
파일시스템타입]
mount [-fnrvw] [-o
옵션 [,...]] 장치| 디렉토리
mount [-fnrvw] [-t
파일시스템타입] [-o 옵션] 장치디렉토리

 

 

아래의 예와 같이 mount라고 하면 현재 마운트되어 있는 정보를 볼 수 있습니다.  

 

아래의 정보들은 /etc/mtab파일의 내용과 동일한 것으로 /etc/mtab파일에는 현재 시스템에서 마운트되어 있는 정보들이 저장되어 있습니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657653_8936.png
 

 

첫 번째 열은 장치명이며 두번째 열은 마운트포인트(디렉토리명)이며 세번째 열은 파일시스템 타입이며 괄호안의 내용은 읽고 쓸 수있는가의 여부 즉, 마운트에서 사용한 옵션입니다.  

 

뒤의 예에서 자세히 설명하겠지만 먼저 빈번하게 사용되는 CD-ROM 마운트에 대하여 간단히  예를 들어 보도록 하겠습니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657672_2479.png
 


위의 예는 CD-ROM을 사용하기 위해서 CD-ROM을 마운트 한 것입니다


이렇게 마운트 한 다음에는 "/mnt/cdrom 디렉토리로 가서 CD-ROM에 저장된 파일들을 읽을 수 있습니다.

 

 

마운트되면서 출력된 메시지에는 읽을 수는 있어도 저장할 수 없다는 메시지를 “mount: block device /dev/cdrom is write-protected, mounting read-only”과 같이 보여줍니다.

 

 

이제 CD-ROM의 내용을 확인할 수 있으며 아래는 마운트된 CD-ROM의 내용을 /mnt/cdrom으로 가서 확인한 것입니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657687_971.png
 

 

CD-ROM의 사용이 끝난 후에는 마운트된 CD-ROM을 마운트해제(umount) 시켜야 합니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657702_1851.png
 

 

 

마운트되어있는 상태에서는 CD-ROM을 뺄 수 없으며, 위의 예처럼 언마운트(umount)를 하면 마운트가 해제되고 CD-ROM을 뺄 수 있습니다.

 

현재 작업디렉토리 위치가 /mnt/cdrom 내부일 경우에는 위의 예처럼 umount가 되지않고 “device is busy”라는 메시지만 보여줍니다

 

마운트된 CD-ROM umount 시키려면 /mnt/cdrom에서 다른 곳으로 빠져나와서 umount를 시켜야 합니다.

 

이렇게 운용자가 직접 마운트를 시켜줘야 사용할 수 있는 장치가 있는가하면 시스템이 부팅되면서 자동으로 마운트를 시켜주는 것이 있습니다.

 

시스템에 꼭 필요한 디바이스같은 경우에는 부팅시에 자동으로 마운트를 시켜, 부팅 후에 하나씩 모두 수작업으로 마운트해주어야하는 번거로움을 없앨 수 있습니다.

 

 

어떤 디바이스를 부팅과정에서 마운트를 시킬 것인가에 대한 설정은 /etc/fstab파일에 있습니다


이 파일을 보통파일시스템 테이블(FileSystem Table)”이라고 합니다.

 


cb7659c654fd99a396bca435184bb9c9_1649657718_7811.png
 

 

 

첫 번째 열은 디바이스명(또는 레이블명)을 나타냅니다.

 

/dev 디렉토리에는 이들 디바이스파일들이 지정되어 있습니다.

 

두 번째 열은 마운트포인트(디바이스와 연결하여 사용할 디렉토리경로)이며 세 번째 열은 파일시스템 타입입니다.

그리고 네 번째 열에서 defaults라고 되어있으면 부팅과정에서 자동으로 마운트가 되며, noauto라고 되어있는 경우에는 직접 마운트를 시켜서 사용해야 합니다.

 

noauto로 되어 있는 경우에 마운트를 시키는 방법은 매우 간단합니다. 참고로 /etc/fstab파일에 대한 자세한 설명은 다음절에서 설명하고 있는 "파일시스템 자동마운트 정보파일 /etc/fstab"편의 설명을 보시기 바랍니다.

 

 

아래와 같이 "mount 마운트포인트"라고 하면 /etc/fstab에 지정되어 있는 디바이스로 자동으로 마운트 시켜줍니다. 예를들어 보겠습니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657737_3672.png
 

 

 

“mount /mnt/cdrom” /etc/fstab에서 /dev/cdrom 디바이스가 지정되어 있으므로 이 디바이스로 마운트를 시켜줍니다.

 

 

리눅스에 장착된 CD-ROM데이터 사용하기 실무

 

 

앞의 예에서 CD-ROM마운트에 대한 기본적인 방법을 설명하였습니다.

 

이번에는 위의 방법을 참조하여 실제 리눅스서버에 장착되어있는 CD를 사용하는 방법에 대해서 설명하겠습니다

 

 

리눅스에서 mount명령어를 가장 흔하게 사용하는 것이 CD-ROM의 마운트입니다. 따라서 이번 장에서는 CD-ROM의 마운트와 사용방법들에 대해서 자세히 알아보도록 하겠습니다.

 

 

CD-ROM의 파일시스템은 iso9660이라는 파일시스템을 사용합니다.

 

이에 대한 내용은 /etc/fstab을 보면 자세히 나와있습니다. 따라서 CD-ROM을 마운트시킬 때에는 -t 옵션에 iso9660이라는 파일시스템 타입을 지정해야 합니다.

 

 

CD-ROM 마운트형식 : mount -t iso9660 /dev/cdrom /mnt/cdrom

 

cb7659c654fd99a396bca435184bb9c9_1649657755_3603.png
 

 

에러메시지없이 CD-ROM이 마운트되었다는 메시지가 출력이 되었습니다.

 

위의 결과 메시지는 CD-ROM은 쓰기(write)가 않되며 오직 읽기만 가능하다는 것을 알려주는 메시지입니다.  

 

CD-ROM의 장치파일명은 /dev/cdrom 이며 이 장치를 /mnt/cdrom이라는 디렉토리에 마운트를 하였습니다.  

 

쉽게 설명하여 /dev/cdrom 장치에 /mnt/cdrom을 연결한 것입니다.

 

즉 마운트가 된 이후부터는 CD-ROM의 장치는 /mnt/cdrom으로 사용 할 수 있습니다.

 

 

참고로 위의 “mount /mnt/cdrom”이라는 간단한 마운트방법은 /etc/fstab CD-ROM마운트정보가 설정되어있기 때문에 사용할 수 있는 방법입니다.

 

만약 위와 같은 방법으로 마운트가 되지않는다면 다음과 같은 방법으로 마운트하시기 바랍니다.

 

이제 마운트가 된 CD-ROM으로 이동하기 위하여 마운트포인트인 /mnt/cdrom 디렉토리로 이동해 보겠습니다.

 

 cb7659c654fd99a396bca435184bb9c9_1649657773_965.png


다음은 CD-ROM의 마운트포인트인 /mnt/cdrom의 내용을 살펴 보겠습니다.

 

/mnt/cdrom에서 "ls -l"을 해보면 CD-ROM의 내용이 리스트로 출력됩니다.

 

 cb7659c654fd99a396bca435184bb9c9_1649657786_9826.png

 

, 위의 내용은 CD-ROM에 있는 파일들입니다

 

다음은 마운트가 되어있는 /mnt/cdrom에서 파일들 중 하나(, TRANS.TBL) /tmp 디렉토리로 복사해 보겠습니다

 

아래의 예는 CD-ROM의 파일 중 TRANS.TBL을 리눅스의 /tmp디렉토리로 복사한 예입니다.

 

그런 다음 /tmp 디렉토리로 이동하여 TRANS.TBL 파일이 복사 되었는가를 확인한 것입니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657801_7205.png
 

 

 

이것을 예로든 이유는 마운트 된 후에는 CD-ROM의 내용을 리눅스의 파일시스템을 사용하는 것과 동일하게 사용할 수 있다는 것을 간단히 보여주기 위한 것입니다

 

 

실제로 마운트하지 않고 마운트 가능여부만을 확인하기

 

 

mount명령어로 특정 장치의 마운트가 가능한가를 확인만 하는 방법이 있습니다.

 

, mount명령어에 -f옵션을 사용하시면 마운트 가능여부를 확인할 수 있습니다.

 

이때에서 mount명령어의 사용형식은 -f옵션을 사용한다는 것 외에는 다른 방법과 동일합니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657818_931.png
 

 

 

 

 

특정 파일시스템을 읽기만 가능하도록 마운트하기(쓰기금지 마운트)

 

 

다음은 mount명령어로 특정장치를 마운트시에 마운트된 후에 쓰지(write)못하도록 할 수가 있습니다.

 

, mount명령어를 사용하여 마운트를 할 때에 -r옵션(Read Only)을 사용하여 마운트하였다면 그 장치는 쓰기(write)가 금지됩니다

 

 

아래의 예는 /dev/hdb파일시스템을 /backup 디렉토리로 마운트를 하면서 -r옵션을 사용하여 쓰기 금지옵션을 사용하여 마운트한 것입니다.


cb7659c654fd99a396bca435184bb9c9_1649657835_7852.png
 

 

, 위와 같이 마운트 된 후에 /backup디렉토리는 읽기만 가능하며 쓰기는 금지됩니다.

 

 

아래의 예는 -r옵션으로 마운트된 /backup디렉토리에 파일을 복사하여 쓰기를 하였으나 보시는 바와 같이 “Read-only file system”이라는 메시지와 함께 쓰기실패를 하였습니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657851_6678.png
 

 

 

눈치 빠르신 분들이라면 이미 ~!”라고 느낄 수 있었겠지만 이번 예와 같이 “Read Only”모드, 즉 쓰기금지모드로 마운트를 하게 되면 비록 쓰기는 금지되지만 파일시스템내의 데이터를 보호하는 목적에는 이보다 더 좋을 수는 없다는 것을 알 수 있습니다

 

 

읽기만 해도되는 파일시스템, 예를들어 파일다운로드서비스만 하는 파티션 같은 경우에는 읽기만을 제공하여 서버보안을 해보시기 바랍니다. 서버보안에 이보다 더 좋을 수는 없습니다.

 

 

 

읽기,쓰기 가능하도록 마운트하기

 

 

이번에는 앞의 예와 다르게 읽기와 쓰기가 모두 가능하도록 마운트하도록 하겠습니다.

 

, 다음은 mount명령어로 특정장치를 마운트할 때에 마운트된 후에 읽기(read), 쓰기(write)를 모두 할 수 있도록 마운트한 예입니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657866_6278.png
 

 

 

위의 예는 /dev/hdb파티션을 /backup 디렉토리로 마운트를 하면서 -w옵션을 사용하여 쓰기가 가능하도록 마운트한 것입니다.

 

위의 예와 같이 마운트된 /backup디렉토리에 file1이라는 파일을 복사하여 저장되는 것을 보실 수 있습니다.

 

 

현재 마운트된 정보 자세히 살펴보기

 

 

앞의 예에서 간단히 언급하였던 마운트정보 확인하는 방법에 대해서 설명하도록 하겠습니다.

 

시스템에서 현재 마운트되어있는 정보를 자세히 확인하려면 mount명령어에 -v옵션을 사용하시면 됩니다. 아래의 예는 현재 시스템에 마운트된 정보를 자세히 확인한 것입니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657881_6415.png
 

 

-v옵션을 사용하지 않아도 위의 결과와 동일한 정보를 보여줍니다.

 

여기서 분명히 아셔야하는 것은 mount -v의 결과는 /etc/mtab파일에 저장되어 있다는 것입니다.

 

, 현재 마운트되어있는 정보들이 /etc/mtab파일에 저장되어 있으므로 이 파일을 확인해 보시면 mount -v와 같은 결과를 확인 할 수 있습니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657899_1507.png
 

 

 

위의 예는 /etc/mtab파일의 내용을 확인한 것으로 위의 mount -v의 결과와 비교해 보시면 동일하다는 것을 알 수 있습니다.

 

 

 

다양한 파일시스템 유형에 맞는 여러가지 마운트 방법

 

 

mount명령어로 여러가지 파일시스템 타입으로 마운트를 시켜서 사용할 수 있습니다.

 

mount를 할 때에 파일시스템 타입을 지정하시려면 다음과 같은 형식을 사용하시면 됩니다.

 

 

사용형식 : mount -t 파일시스템타입 장치명 마운트포인트

 

,  -t다음에 파일시스템의 종류를 지정하시면 됩니다.

 

현재 mount명령어에서 지정 가능한 파일시스템의 종류로는 다음과 같은 것들이 있습니다.

 

 

adfs, affs, autofs, coda, coherent,  cramfs,  devpts,  efs, ext,  ext2,  ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4,  ramfs,  reiserfs,  romfs,  smbfs,  sysv, tmpfs,  udf,  ufs,  umsdos,  vfat, xenix, xfs, xiafs

 

 

위의 파일시스템타입들을 모두 사용하는 것은 아니지만 리눅스에서 mount명령어로 파일시스템타입으로 지정하여 마운트가능한 파일시스템의 종류들입니다.

 

 

주로 많이 사용하는 파일시스템의 종류별로 마운트하는 방법들을 다음 예부터 차례대로 설명하였으므로 참고하시기 바랍니다.

 

 

ext3 타입의 파일시스템 마운트하기

 

 

이번 예는 ext3파일시스템으로 /dev/hdb /backup에 마운트 시킨 예입니다.

 

마운트를 시킨 이후에 mount라는 명령어로 마운트된 내용을 확인하였습니다

 

mount의 결과 맨 마지막행에 보시면 “/dev/hdb on /backup type ext3 (rw)”라는 것을 보실 수 있습니다.

 

이것이 /backup ext3로 마운트된 /dev/hdb의 정보입니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657922_514.png
 

 

 

현재 리눅스에서 대표적으로 사용하는 파일시스템이 ext3이므로 mkfs mkfs.ext3등으로 파일시스템을 생성 및 포맷작업을 옵션없이 생성하였을 경우에는 기본적으로 ext3타입으로 포맷 됩니다.

 

따라서 ext3로 생성된 파일시스템을 마운트하려면 -t ext3라는 옵션이 없어도 ext3로 마운트가 됩니다.

 

아래는 -t ext3옵션없이 마운트를 한 예로서 ext3타입으로 마운트가 된 예입니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657936_6908.png
 

 

mount로 확인한 결과 중 맨 마지막의 결과인 “/dev/hdb on /backup type ext3 (rw)”의 결과가 위에서 mount한 결과입니다.

 

여기서 알 수 있는 것은 ext3로 포맷된 파일시스템은 -t ext3라는 옵션없이 mount를 시켜도 기본값으로ext3로 마운트가 된다는 사실입니다.

 

 

ext2 타입의 파일시스템 마운트하기

 

 

이번에는 ext2리눅스 파일시스템을 마운트하는 예를 보도록 하겠습니다.

 

아래의 예는 ext2파일시스템으로 /dev/hdb /backup에 마운트 시킨 예입니다.

 

마운트를 시킨 이후에 mount라는 명령어로 마운트 결과를 확인한 것으로 mount의 결과 중 맨 마지막행이 ext2로 마운트시킨 결과를 나타내고 있습니다.

 

 

이 행의 내용을 보시면 ext2 /dev/hdb /backup에 마운트되어 있다는 것을 알 수가 있습니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657951_6342.png
 

 

 

 

iso9660파일시스템 타입으로 마운트하기

 

 

아래의 예는 iso9660파일시스템으로 /dev/cdrom /mnt/cdrom에 마운트 시킨 예입니다.

 

CD-ROM의 공식적인 파일시스템타입이 iso9660이므로 CD-ROM마운트시에는 반드시 iso9660타입을 사용하셔야 합니다

 

 

cb7659c654fd99a396bca435184bb9c9_1649657966_4812.png
 

 

위의 방법이 가장 일반적인 방법이며 CD-ROM을 마운트하는 또다른 방법으로는 /etc/fstab에 정의되어있는 정보를 그대로 이용하는 것입니다.

 

, 다음과 같이 “mount /mnt/cdrom”만 하여도 위와 같이 CD-ROM을 마운트할 수 있다는 것을 알 수 있습니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649657979_9912.png
 

 

 

위와 같이 장치명과 파일시스템의 지정없이 mount를 실행해도 정상적인 마운트가 되는 이유는 /etc/fstab /mnt/cdrom에 대한 정의가 다음과 같이 되어있기 때문입니다.

 

cb7659c654fd99a396bca435184bb9c9_1649657994_0165.png
 

 

, “mount /mnt/cdrom”과 같이 마운트포인트만 지정하여 mount명령을 사용하면  아래와 같이 /etc/fstab파일의 /mnt/cdrom에 대한 마운트정보가 정의되어있는 그대로 마운트를 하게 됩니다.

 

이렇게 마운트된 CD-ROM의 활용과 사용은 앞의 예에서 설명하였으므로 생략합니다.

 

 

 

 

vfat 윈도우파일시스템 마운트하여 윈도우디스크 사용하기

 

윈도우시스템에서 사용하던 디스크를 리눅스에 추가장착하여 그대로 사용하려면 다음과 같이 vfat으로 마운트를 하면 됩니다.

 

 

, 윈도우에서 사용하던 하드디스크를 리눅스 서버에 추가장착하여 사용하려면 다음과 같이 마운트하십시요.

 

추가되는 하드디스크의 장치명을 /dev/hdc라고 가정하겠습니다.

 

mount  -t  vfat  /dev/hdc  /win

 

 

아래의 예는 윈도우파일시스템으로 포맷된 플로피디스크를 /win디렉토리에 vfat타입으로 마운트 한 예입니다.

 

cb7659c654fd99a396bca435184bb9c9_1649658009_5984.png
 

 

 

위의 예는 윈도우에서 사용하던 디스크를 리눅스에 추가장착하여 /win 디렉토리에 마운트한 예입니다.

 

이렇게 마운트하고 나면 리눅스에서도 윈도우에서 사용하던 하드디스크를 사용할 수 있습니다.

 

 

MSDOS 파일시스템으로 포맷된 디스켓을 마운트하여 사용하는 방법

 

 

아래의 예는 msdos파일시스템으로 /dev/fd0 /mnt/floppy에 마운트 시킨 예입니다.

 

윈도우 PC에서 사용하던 플로피디스크를 리눅스에서 바로 사용하려면 반드시 msdos파일시스템으로 마운트를 하셔야 합니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649658023_6335.png
 

 

 

MSDOS디스켓을 마운트한 후에 /mnt/floppy의 내용을 살펴본 것입니다.

 

또한 이들 파일을 리눅스로 복사하거나 삭제하는 작업도 가능합니다.

 

 

CD-ROM마운트 할 때와 마찬가지로 플로피를 마운트 할 때에도 파일시스템 타입과 장치명을 생략하고 다음과 같이 간단히 마운트 할 수 있습니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649658038_4207.png
 

 

위와 같이 마운트할 수 있는 이유는 /etc/fstab /mnt/floppy에 대한 마운트정보가 정의되어 있기 때문입니다.

 

, “mount /mnt/floppy”라고 마운트를 실행하면 mount명령어는 /mnt/floppy에 대한 마운트정보를 /etc/fstab파일에서 가져와 마운트를 하게 됩니다.

 

cb7659c654fd99a396bca435184bb9c9_1649658052_069.png
 

 

 

 

 

원격서버의 파일시스템 마운트하여 사용하기(NFS마운트하는 방법)

 

지금까지의 마운트는 현재 서버내에 장착된 하드웨어에 대한 마운트에 대한 예들 이였습니다.

 

이번에는 mount명령어로 다른 서버에 위치한 디스크를 로컬에서 사용하는 것과 동일한 방법으로 사용하도록 하기위하여 NFS환경에서 마운트하는 방법과 예를 설명하도록 하겠습니다.

 

NFS클라이언트에서 NFS서버로 마운트하기 위한 mount명령어 형식은 다음과 같습니다.

 

 

mount -t nfs NFS서버IP주소또는호스트명:/NFS서버마운트포인트 /NFS클라이언트마운트포인트

 

 

좀 쉽게 표현해 보고자 위와 같이 좀 풀어서 적어 보았습니다

 

“-t nfs”라는 것은 설명드린 바와 같이 파일시스템타입이며 이는 반드시 nfs로 지정해 주셔야합니다.

 

 즉 네트웍파일시스템(NFS : Network FileSystem)을 사용할 것이기 때문입니다.

 

“NFS서버IP주소또는호스트명에는 NFS서버의 IP주소나 호스트명을 적어주시면 됩니다.

 

 

“/NFS서버마운트포인트 NFS서버에서 NFS클라이언트의 마운트가 허용되어 있는(NFS서버의 /etc/exports에 설정되어 있어야함)위치를 지정하시면 됩니다.

 

 

“/NFS클라이언트마운트포인트에는 마운트명령어를 사용하고 있는 NFS클라이언트의 마운트포인트를 적어주시면 됩니다.

 

아래의 예는 현재서버의 /web_data라는 디렉토리를 192.168.0.200서버의 /web_data디렉토리에 마운트를 시킨 것입니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649658070_2127.png
 

 

위와 같이 마운트가 되고나면 192.168.0.200서버의 /web_data디렉토리를 현재 서버의 /web_data디렉토리처럼 사용할 수 있습니다.

 

예를 들어 현재 서버에서 “cp a.txt /web_data”라는 명령어로 a.txt라는 파일을 복사하였다면 실제로는 이 파일은 192.168.0.200서버의 /web_data디렉토리에 복사가 됩니다.

 

 

예를 하나 더 들어보겠습니다.

 

아래의 예는 현재서버의 /db_data 디렉토리를 192.168.0.201서버의 /db_data디렉토리에 nfs로 마운트를 시킨 예입니다.

 

 

cb7659c654fd99a396bca435184bb9c9_1649658083_8563.png
 

 

 

위와 같이 마운트가 되고나면 192.168.0.201서버의 /db_data디렉토리를 현재 서버의 /db_data디렉토리처럼 사용할 수 있습니다.

 

예를들어 현재서버에서 “cp bible.sql /web_data”라는 명령어로 bible.sql이라는 파일을 복사하였다면 실제로는 이 파일은 192.168.0.201서버의 /db_data디렉토리에 복사가 됩니다.

 

 

 

, 원격지의 서버에 있는 디스크나 디렉토리를 현재서버에 있는 것과 동일하게 사용하려면 위의 예와 같이 nfs로 마운트를 하여 사용하시면 됩니다




관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,787 개
  • 현재 접속자 :  232 명