RedHat Linux >> Fundamentals of the GNU/Linux
|
[목차] |
제3장 리눅스 명령어
15. 마운트하기 - mount dos를 사용하다가 리눅스를 사용할 때 가장 불편한 점이 무엇이라고 생각합니까? 애플리케이션이 많지 않다 구요? 그렇지 않습니다. 프로그램 개발 툴이 없다 구요? 역시 그렇지 않습니다. 리눅스가 다른 대부분의 사용자에게 호응을 얻지 못하는 것 중 하나가 게임이 많지 않다는 것입니다. 이번에 말하려고 하는 것은 이런 종류의 것이 아닙니다. 이런 모든 이유야 어쨌든 지금 리눅스를 사용하고자 하는 사용자가 가장 불편하게 생각하는 것이 있습니다. 바로 드라이브를 사용하는 것입니다. dos나 윈도우 98같은 경우에는 필요에 딸 플로피나 cd를 언제든지 읽거나 쓸 수 있지만 리눅스는 그렇지 못해서 마운트라는 것을 이용해야 합니다. 예를 들어 dos에서 플로피 디스켓을 사용한다고 합시다. 먼저 플로피 디스켓을 드라이브에 넣고 바로 그 다음 원하는 작업을 하면 되었을 것입니다. 그러나 리눅스는 이것이 안됩니다. 그러면 리눅스에서 어떻게 마운트를 이용해서 드라이브를 사용하는지 알아봅시다.
먼저 플로피 디스켓을 이용하는 방법입니다. 리눅스에서 플로피 드라이브를 사용하려면 먼저 디스켓을 드라이브에 꽂아야 합니다. 그 다음에 마운트를 하는 'mount' 라는 명령어를 사용합니다.
[root@leelab /root]# mount -t msdos /dev/fd0 /mnt/floppy/ [root@leelab /root]#
앞에서 a 드라이브에 있는 플로피를 마운트하는 과정을 보여주고 잇습니다. 두 번째 아규먼트로 사용된 '-t' 는 파일 타입을 직접 지정하겠다는 것을 의미하는 것이고, 세 번째 아규먼트는 파일 타입 중 하나인 dos 파일 시스템으로 마운트함을 지정하는 것입니다. 그리고 '/dev/fd0'는 a 드라이브를 의미하는 것입니다. b 드라이브를 마운트한다면 '/dev/fd1'이라고 하면 됩니다. 그리고 마지막으로 지정한 디렉토리는 마운트될 디렉토리를 의미하는 것입니다. 이제 파일을 /mnt/floppy 디렉토리로 복사하면 그 파일은 디스켓으로 복사하는 것과 마찬가지가 되는 것입니다.
[root@leelab /]# ls /mnt/floppy isdn4k~1.rpm* [root@leelab /]#
그 디렉토리 밑의 내용을 보았더니 isdn4k~1.rpm 라는 파일이 있군요. 디스켓에 이 파일이 있다는 것을 나타내는 것입니다. 이 파일을 지우면 당연히 디스켓 내에도 이 파일이 존재하지 않게 됩니다. 모두 사용했다고 가정합시다. 그러면 어떻게 할까요? 간단합니다. 마운트 했던 것을 풀면 됩니다. 이때는 'umount'라는 명령어를 사용합니다.
[root@leelab /]# umount /dev/fd0 [root@leelab /]#
그리고 나서 디스켓을 드라이브에서 빼면 됩니다. 주의하세요. 마운트를 해제하지 않고 디스켓을 빼면 안됩니다. 그러면 이번에는 cd-rom 드라이브를 마운트해 봅니다. 먼저 가지고 있는 cd를 드라이브에 넣습니다.
[root@leelab /]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ mount: block device /dev/cdrom is write is write-protected, mounting read-only [root@leelab /]# ls -p /mnt/cdrom/ autorun.inf netsgo.exe netsgo.ico sk/ win95/ [root@leelab /]#
이번에는 cd를 마운트하는 예를 보여주고 있습니다. cd는 쓰기가 불가능하죠? 마운트할 때 읽기 전용이라고 메시지가 나오는군요. 파일 타입에 보면 'iso9660' 이라고 되어 있을 것입니다. 어느 cd나 파일 타입은 iso9660 포맷으로 되어 있거든요. cd 레코더를 사용 해 본 사용자라면 이미 알고 있었을 것입니다. 역시 마운트를 해제할 때 'umount'라는 명령어를 사용하면 됩니다.
[root@leelab /]# umount /mnt/cdrom [root@leelab /]#
아마 마운트를 해제하지 않고 cd를 빼내려고 한다면 빠지지 않을 것입니다. 꼭 마운트를 해제해야 하거든요.
앞에서 본 것은 dos에서도 쉽게 볼 수 있는 dos 파일 시스템이나 cd 파일 시스템을 마운트해 본 것인데 디스켓을 리눅스 파일 시스템으로 만들어 놓고 리눅스 파일을 복사해 넣는다면 어떻겠습니까? 아마 그 디스켓의 내용은 dos나 윈도우 98에서 확인할 수 없을 것입니다. 그러면 그러한 디스켓을 만들어 봅시다.
먼저 디스켓을 꽂았으면 리눅스 파일 시스템으로 포맷해야 할 것입니다. 이때 'mkfs.ext2' 라는 명령어를 사용합니다.
[root@leelab /]# mkfs.ext2 dev/fd0 mke2fs 1.12, 9-jul-98 for ext2 fs 0.5b, 95/08/09 linux ext2 filesystem format filesystem label= 360 inodes, 1440 blocks 72 blocks (5.00%) reserved for the super user first data block=1 block size=1024 (log=0) fragment size=1024 (log=0) 1 block group 8192 blocks per group, 8192 fragments per group 360 inodes per group
writing inode tables: done writing superblocks and filesystem accounting information: done [root@leelab /]#
파일을 디스켓에 복사해야 하므로 먼저 플로피를 마운트해 봅니다.
[root@leelab /]# mount -t ext2 dev/fd0 /mnt/floppy/ [root@leelab /]# ls /mnt/floppy/ lost+found/ [root@leelab /]#
마운트할 때의 파일 타입은 ext2입니다. 앞에서 이미 언급했죠?
[root@leelab /root]# cp test.txt /mnt/floppy/ [root@leelab /root]# ls /mnt/floppy/ lost+found/ test.txt [root@leelab /root]# umount /dev/fd0
실제적으로 파일을 복사하고 마운트를 해제하는 과정을 나타내고 있습니다.
이번에는 조금 다른 얘기를 해 보도록 하겠습니다. 여러분이 사용하고 있는 리눅스는 당연히 ext2 파일 시스템인 하드에 설치되어 있습니다. 그러나 부팅 될 때 따로 마운트할 필요 없이 바로 부팅 됩니다. 그것은 기본적으로 리눅스를 설치하면 하드 드라이브가 자동으로 마운트 되도록 구성되어 있기 때문입니다.
[root@leelab /root]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ mount: block device /dev/cdrom is werit-protected, mounting read-only [root@leelab /root]# mount /dev/hda1 on / type ext2 (rw) /proc on /proc type proc (rw) /dev/hdc on /mnt/cdrom type iso9660 (ro) [root@leelab /root]#
위에서 보면 'mount'라는 명령어를 아무 아규먼트도 붙이지 않은체 그냥 사용했죠? 그냥 사용하면 현재 마운트되어 있는 정보가 출력됩니다. 제일 위에 보니 /dev/hda1이 ext2파일 타입으로 마운트되어 있습니다. 바로 리눅스가 설치되어 잇는 하드 드라이브입니다.
[root@leelab /root]# umount /dev/hda1 umount: /dev/hda1: device is busy [root@leelab /root]#
마운트가 해제되지 않죠? 현재 여러분이 있는 곳이 바로 마운트되어 있는 곳이기 때문입니다. 부팅시 cd-rom 드라이브가 자동으로 마운트 되도록 하고 싶으면 어떻게 하면 될까요? 간단합니다. 한번 /etc 디렉토리 밑에 있는 fstab 이라는 파일의 내용을 보기 바랍니다.
[root@leelab /]# cd etc [root@leelab /etc]# cat fstab /dev/hda1 / ext2 defaults 1 1 /dev/hda2 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 /proc /proc proc defaults 0 0 [root@leelab /etc]#
이 파일에 자동으로 마운트할 드라이브를 지정하면 리눅스 부팅시 자동을 마운트 합니다. 물론 사용하는 형식은 위와 똑같은 형식으로 써주면 됩니다. 여기 보면 cd-rom 드라이브 부팅이 'noauto,ro'라고 되어 있죠? 이것을 'defaults,ro'라고 지정하면 됩니다. 여기서 'ro'는 읽기 전용을 의미하는 것입니다. dos용 디스켓을 항상 자동으로 마운트하고 싶으면 'ext2'를 'msdos'로 바꾸고 'noauto'를 'defaults'로 바꾸면 됩니다. 이것은 이제 나중에 배우겠지만 에디터를 이용해서 편집하면 됩니다.
|
[목차] |