맨위로가기

Mount (유닉스)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Mount는 유닉스 계열 운영 체제에서 파일 시스템을 운영 체제에 연결하고 접근할 수 있도록 하는 명령어이다. `mount` 명령어를 통해 파일 시스템, 파일, 디렉터리, 장치 등을 특정 위치에 연결하며, `umount` 명령어를 사용하여 연결을 해제한다. Mount는 파일 시스템 종류, 접근 권한 등 다양한 옵션을 설정할 수 있으며, 바인드 마운트와 루프 장치 마운트와 같은 고급 기능도 제공한다. 또한, `pmount`와 `gnome-mount`와 같은 관련 도구들도 존재한다.

더 읽어볼만한 페이지

  • 유닉스 파일 시스템 관련 소프트웨어 - Filesystem in Userspace
    Filesystem in Userspace (FUSE)는 사용자 공간에서 파일 시스템을 구현하는 인터페이스로, 커널 수정 없이 파일 시스템 개발을 가능하게 하며, libfuse 라이브러리를 통해 다양한 운영체제 및 프로그래밍 언어를 지원한다.
  • 유닉스 파일 시스템 관련 소프트웨어 - Chmod
    chmod는 파일 및 디렉터리의 접근 권한을 변경하는 유닉스 명령어이며, 문자열 또는 숫자 모드를 사용하여 권한을 설정하고 재귀적으로 하위 디렉터리에도 적용할 수 있다.
Mount (유닉스) - [IT 관련 정보]에 관한 문서
일반 정보
이름mount
종류명령어
개발자AT&T 벨 연구소
첫 출시일1971년 11월 3일
운영 체제유닉스, 유닉스 계열

2. 사용법

`mount` 명령어는 파일 시스템을 운영 체제에 연결하여 사용할 수 있도록 준비하는 명령어이다. 특정 마운트 지점에 파일 시스템을 연결하고 관련 옵션을 설정하여, 사용자가 파일, 디렉터리, 장치 등에 접근할 수 있게 한다.

반대로 `umount` 명령어는 연결된 파일 시스템을 마운트 지점에서 분리하여 접근을 차단한다. 장치를 제거하기 전에 `umount`를 실행하는 것은 데이터 손실을 방지하는 데 중요하다.

일반적으로 이 명령어들은 root 사용자 권한이 필요하지만, `/etc/fstab` 설정을 통해 특정 사용자에게 권한을 부여할 수도 있다.

자세한 명령어 사용법, 옵션, 마운트 해제 방법 등은 하위 섹션에서 다룬다.

2. 1. 기본 사용법

`mount` 명령어는 운영 체제에 특정 파일 시스템을 사용할 준비가 되었음을 알리고, 파일 시스템 계층 구조 내의 특정 지점(마운트 지점)에 연결하는 역할을 한다. 이 과정을 통해 파일 시스템, 파일, 디렉터리, 장치 및 특수 파일을 사용자가 접근하고 사용할 수 있게 된다.

이에 상응하는 명령어인 `umount`는 마운트된 파일 시스템을 마운트 지점으로부터 분리하여 더 이상 접근할 수 없도록 만든다. 파일 시스템에 대한 변경 사항이 완전히 기록되지 않았을 수 있으므로, 장치를 물리적으로 제거하기 전에 `umount` 명령어를 실행하여 데이터 변경 사항을 안전하게 저장하고 파일 시스템을 분리하는 것이 중요하다.

일반적으로 `mount` 및 `umount` 명령을 실행하려면 root 사용자 권한이 필요하다. 또는 root 사용자가 해당 작업을 수행할 수 있는 특정 권한을 이전에 부여했을 수 있다. 파일 시스템은 root 사용자에 의해 `/etc/fstab` 파일에서 사용자 마운트 가능으로 정의될 수 있다.

현재 마운트된 모든 파일 시스템 목록을 확인하려면 다음 명령어를 사용한다.



$ mount



실행 결과 예시는 다음과 같다.



proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

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

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

/tmp on /var/tmp type none (rw,noexec,nosuid,bind)

10.4.0.4:/srv/export/setup_server on /nfs/setup_server type nfs (ro,addr=10.4.0.4)



