Mount (유닉스)
"오늘의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-hal은 HAL로부터 장치 레이블이나 마운트 옵션과 같은 정보를 읽어와 `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