Linux Mount (마운트)

Hyeju·2021년 10월 17일
2
post-thumbnail

리눅스에서 파일시스템 마운트하기

mount(마운트)란 하드디스크 파티션, CD/DVD, USB 메모리 등 물리적인 장치를 특정 위치에 연결시키는 과정이다.

위 구조와 같이 Linux 파일 시스템에서는 모든 파일들이 '/' 를 기준으로 Big Tree 계층을 이룹니다. mount 명령어를 통해 각각의 디바이스를 Big File Tree 에 연결시키는 것입니다.

리눅스 마운트, 윈도우와의 차이점

윈도우 운영체제에서는 PnP(Plug and Play) 기능에 의해 자동으로 주변 장치를 인식하기 때문에 직접 마운트 작업을 하지 않아도 됩니다. 리눅스 환경에서는 각각의 파티션들을 마운트 해주어야 합니다.

1. 마운트 대상 디바이스 이름 확인

리눅스에서는 모든 것들을 파일로 관리하게 되어있습니다. /dev 디렉토리에 장치드라이버와 터미널, 프린터 등 각정 주변장치를 나타내는 파일이 담겨 있습니다. USB, CD/DVD 와 같은 외부 장치 또한 포트에 꽂으면 리눅스 시스템은 /dev 디렉토리에 이 블럭디바이스를 추가합니다.

🧐블럭디바이스란

리눅스 시스템에는 두개의 주요 디바이스 타입이 있습니다.

  • Character Device

    캐릭터 디바이스는 serial ports, parallel ports, sound cards, keyboard 와 같이 단일문자(bytes, octets)들을 전송하고 수신하는 드라이버를 가진 디바이스입니다.
  • Block Device

    블록 디바이스는 하드디스크나 USB, Disk-On-Key 등 블록으로 된 데이터 자체를 전송하는 드라이버를 가진 디바이스입니다.
    /dev 디텍토리에서 파일유형이 c로 시작하는 캐릭터 디바이스와 b로 시작하는 블록 디바이스를 확인할 수 있습니다.
$ cd  /dev
$ ls -al

블록 디바이스 이름

리눅스에서 IDE 하드드라이브는 hd로 시작하며 SCSI 하드드라이브는 sd로 시작합니다. 드라이버 순서에 따라 a,b,c 등이 따라 붙습니다.
CD/DVD 장치는 보통 /dev/cdrom, USB 장치는 /dev/sdb, 터미널은 /dev/tty 같은 이름이 자동으로 붙여집니다.
이런식으로 디바이스가 디렉토리에 등록된 것만으로는 아직 파일을 저장하거나 불러올 수 없습니다. filesystem이 마운트 되어야하기 때문입니다.

디바이스 파일 이름 확인하기

$ sudo fdisk -l

mount를 수행시키기 전, 내가 마운트 시키려는 블록 디바이스가 어떤 이름을 가졌는지 확인하기 위한 명령입니다. 출력되는 리스트들의 Size 와 filesystem 을 통해 어떤 디바이스가 현재 마운트 시키려는 디바이스인지 알아냅니다.

이미 마운트된 장치와 위치 확인하기

아무런 옵션 없이 sudo mount 만을 입력한다면 어느 장치가 어디에 마운트 되어있는지가 출력됩니다.
우분투에서는 lsblk 명령어를 통해서도 RAM 디스크를 제외한 모든 파일 시스템의 MountPoint 정보를 조회할 수 있습니다.

2. 마운트 포인트 생성하기

파일시스템을 마운트 시키기 위해서는 mountpoint를 생성해야합니다. 기본적으로 파일시스템은 어느 위치에나 마운트가 가능하지만, 시스템 관리의 편의를 위해 관례를 따릅니다.

❗️사용자 및 시스템과 관련된 디렉토리를 마운트 포인트로 지정하면 안됩니다.
❗️한 개의 파티션은 하나의 마운트 포인트만을 사용합니다.

어느 위치에 생성할까

오래된 시스템에서 외부 디바이스는 /mnt 하위에 마운트 되었습니다. CD/DVD, floppy disk의 경우 각각 /mnt/cdrom, /mnt/floppy 가 되었습니다.

현재 거의 모든 리눅스 버전에서 removable device 들은 /media/USER/LABEL 로 자동 마운트 됩니다. USER 는 유저의 이름, LABEL 은 디바이스 라벨입니다.
외장하드, USB, 메모리카드 리더기 등 user-removable media의 기본 마운트 포인트가 /media 라고 생각하면 됩니다.
예를들어 USB 파티션을 마운트하려고 한다면 아래와같이 마운트 포인트를 생성시키면 됩니다.

$ sudo mkdir /media/usb-drive

3. 장치 마운트

블록 디바이스 이름을 찾았고, 마운트 포인트도 생성했다면 마운트를 위한 준비가 끝난 것입니다.

디바이스 파일명은 /dev/sdc1 이고
마운트 포인트는 /media/usb-drive 로 생성했다고 가정하였을 때 이와같이 mount 명령을 수행시킬 수 있습니다:

$ sudo mount /dev/sdc1 /media/usb-drive

0개의 댓글