하드 디스크 드라이브(HDD)의 특정 파티션(예: 두 번째 파티션 `/dev/hda2`)을 특정 디렉토리(마운트 지점, 예: `/media/PHOTOS`)에 연결(마운트)하려면 다음 형식을 사용한다.



$ mount /dev/hda2 /media/PHOTOS



마운트된 파일 시스템을 해제(언마운트)하려면 장치 이름이나 마운트 지점을 사용하여 `umount` 명령어를 실행한다.

  • 장치 이름 사용:



$ umount /dev/hda2


  • 마운트 지점 사용:



$ umount /media/PHOTOS



이미 마운트된 파일 시스템의 옵션을 변경하여 다시 마운트(remount)할 수도 있다. 예를 들어, 특정 파티션을 읽기/쓰기(rw) 모드로 다시 마운트하려면 다음 명령어를 사용한다.



$ mount -o remount,rw /dev/hda2


2. 2. 마운트 옵션

`mount` 명령어를 사용할 때 다양한 옵션을 지정하여 파일 시스템의 동작 방식을 제어할 수 있다. 이 옵션들은 파일 시스템을 특정 마운트 지점에 연결할 때 함께 설정된다.

가장 기본적인 옵션은 파일 시스템의 접근 권한을 설정하는 것이다.

  • '''`rw`''': 읽기(read)와 쓰기(write)를 모두 허용한다. 많은 파일 시스템에서 기본값으로 사용된다.
  • '''`ro`''': 읽기 전용(read-only)으로 마운트한다. 이 옵션을 사용하면 해당 파일 시스템의 내용을 변경할 수 없다.


`mount` 명령어를 옵션 없이 실행하면 현재 시스템에 마운트된 모든 파일 시스템의 목록과 각각에 적용된 옵션들을 확인할 수 있다. 예를 들어, 다음과 같은 출력 결과를 볼 수 있다.



$ mount

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

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

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

/tmp on /var/tmp type none (rw,noexec,nosuid,bind)

10.4.0.4:/srv/export/setup_server on /nfs/setup_server type nfs (ro,addr=10.4.0.4)



위 예시에서 각 줄의 괄호 안에 있는 내용이 마운트 옵션이다. `(rw)`는 읽기/쓰기 가능, `(ro)`는 읽기 전용을 나타낸다.

이 외에도 다양한 옵션들이 사용될 수 있다.

  • '''`noexec`''': 해당 파일 시스템 내에서 프로그램이나 스크립트의 실행을 금지한다. 보안이 중요한 디렉토리(예: `/tmp`)에 주로 사용된다.
  • '''`nosuid`''': SetUID나 SetGID 비트의 특별한 권한 상승 기능을 무시한다. 이 역시 보안을 강화하기 위한 목적으로 사용된다.
  • '''`gid=<그룹 ID>`''', '''`mode=<권한 모드>`''': 파일 시스템 접근 시 특정 그룹 ID나 파일 권한 모드를 강제로 적용할 때 사용된다. 위 예시의 `devpts` 파일 시스템에서 `gid=5`, `mode=620` 옵션이 사용된 것을 볼 수 있다.
  • '''`bind`''': 이미 마운트된 디렉토리를 다른 위치에 다시 마운트한다. 예를 들어 `/tmp` 디렉토리를 `/var/tmp` 위치에서도 접근 가능하게 만든다.
  • 파일 시스템 유형(`type`)에 따라 고유한 옵션이 존재할 수 있다. 위 예시의 NFS 마운트에서는 서버 주소를 지정하는 `addr=10.4.0.4` 옵션이 사용되었다.


이미 마운트된 파일 시스템의 옵션을 변경해야 할 경우, `remount` 옵션을 사용한다. 예를 들어, 특정 장치(`/dev/hda2`라고 가정)가 읽기 전용(`ro`)으로 마운트되어 있을 때, 이를 읽기/쓰기(`rw`) 가능하도록 변경하려면 다음 명령어를 사용한다.



$ mount -o remount,rw /dev/hda2



