[Study48]Linux 장치 인식과 디스크 관리 6
마운트확인
사용자는 종종 마운트되어 있는 파일 시스템을 확인하고자 할 때가 있습니다. 이를 확인하기 위해서는 다음의 명령어를 입력하십시오.
# df-h
그러나 이 명령어는 시스템의 모든 마운트된 파일 시스템을 보여주지 않을 수도 있습니다. 따라서 보다 자세히 확인하고자 한다면 다음의 명령어를 사용하십시오.
# mount
또한, 가독성을 높이기 위해 다음의 명령어를 사용하면 정보를 보다 쉽게 확인할 수 있습니다.
# mount | column –t
이 명령어는 마운트된 파일 시스템을 표 형태로 보여주어 가독성을 높여줍니다. 이제 사용자는 마운트된 파일 시스템에 대한 정보를 보다 쉽게 확인할 수 있습니다.
먼저 /etc/mntab 파일입니다. 이 파일은 현재 마운트된 파일 시스템에 대한 정보를 담고 있습니다. 새 파일 시스템이 마운트될 때마다 해당 파일 시스템에 대한 정보가 이 파일에 기록됩니다. 이 파일은 또한 현재 마운트된 파일 시스템에 대한 정보를 다른 응용 프로그램들과 공유하기 위해 사용됩니다.
다음으로 /proc/mounts 파일입니다. 이 파일은 /etc/mntab 파일과 유사하지만 정적인 파일이 아니라 커널에 의해 자동으로 생성되는 가상 파일입니다. 이 파일은 현재 마운트된 파일 시스템에 대한 정보를 담고 있습니다. 하지만 /proc/mounts 파일은 일반적으로 /etc/mntab보다 더 정확하고 최신 정보를 제공하며, 많은 응용 프로그램에서 마운트된 파일 시스템에 대한 정보를 얻는 데 사용됩니다.
마지막으로 /etc/fstab 파일입니다. 이 파일은 "파일 시스템 테이블"을 의미하며, 시스템이 부팅될 때 자동으로 마운트해야 하는 파일 시스템을 정의하는 데 사용됩니다. 이 파일은 다양한 파일 시스템에 대한 정보를 포함하며, 디바이스 이름, 마운트 포인트 및 마운트 옵션과 같은 정보를 제공합니다. 이 정보는 시스템이 부팅 프로세스 중에 파일 시스템을 자동으로 마운트하는 데 사용됩니다.
요약하면, 원래 문서에서는 마운트 프로세스와 관련된 여러 중요한 파일들을 나열했지만, 각 파일의 중요성 및 Linux 파일 시스템에서의 사용 방법을 이해하는 데 도움이 되는 더 자세한 설명이 필요합니다.
마운트 확인
장치(Device)를 사용하기 위해서는 반드시 마운트 과정을 거쳐야 사용이 가능하다. 그리고 이와 관련하여 다음과 같은 내용을 추가해보았습니다.
마운트(Mount)란, 운영체제가 파일 시스템의 디렉토리 구조 안에 파일이나 디바이스를 연결하는 것을 의미합니다. 이것을 통해 파일 시스템 내의 파일들에 접근할 수 있습니다. 이는 매우 중요한 과정으로, 마운트를 하지 않은 상태에서는 파일에 접근할 수 없습니다.
또한, 언마운트(Umount)란, 마운트를 했던 자원을 해제하는 것을 의미합니다. 언마운트는 해당 자원이 다른 곳에서 사용되지 않을 때에 수행되어야 합니다. 이를 통해 시스템의 안정성과 성능을 유지할 수 있습니다.
만약 부팅시에 자동으로 마운트를 해야하는 자원(예: 장치)이 있다면, /etc/fstab 파일을 사용하여 정의할 수 있습니다. 이를 통해 시스템이 부팅될 때 자동으로 필요한 자원들이 마운트됩니다.
따라서, 현재 자원(Resource)를 마운트 하기 위해서는 mount 명령어를 수행하고, 부팅시에 마운트 할 자원이 있다면 /etc/fstab 파일에 정의하여 사용하면 됩니다. mount 명령어에 의해서 수행되는 자원 마운트는 현재 쓰이기는 하지만 mount 명령어를 통해서만 마운트가 된 경우, 부팅시에는 마운트가 되지 않기 때문에 /etc/fstab 파일에도 반드시 정의하여야 합니다.
현재 마운트 할 때 사용하는 명령어는 mount CMD입니다. 마운트란 리눅스 시스템에서 파일 시스템을 추가하거나 제거하는 것을 의미합니다. 마운트 명령어를 사용하면 파일 시스템을 마운트하고 해당 파일 시스템의 디렉토리 구조를 시스템에 제공할 수 있습니다. 또한, 마운트 명령어를 사용하여 다른 장치의 파일 시스템을 마운트하면 해당 장치의 파일을 시스템에서 읽고 쓸 수 있습니다. 마운트 명령어는 리눅스 시스템에서 자주 사용되는 명령어 중 하나입니다.
부팅시 자동 마운트 되는 파일은 /etc/fstab 입니다. 이 파일은 부팅시에 자동으로 마운트하기 위한 정보를 담고 있습니다.
현재 마운트된 정보를 확인하려면, 주로 df 명령어에 -k 옵션을 사용하거나, mount 명령어를 아무런 옵션 없이 사용합니다. df 명령어는 주로 마운트된 상황을 보기 위해서나 파일 시스템의 사용량을 점검할 때 주로 사용하고, mount 명령어에 특별한 옵션이 없는 경우에는 주로 마운트 옵션 정보를 확인하거나, 마운트된 시간을 확인할 때 사용합니다.
'mount' 명령어 뒤에 '-t' 옵션을 사용하여 파일 시스템 유형을 확인할 수도 있습니다. 이는 마운트된 파일 시스템 유형을 확인할 때 유용합니다. 또한, 'mount' 명령어 뒤에 '-t'와 '-o' 옵션을 사용하여 네트워크 파일 시스템을 마운트할 수도 있습니다. 이를 통해 원격 파일 시스템을 로컬 파일 시스템처럼 접근할 수 있습니다.
추가로, 파일 시스템을 마운트하는 방법은 다양합니다. 예를 들어, fstab 파일을 수정하거나, mount 명령어를 사용하여 수동으로 마운트할 수 있습니다. fstab 파일을 수정하는 방법은 다음과 같습니다. 먼저, root 권한으로 텍스트 편집기를 열고 fstab 파일을 엽니다. 그런 다음, 파일 시스템의 정보를 입력하고 마운트할 디렉토리를 지정하면 됩니다.
이외에도, 파일 시스템을 마운트하는 방법은 다양하며, 각각의 방법은 목적에 따라 적합한 방법이 다를 수 있습니다. 파일 시스템을 관리하고 마운트하는 방법을 이해하면, 시스템 관리에 매우 유용합니다.
[명령어 형식]
# df -k /* 파일 시스템의 마운트 상황 정보를 확인합니다. 이를 통해 디스크 사용량을 점검할 수 있습니다. */
# mount /* 현재 시스템의 마운트 상황을 확인할 수 있습니다. 이 명령어를 이용해 마운트 옵션 정보와 함께 마운트 시간도 확인할 수 있습니다. */
명령 줄 인터페이스를 사용할 때는 여러 가지 명령어를 알고 있어야 합니다. 시스템 정보를 확인하는 데 가장 유용한 두 가지 명령어인 df -k와 mount를 알아보겠습니다. df -k를 실행하면 파일 시스템의 마운트 상황 정보를 볼 수 있으며 디스크 사용량을 점검할 수 있습니다. mount 명령은 현재 시스템의 마운트 상황을 확인할 수 있으며, 마운트 옵션 정보와 함께 마운트 시간도 확인할 수 있습니다. 이 두 가지 명령어는 시스템이 올바르게 작동하고 효율적으로 작동하는지 확인하는 데 필수적입니다.
df 명령어 출력 결과 해석
# df -k (# df -h)
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 16798832 3477500 12454228 22% /
/dev/sda8 497829 10544 461583 3% /data1
/dev/sda7 497829 10544 461583 3% /data2
/dev/sda6 497829 10544 461583 3% /data3
/dev/sda5 497829 10544 461583 3% /data4
/dev/sda3 497861 10633 461524 3% /home
tmpfs 517520 0 517520 0% /dev/shm
(df -h 출력 화면 해석)
-------------------------------------------------------------------
/dev/sda1 장치 이름(Filesystem)
18G 전체 공간(Size)
5.3G 사용중인 공간(Used)
12G 남은 공간(Avail)
32% 전체공간에서 사용중인 공간의 백분율(Use%)
/ 마운트 포인트(Mounted on)
-------------------------------------------------------------------
# mount
/dev/sda1 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda8 on /data1 type ext4 (rw)
/dev/sda7 on /data2 type ext4 (rw)
/dev/sda6 on /data3 type ext4 (rw)
/dev/sda5 on /data4 type ext4 (rw)
/dev/sda3 on /home type ext4 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
(mount 명령어 출력결과 해석)
----------------------------------------------
/dev/sda1장치 이름
/마운트 포인터
ext4마운트 파일시스템
(rw)마운트 옵션
----------------------------------------------
df 명령어 출력 결과 해석
df 명령어는 시스템의 디스크 공간 사용량을 보여주는 명령어입니다.
먼저, df -h 명령어를 사용하여 디스크 공간 사용량을 보여줍니다. 출력 결과를 이해하기 위해서는 각 항목의 의미를 파악해야 합니다.
Filesystem: 파일 시스템의 장치 이름입니다. Size: 파일 시스템의 전체 공간입니다. Used: 파일 시스템에서 사용 중인 공간입니다. Avail: 파일 시스템에서 사용 가능한 공간입니다. Use%: 파일 시스템에서 사용 중인 공간의 백분율입니다. Mounted on: 파일 시스템이 마운트된 디렉토리입니다.
다음으로, df -k 명령어를 사용하여 파일 시스템의 디스크 공간 사용량을 블록 단위로 보여줍니다. 출력 결과는 df -h 명령어와 유사합니다.
mount 명령어 출력 결과 해석
mount 명령어는 현재 마운트된 파일 시스템을 보여줍니다.
출력 결과는 다음과 같이 이루어져 있습니다.
장치 이름: 마운트된 파일 시스템의 장치 이름입니다. 마운트 포인트: 파일 시스템이 마운트된 디렉토리입니다. 마운트 파일 시스템: 마운트된 파일 시스템의 유형입니다. 마운트 옵션: 마운트된 파일 시스템의 옵션입니다.
즉, 위의 출력 결과에서 /dev/sda1 on / type ext4 (rw)는 /dev/sda1이라는 장치 이름으로 ext4 파일 시스템이 마운트되어 있으며, / 라는 디렉토리에 마운트되어 있으며, rw 옵션을 사용하여 읽기/쓰기가 가능하다는 것을 의미합니다.
따라서, df 명령어와 mount 명령어를 함께 사용하면 시스템의 디스크 공간 사용량과 마운트된 파일 시스템의 상태를 확인할 수 있습니다.
디렉토리 단위의 사용량 점검을 위해 du (disk usage) 명령어를 사용할 수 있습니다. 이 명령어는 디스크와 파일의 사용량을 보여주며, -s, -a, -k, -h 옵션 등을 사용하면 출력 결과는 디렉토리와 파일의 크기, 사용된 공간, 남은 공간, 전체에서 사용중인 사용량을 출력합니다.
예를 들어, 용량이 부족한 디스크를 관리하거나 불필요한 파일을 삭제하려면 du 명령어를 사용할 수 있습니다. 이 명령어는 특정 폴더나 디렉토리의 용량을 확인할 수 있으며, 디렉토리 별로 사용량을 비교하여 용량이 큰 파일이나 폴더를 찾을 수 있습니다. 이를 통해 불필요한 파일을 삭제하거나, 용량이 부족한 디스크를 더욱 효율적으로 관리할 수 있습니다.
또한, du 명령어를 사용하면 디렉토리 별로 사용량을 비교하여 용량이 큰 파일이나 폴더를 식별할 수 있습니다. 이를 통해 용량이 큰 파일이나 폴더를 삭제하거나 다른 디렉토리로 이동하여 용량을 더욱 효율적으로 사용할 수 있습니다. 더 나아가, 이를 통해 시스템의 용량과 성능을 최적화할 수 있습니다.
따라서, du 명령어를 사용하여 디렉토리와 파일의 사용량을 확인하고 불필요한 파일을 삭제하거나 용량이 부족한 디스크를 더욱 효율적으로 관리하여 시스템의 성능을 최적화할 수 있습니다.
mount 명령어 출력 형식 보기 좋게 출력하기
# mount | column -t (# CMD | column -t)
마운트 명령어는 리눅스 시스템에서 파일시스템을 마운트하는 데 사용됩니다. 위의 명령어는 마운트 명령어를 출력하는 것이며, column 명령어를 이용하여 출력 결과를 가독성 좋게 만들 수 있습니다. 이를 통해 파일시스템의 정보를 더 쉽게 파악할 수 있습니다. 더불어, 이 명령어를 이용하여 시스템 관리자는 어떤 파일시스템이 마운트 되었는지, 어떤 디렉토리에 마운트 되었는지 등을 파악할 수 있습니다.
마운트에 관련한 파일들
리눅스 시스템에서는 /etc/mtab 파일을 통해 현재 마운트되어 있는 정보를 확인할 수 있습니다. 이 파일은 자원이 마운트될 때 mntfs에 의해 자동으로 정보가 등록되며, 언마운트가 되면 자동으로 정보가 삭제됩니다. 그러므로 관리자가 /etc/mtab 파일을 직접 관리할 필요는 없습니다.
반면, /etc/fstab 파일은 부팅 시 마운트할 자원(Resource, 예: 장치)에 대한 정보를 담고 있습니다. 이 파일은 관리자가 직접 편집을 통해 관리해야 합니다. 새롭게 마운트할 자원이 있다면 /etc/fstab 파일에 정보를 등록하여 사용할 수 있습니다.
따라서, 리눅스 시스템에서 마운트를 관리하고자 한다면 /etc/mtab 파일과 /etc/fstab 파일을 잘 이해하고, 관리할 필요가 있습니다. 이 두 파일을 적절히 활용하면 리눅스 시스템에서 자원을 효율적으로 관리할 수 있습니다.
리눅스에서 /proc/mounts 는 proc 가상 파일 시스템의 일부입니다. 이 가상 파일 시스템은 시스템의 상태를 파일 형식으로 보여주며, 이 파일은 리눅스 커널에서 관리됩니다. 이 파일을 통해 시스템의 상태를 확인할 수 있습니다.
또한, /etc/mtab 파일은 현재 마운트된 정보를 담고 있습니다. 이 파일은 /proc/mounts 와 비슷하지만, 사용자가 읽고 쓸 수 있는 파일입니다. 이 파일은 시스템이 실행 중일 때마다 업데이트되며, 시스템이 종료되면 자동으로 비워집니다.
마지막으로, /etc/fstab 파일은 부팅시에 마운트 할 정보를 담고 있습니다. 이 파일은 시스템이 부팅될 때 사용되며, 파일 시스템을 자동으로 마운트하는 데 사용됩니다. 이 파일은 시스템이 부팅될 때 읽혀지며, 파일 시스템을 마운트하는 데 필요한 정보를 제공합니다. 이 파일에는 마운트할 파일 시스템의 경로, 마운트할 디렉토리의 경로, 마운트할 파일 시스템의 유형 등이 포함됩니다.
/etc/mtab 파일
현재 마운트 상태에 대한 정보를 가지고 있는 파일입니다. mount 명령을 내릴 때 어떤 옵션도 주지 않으면 이 목록이 표시됩니다. 이 파일은 mount와 umount 명령어가 실행될 때마다 업데이트되며, 현재 마운트 되어 있는 파일 시스템의 목록을 기록합니다. 또한, /proc 디렉토리에 proc 파일 시스템이 마운트 될 때, /etc/mtab과 /proc/mounts는 비슷한 내용을 가지게 됩니다. 그러나, 전자는 마운트 옵션 등 더욱 자세한 정보를 지니고 있습니다. 이 파일은 언제나 최신 정보를 지니고 있는 것은 아니지만, 가능한 한 자세한 정보를 담고 있습니다.
/etc/mtab 파일의 해석
# cat /etc/mtab | grep /dev/sda1
/dev/sda1 / ext4 rw 0 0
필 드 설 명
/dev/sda1 [파일시스템 장치명]
/ [마운트 포인트]
ext4 [파일 시스템 종류]
rw [옵션]
0 [dump 관련 설정]
0 [파일 점검 옵션]
/etc/mtab 파일은 현재 시스템에 마운트된 모든 파일 시스템을 나열하는 Linux 시스템 파일입니다. 위의 예제에서는 cat 명령어와 grep 명령어를 사용하여 /dev/sda1 파일 시스템에 대한 항목만 표시하고 있습니다. 이 파일 시스템은 루트 디렉토리 /에 마운트되어 있으며 ext4 파일 시스템 유형을 사용합니다. rw 옵션은 파일 시스템이 읽기 및 쓰기 액세스로 마운트되어 있음을 나타냅니다.
Linux에서 파일 시스템 문제를 효과적으로 관리하고 문제를 해결하기 위해서는 /etc/mtab 파일의 내용을 이해하는 것이 중요합니다. 현재 마운트된 파일 시스템과 해당 옵션을 알면 관리자는 파일 액세스 및 저장소 문제를 빠르게 식별하고 해결할 수 있습니다.
mount 명령어 출력 화면 해석
# mount | grep /dev/sda1
/dev/sda1 on / type ext4 (rw)
필 드 설 명
/dev/sda1 [파일시스템 장치명]]
on / [마운트 포인트]
type ext4 [파일 시스템 종류]
(rw) [옵션]
mount 명령어를 사용할 때 옵션 없이 실행하면 현재 마운트된 자원들에 대한 정보를 얻을 수 있습니다. mount 명령어는 /etc/mtab 파일의 정보를 사용하여 특정 형식으로 출력합니다. /etc/mtab 파일은 현재 마운트된 정보를 저장하며, mntfs 가상 파일시스템으로 리눅스에서 자동으로 관리됩니다. 이 파일은 관리자가 직접 관리할 필요가 없습니다.
이 정보를 보고 파일시스템 장치명, 마운트 포인트, 파일 시스템 종류, 옵션 등을 파악할 수 있습니다. 이를 통해 시스템의 현재 상태를 확인하고, 문제가 발생할 때 원인을 파악하는 데 도움이 됩니다. 또한, 이 정보를 기반으로 시스템을 유지보수하거나, 새로운 자원을 추가할 때 유용하게 사용할 수 있습니다.
/etc/mtab 파일 실습
아래 명령어들은 /etc/mtab 파일을 사용하는 연습을 하기 위해 사용되었습니다.
# cat /etc/mtab | grep /dev/sdb1
#
# mkdir -p /testmount
# mount /dev/sdb1 /testmount
# cat /etc/mtab | grep /dev/sdb1
/dev/sdb1 /testmount ext4 rw 0 0
# umount /testmount
# cat /etc/mtab | grep /dev/sdb1
#
실습 중에 사용자는 cat 명령어를 이용하여 /etc/mtab 파일의 내용을 표시하고 grep 명령어를 이용하여 /dev/sdb1 장치를 검색했습니다. 사용자는 또한 mkdir 명령어를 사용하여 "testmount"라는 새 디렉토리를 만들고 sudo mount /dev/sdb1 /testmount 명령어를 사용하여 /dev/sdb1 장치를 마운트시켰습니다. 장치가 마운트 된 후, 사용자는 cat 및 grep 명령어를 사용하여 장치가 올바르게 마운트되었는지 확인했습니다. 마지막으로 사용자는 sudo umount /testmount 명령어를 사용하여 장치를 언마운트하고 cat 및 grep 명령을 사용하여 더 이상 마운트되어 있지 않은지 확인했습니다.
전반적으로, 이 실습 세션은 사용자가 명령줄을 사용하여 /etc/mtab 파일을 사용하고 장치를 마운트/언마운트하는 방법을 배우는 데 성공적이었습니다.
/etc/fstab 파일
/etc/fstab 파일은 부팅 시에 마운트 할 정보를 담고 있습니다. 부팅 시 커널은 /etc/fstab 파일을 읽어서 마운트 할 디바이스를 찾고, 이 디바이스들을 /etc/fstab 파일에 명시된 디렉토리에 마운트 시킵니다. 이 파일은 다음과 같은 내용을 포함합니다:
# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
[파일 시스템 장치명] [마운트 포인트] [파일시스템 종류] [옵션] [dump관련설정] [파일점검옵션]
LABEL=/ / ext4 defaults 1 1
LABEL=/data1 /data1 ext4 defaults 1 2
LABEL=/data2 /data2 ext4 defaults 1 2
LABEL=/data3 /data3 ext4 defaults 1 2
LABEL=/data4 /data4 ext4 defaults 1 2
LABEL=/home /home ext4 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
옵션 | 내용 |
defaults | rw, nouser, auto, exec, suid 속성을 모두 가지는 옵션입니다. |
auto | 부팅 시 자동 마운트합니다. |
noauto | 부팅 시 자동 마운트하지 않습니다. |
exec | 실행 파일이 실행되는 것을 허용합니다. |
noexec | 실행 파일이 실행되는 것을 허용하지 않습니다. |
suid | SetUID, SetGID의 사용을 허용하는 옵션입니다. |
ro[read-only] | 읽기 전용입니다. |
rw[read-write] | 읽고 쓰기가 가능합니다. |
user | 일반 계정 사용자도 마운트할 수 있도록 합니다. |
nouser | root만 마운트할 수 있습니다. |
usrquota | 일반 사용자 quota를 적용합니다. |
grpquota | 그룹 quota를 적용합니다. |
noatime | access time에 대한 시간 정보를 파일에 기록하지 않습니다. 이 옵션은 /var 디렉토리에 보통 설정됩니다. |
dump 관련 설정 | 내용 |
0 | 덤프되지 않은 파일 시스템입니다. |
1 | 데이터 백업을 위해 dump할 수 있습니다. |
파일 점검 옵션 | 내용 |
0 | 부팅 시 fsck를 사용하지 않습니다. |
1 | 루트 파일 시스템을 의미합니다. |
2 | 루트 파일 시스템 이외의 파일 시스템을 의미합니다. |
위의 파일인 /etc/fstab 파일은 부팅 시 커널이 찾아서 마운트할 디바이스를 나타내는 정보를 담고 있습니다. 이 파일은 부팅 시 자동으로 읽히며, 커널이 찾은 디바이스를 /etc/fstab 파일에 명시된 디렉토리에 마운트합니다. 이 파일은 여러 가지의 옵션을 포함하고 있으며, 이를 제대로 설정하지 않을 경우 시스템이 정상적으로 부팅되지 않을 수 있습니다.
예를 들어, defaults 옵션은 다른 옵션이 지정되어 있지 않을 때 기본적으로 사용되는 옵션으로, relatime, nosuid, nodev, noexec, 또는 sync 등의 옵션과 같은 역할을 합니다. auto 옵션은 마운트를 자동으로 수행하며, noauto 옵션은 수동으로 마운트할 때 사용됩니다. exec 옵션은 파일이 실행될 수 있도록 허용하며, noexec 옵션은 실행을 금지합니다. suid 옵션은 SUID 비트를 유지하며, nosuid 옵션은 SUID 비트를 제거합니다.
이외에도, ro[read-only] 옵션은 읽기 전용으로 마운트하며, rw[read-write] 옵션은 읽기/쓰기 모두 가능하게 마운트합니다. user 옵션은 일반 사용자도 마운트할 수 있도록 허용하며, nouser 옵션은 관리자만 마운트할 수 있게 합니다. usrquota와 grpquota 옵션은 각각 사용자와 그룹의 디스크 사용량 제한을 설정합니다. noatime 옵션은 파일의 마지막 접근 시간을 기록하지 않아 시스템의 성능을 향상시킵니다.
따라서 /etc/fstab 파일은 시스템이 부팅될 때 중요한 역할을 하므로, 올바르게 설정하는 것이 매우 중요합니다. 파일 시스템과 디바이스들의 정보가 변경될 때마다 이 파일을 업데이트해야 하며, 불필요한 오류가 발생하지 않도록 주의해야 합니다.
/etc/fstab 파일 출력결과 해석
필드 | 설명 |
LABEL=/ | 마운트할 장치 이름 |
/ | 마운트 포인터, 파일 시스템을 마운트해서 사용할 경로를 지정합니다. 이 경로는 시스템에 필수적이며, 파일 시스템이 제대로 동작하기 위해 필요합니다. |
ext4 | 마운트할 파일 시스템의 형식을 지정합니다. 리눅스에서는 ext4를, 윈도우에서는 FAT, NTFS, CD-ROM에서는 iso9660을 사용합니다. |
defaults | 마운트할 때 사용할 옵션을 지정합니다. 이 옵션은 파일 시스템에 대한 정보를 제공하며, 시스템에 대한 다양한 설정을 제어할 수 있습니다. |
1 | dump라는 프로그램에 의해 덤프 파일시스템을 지정합니다. ext4 리눅스 파티션에서는 1, 다른 파티션에서는 0으로 할당됩니다. 이 옵션은 파일 시스템을 백업하고 복원하는 데 사용됩니다. |
1 | 부팅 과정에서 파일 시스템의 이상 여부를 확인하고 문제가 있다면 자동으로 점검합니다. 이 옵션은 시스템의 안정성을 유지하고 파일 시스템의 에러를 방지할 수 있습니다. |
0 : | 파일 시스템을 점검하지 않습니다. |
1 : | 파일 시스템을 점검합니다. |
2 이상 : | 파일 시스템을 순서대로 점검합니다. |
/etc/fstab 파일은 파일 시스템을 자동으로 마운트할 때 사용하는 파일입니다. 이 파일은 보통 운영체제 설치 시 자동으로 설정되며, 파일 시스템이 자동으로 마운트되도록 하는 역할을 합니다. 이 파일의 해석중 LABEL=/data4 의미는 파일 시스템의 이름을 라벨로 대체하고 있습니다. 이 형식은 RedHat Linux 계열에서만 존재합니다.
# cat /etc/fstab
----------------------------------------------------------------------------
LABEL=/data4 /data4 ext4 defaults 1 2
/dev/sda5 /data4 ext4 defaults 1 2
----------------------------------------------------------------------------
# e2label /dev/sda5 (# e2label /dev/sda5 /data4)
/data4
위의 코드에서 확인할 수 있듯이, /etc/fstab 파일에는 LABEL=/data4이 설정되어 있으며, 이를 통해 /dev/sda5 디바이스와 연결되어 있음을 알 수 있습니다. 이 디바이스는 /data4 디렉토리에 마운트되어 있습니다. 그러나, 이 문서는 더 자세한 설명을 제공할 필요가 있습니다.
파일 시스템은 일반적으로 컴퓨터에서 데이터를 저장하고 관리하는 데 사용됩니다. 이 파일 시스템은 다양한 용도로 사용될 수 있으며, 각각의 파일 시스템은 고유한 이름을 갖습니다. 이 이름은 라벨이라고도 하며, 파일 시스템을 식별하는 데 사용됩니다. 이러한 라벨은 일반적으로 파일 시스템을 만들 때 지정됩니다.
또한, 코드에서 볼 수 있듯이, e2label 명령어를 사용하여 /dev/sda5 디바이스를 /data4 라벨로 변경할 수 있습니다. 이렇게 하면 해당 디바이스가 다른 라벨과 구분되며, /etc/fstab 파일에서 지정된 라벨과 일치하게 되므로, 파일 시스템이 정상적으로 마운트됩니다. 이러한 라벨링 기술은 파일 시스템을 관리하는 데 매우 유용합니다. 따라서, 라벨링 기술을 잘 활용하여 파일 시스템을 보다 효율적으로 관리할 수 있습니다.
/etc/fstab 파일 실습
이번 실습에서는 리눅스 시스템에서 파일 시스템을 자동으로 마운트하는 방법을 알아보겠습니다. 파일 시스템을 마운트하려면 일반적으로 mount 명령어를 사용합니다. 그러나 이 방법은 시스템이 부팅될 때마다 수동으로 명령을 입력해야 하므로 번거롭습니다. 이를 해결하기 위해 /etc/fstab 파일을 사용할 수 있습니다. 이 파일은 부팅 시 필요한 파일 시스템을 자동으로 마운트하기 위해 사용됩니다. 해당 파일을 수정하면 운영체제가 부팅될 때 자동으로 마운트될 파일 시스템을 지정할 수 있습니다.
먼저 현재 /testmount 마운트가 되어 있지 않을 것을 확인합니다. 이를 위해 다음 명령어를 실행합니다.
# df -h
# umount /testmount
위 명령어를 입력하여 /testmount 마운트를 제거합니다.
다음으로 /etc/fstab 파일을 수정합니다. 해당 파일은 파일 시스템 정보를 저장하고 부팅 시 자동으로 마운트할 파일 시스템을 지정할 수 있습니다. 파일을 수정하기 전에 기존 fstab 파일을 백업해 두는 것이 좋습니다.
# cp /etc/fstab /etc/fstab.bak
fstab 파일을 열어 다음과 같이 수정합니다.
# vi /etc/fstab
아래는 예시입니다.
LABEL=/ / ext4 defaults 1 1
LABEL=/data1 /data1 ext4 defaults 1 2
LABEL=/data2 /data2 ext4 defaults 1 2
LABEL=/data3 /data3 ext4 defaults 1 2
LABEL=/data4 /data4 ext4 defaults 1 2
LABEL=/home /home ext4 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
/dev/sdb1 /testmount ext4 defaults 1 0
위와 같이 /dev/sdb1을 /testmount 디렉토리에 마운트할 수 있도록 설정합니다. 이제 다음 명령어를 입력하여 /testmount를 마운트합니다.
# mount -t ext4 -o defaults /dev/sdb1 /testmount
마운트가 성공적으로 이루어졌는지 확인하기 위해 다음 명령어를 입력합니다.
# df -h
이제 /dev/sdb1이 /testmount에 마운트되어 있음을 확인할 수 있습니다.
부팅을 한 후에도 /testmount가 자동으로 마운트되도록 하려면 /etc/fstab 파일에 다음과 같은 내용을 추가합니다.
/dev/sdb1 /testmount ext4 defaults 1 0
이제 부팅 시 /dev/sdb1이 자동으로 /testmount에 마운트됩니다.
이번에는 UUID를 사용하여 fstab 파일을 구성하는 방법을 살펴보겠습니다. UUID는 파일 시스템을 고유하게 식별하는 데 사용되는 표준 식별자입니다. UUID를 사용하면 파일 시스템 이름이나 장치 이름을 알 필요 없이 fstab 파일을 구성할 수 있습니다.
먼저 blkid 명령어를 사용하여 /dev/sdb1의 UUID를 확인합니다.
# blkid | grep sdb1
/dev/sdb1: UUID="f8e014cf-b3e8-4f01-a03f-f7c6a0b4b137" TYPE="xfs" PARTUUID="a58a6a09-01"
UUID를 확인한 후에는 다음과 같이 /etc/fstab 파일을 수정합니다.
# vi /etc/fstab
아래는 예시입니다.
UUID=f8e014cf-b3e8-4f01-a03f-f7c6a0b4b137 /data xfs defaults 0 0
이제 파일을 저장하고 mount 명령어를 사용하여 fstab 파일에 지정된 파일 시스템을 자동으로 마운트합니다.
# mount -a
이제 /data 디렉토리가 자동으로 마운트됩니다. 이를 확인하기 위해 다음 명령어를 입력합니다.
# df /data
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 2085888 47580 2038308 3% /data
위와 같은 방법으로 /etc/fstab 파일을 구성하여 파일 시스템을 자동으로 마운트할 수 있습니다.
/proc/mounts 파일
/proc/mounts 파일은 proc 가상 파일 시스템의 일부입니다. 이 파일은 실제로는 파일이 아니며, 실제로 존재하지 않습니다. 그러나 Linux 커널이 시스템 상태를 파일 형식으로 나타내어 보여주기 때문에 이를 파일이라는 용어로 불러서 사용합니다.
cat /proc/mounts 명령을 사용하여 시스템에 마운트된 파일 시스템 상태 정보를 볼 수 있습니다. 이 명령은 모든 파일 시스템의 상태 정보를 한눈에 볼 수 있어서 유용합니다.
/proc 디렉토리에 proc 파일 시스템이 마운트되면, /etc/mtab과 /proc/mounts는 대부분 비슷한 내용을 가지게 됩니다. 하지만 /etc/mtab은 더욱 자세한 정보를 지니고 있지만 항상 최신 정보를 가지고 있는 것은 아닙니다.
다음은 /etc/mtab과 /proc/mounts의 예시입니다.
# cat /etc/mtab
/dev/sda1 /ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/dev/sda1 /ext4 rw 0 0
# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext4 rw,data=ordered 0 0
/dev /dev tmpfs rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
devpts /dev/pts devpts rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/etc/auto.misc /misc autofs rw,fd=7,pgrp=2163,timeout=300,minproto=5,maxproto=5,indirect 0 0
-hosts /net autofs rw,fd=13,pgrp=2163,timeout=300,minproto=5,maxproto=5,indirect 0 0
/proc /var/named/chroot/proc proc rw 0 0
/dev/root /var/named/chroot/var/run/dbus ext4 rw,data=ordered 0 0
/proc/mounts 파일을 사용하면 간단하게 파일 시스템 상태 정보를 확인할 수 있으며, 이는 시스템 유지보수에 매우 유용합니다.
로컬 & 원격 파일시스템 마운트시 (Local & NFS Mount)
이제 로컬 영역 파일 시스템 마운트와 원격 영역 파일 시스템 마운트에 대해 배웠습니다. 이를 통해 다른 기기에서 파일을 공유하고 해당 파일에 접근할 수 있습니다. 마운트시 옵션을 주어서 파일시스템을 더욱 유연하게 조작할 수 있습니다.
아래는 로컬 영역 파일 시스템 마운트의 명령어입니다.
# mount -t ext4 [-o options] /dev/sdb1 /testmount
# mount /dev/sdb1 /testmount
로컬 영역에서 파일 시스템 마운트를 하면 /testmount 경로에 마운트가 됩니다.
아래는 원격 영역 파일 시스템 마운트의 명령어입니다.
# mount -t nfs [-o options] [서버ip주소]:/root/shell /testmount
# mount 192.168.10.252:/root/shell /testmount
원격 영역에서 파일 시스템 마운트를 하면 192.168.10.252 서버의 /root/shell 경로에 마운트가 됩니다.
아래는 NFS 간단한 테스트 예시입니다.
# showmount -e 192.168.10.252
/nfstest 192.168.10.0/24
# mkdir –p /mnt/server
# mount 192.168.10.252:/nfstest /mnt/server
# df –h
192.168.10.252:/nfstest nfs 18G 5.3G 12G 31% /mnt/server
# cd
# umount /mnt/server
NFS 간단한 테스트 예시에서는 192.168.10.252 서버에서 /nfstest 경로를 /mnt/server 경로로 마운트합니다. 마운트가 완료되면 df -h 명령어로 확인이 가능합니다. 마운트된 파일 시스템은 umount 명령어로 마운트 해제할 수 있습니다.