시스템이 부팅될 때 특정 파일 시스템을 자동으로 마운트하거나 기본 마운트 옵션을 미리 지정하고 싶을 때는 `/etc/fstab` 파일을 수정한다. 이 설정 파일을 통해 root 사용자는 일반 사용자에게 특정 파일 시스템에 대한 마운트 권한을 부여할 수도 있다.

2. 3. 마운트 해제

`mount` 명령어와 반대로, `umount` 명령어는 파일 시스템을 마운트 지점으로부터 분리하여 더 이상 접근할 수 없도록 하고, 해당 저장 장치를 컴퓨터에서 안전하게 제거할 수 있도록 운영 체제에 지시한다. 장치에 기록 중이던 파일 변경 사항이 아직 완전히 저장되지 않았을 수 있는데, `umount` 명령을 실행하면 이 변경 사항들을 마무리하고 파일 시스템을 정리한다. 따라서 저장 장치를 물리적으로 분리하기 전에 반드시 `umount` 명령을 실행하는 것이 중요하다.
`umount` 명령은 다음과 같이 사용할 수 있다.

물리 디스크 파티션 이름을 직접 지정하여 마운트 해제:

`$ umount /dev/hda2`

마운트된 디렉터리(마운트 지점)를 지정하여 마운트 해제:

`$ umount /media/PHOTOS`

일반적으로 `mount` 및 `umount` 명령을 실행하려면 시스템 설정을 변경해야 하므로 root 사용자 권한이 필요하다. 다만, root 사용자가 미리 `/etc/fstab` 파일 설정을 통해 특정 파일 시스템에 대해 일반 사용자도 마운트 해제할 수 있도록 허용했을 수도 있다.

2. 4. 고급 사용법

특정 옵션을 사용하여 이미 마운트된 파티션을 다시 마운트할 수 있다. 예를 들어, 읽기 전용으로 마운트된 파티션을 읽기/쓰기 가능하게 변경하려면 다음과 같이 실행한다.



$ mount -o remount,rw /dev/hda2



또한, 파일 시스템 계층의 일부나 특정 파일을 다른 위치에 연결하는 바인드 마운트[3]디스크 이미지와 같은 파일을 파일 시스템처럼 접근하게 해주는 루프 장치 마운트와 같은 고급 기능도 사용할 수 있다. 이에 대한 자세한 내용은 하위 섹션에서 설명한다.

2. 4. 1. Bind 마운트

바인드 마운트는 파일 시스템 계층 또는 파일을 다른 마운트 지점에 마운트할 수 있도록 한다. 심볼릭 링크와 달리, 바인드 마운트는 파일 시스템 자체에 존재하지 않는다.[3] 다음 예시에서, 경로 /olddir/newdir에 마운트된다.



$ mount --bind /olddir /newdir


2. 4. 2. 루프 장치 마운트

루프 장치는 파일, 일반적으로 디스크 이미지에 해당하는 장치이다. 루프 장치를 마운트하면 해당 파일을 파일 시스템으로 접근할 수 있다. 이를 통해 가상 드라이브로 사용할 수 있다.

예를 들어, 가상 디스크 이미지를 일반적인 파일 시스템으로 마운트할 수 있다.

$ mount -o loop my_virtual_disk.img /mnt

3. 관련 도구

표준 `mount` 명령어의 기능을 보완하거나 특정 환경에서의 사용 편의성을 높이기 위한 여러 관련 도구들이 존재한다. 대표적으로 일반 사용자의 이동식 장치 마운트를 돕는 `pmount`와 GNOME 환경에서 저장 장치 관리를 통합하는 `gnome-mount` 등이 있다. 이러한 도구들은 특정 사용자나 환경에서 마운트 작업을 더 쉽게 수행할 수 있도록 지원한다. 각 도구에 대한 자세한 설명은 아래 하위 섹션에서 확인할 수 있다.

3. 1. pmount

`pmount`는 표준 mount 프로그램의 래퍼로, 일반 사용자가 `/etc/fstab` 항목 없이 이동식 장치를 마운트할 수 있도록 지원한다. 이는 GNOME의 유토피아 프로젝트와 같은 자동 마운트 프레임워크에 기반을 제공하며, root 권한 사용을 최소화하는 데 도움을 준다.

이 패키지에는 pmount-hal이라는 래퍼도 포함되어 있다. pmount-halHAL로부터 장치 레이블이나 마운트 옵션과 같은 정보를 읽어와 `pmount`에 전달하는 역할을 한다.

과거 GNOME 환경에서는 저장 장치를 관리하기 위해 `pmount`를 사용했으나, 이후 `gnome-mount`로 대체되었다. `gnome-mount`는 저장 장치를 마운트, 마운트 해제, 꺼내기 위한 프로그램 모음으로, HAL을 활용하고 GConf를 통해 설정을 중앙에서 관리하는 방식으로 작동한다.[4] `gnome-mount`는 최종 사용자가 직접 사용하기보다는 GNOME 소프트웨어 내부에서 사용되도록 설계되었다.

3. 2. gnome-mount

'gnome-mount' 패키지는 저장 장치를 마운트, 마운트 해제, 꺼내기 위한 프로그램들을 포함한다. 'gnome-mount'의 목표는 'gnome-volume-manager'나 GNOME-VFS와 같은 GNOME 소프트웨어가 기존의 'mount', 'umount', 'eject', 'pmount' 명령 또는 직접적인 HAL 호출 방식 대신 'gnome-mount'를 사용하도록 하는 것이다. 과거 GNOME은 'pmount'를 사용한 바 있다. 다만, 'gnome-mount'는 일반 사용자가 직접 사용하도록 설계된 것은 아니다.

모든 'gnome-mount' 프로그램은 HAL 방식을 활용하므로 별도의 권한 없이 실행될 수 있다. 'gnome-mount'는 마운트 옵션이나 마운트 위치와 같은 설정을 GConf라는 중앙 집중식 위치에서 관리하고 유지하는 장점을 가진다.[4]

4. 기타

'''pmount'''는 표준 '''mount''' 프로그램의 래퍼로, 일반 사용자가 /etc/fstab 파일에 별도의 설정 없이 이동식 장치를 마운트할 수 있게 해준다. 이는 GNOME의 유토피아 프로젝트와 같은 자동 마운트 프레임워크의 기반을 제공하며, root 권한 사용을 최소화하는 데 도움을 준다. 이 패키지에는 '''pmount-hal'''이라는 래퍼도 포함되어 있는데, 이는 HAL로부터 장치 레이블이나 마운트 옵션 같은 정보를 읽어와 '''pmount'''에 전달하는 역할을 한다.

'''gnome-mount''' 패키지는 저장 장치를 마운트, 마운트 해제, 꺼내기 위한 프로그램을 포함한다. '''gnome-mount'''의 목표는 gnome-volume-manager나 GNOME-VFS와 같은 GNOME 소프트웨어가 기존의 mount, umount, eject, pmount 명령어나 직접적인 HAL 호출 방식 대신 이를 사용하도록 하는 것이다. GNOME 환경은 과거에 pmount를 사용했었다. 다만, '''gnome-mount'''는 일반 사용자가 직접 사용하도록 설계된 도구는 아니다. 모든 '''gnome-mount''' 프로그램은 HAL 방식을 활용하여 권한 없이 실행되며, 마운트 옵션이나 위치 같은 설정을 중앙 집중식 위치(GConf)에서 관리하는 것을 목표로 한다.[4]

모든 유닉스 계열 명령어가 그렇듯이, '''mount''' 명령어의 옵션은 버전에 따라 다르다. 정확한 옵션과 사용법은 해당 시스템의 man 페이지에 자세히 설명되어 있다.

시스템 호출로서의 '''mount''' 외에도, '''mount_root()'''라는 함수가 존재한다. 이 함수는 시스템 부팅 시 가장 처음 마운트되는 루트 파일 시스템을 마운트하는 역할을 한다. 이러한 맥락에서 '''mount'''는 시스템 호출 '''setup'''에 의해 호출된다.

참조

[1] 웹사이트 mount(8) - Linux manual page https://man7.org/lin[...] 2021-06-21
[2] 웹사이트 EFI Shells and Scripting http://software.inte[...] Intel 2013-09-25
[3] 웹사이트 What is the difference between ln -s and mount --bind? https://newbedev.com[...] 2022-05-04
[4] 웹사이트 gnome-mount-0.6 http://www.linuxfrom[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com