Translate

2024/05/28

mount

mount

리눅스 시스템에서 하드웨어 장치를 시스템 디렉토리(root system)에 연결하는 명령어이다. mount 명령어를 사용하여 일시적으로 연결할 수도 있고, 부팅 시 자동으로 연결하여 사용할 수도 있다. 시스템 관리자가 아니라면 몰라도 된다.



1. mount

[root]# mount  /dev/sdb4  /usb1
[root]# mount -r -t iso9660 /dev/cdrom /cdrom

로 특정 장치를 연결할 수 있다.

### 마운트로 연결된 모든 장치 확인
[root]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=65776932k,nr_inodes=16444233,mode=755,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
...
### /etc/fstab에 등록된 모든 장치 연결
[root]# mount -a


2. umount

[root]# umount /dev/cdrom 
#또는
[root]# umount /cdrom


3. /etc/fstab

부팅 시 자동으로 하드웨어 장치를 연결할 수 있도록 하는 설정파일이다.


구조

/etc/fstab
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=ce9c8bf0-8d5f-41f0-b19a-12b5e487d4fe 	/               ext4    errors=remount-ro   0     1
UUID=f263130d-8b01-42d8-af09-5c352f23251a 	none            swap    sw                  0     0
/dev/sdd1 					/mnt/msata      ext4    defaults            0     2

다른 항목은 어떤 뜻인지 바로 알 수 있지만 마지막 두 항목은 설명이 필요하다. 파일시스템은 UUID 또는 장치명을 적으면 등록이 가능하다.

  • dump
    dump 옵션은 현재는 거의 사용하지 않는 옵션으로, “dump” 명령어를 사용하여 백업 여부를 결정하는 옵션이다.
    0으로 설정한다.
  • pass
    pass 옵션은 부팅시 fsck를 사용하여 파일 시스템을 검사할 지 결정하는 옵션으로
    Root 파일시스템은 "1"로, 나머지 장치는 “2”, 중요하지 않은 장치는 3으로 설정하여 검사 우선 순위를 정한다.
    swap 파티션이나 cdrom과 같이 파일 시스템 검사가 필요치 않은 장치는 0으로 설정한다.

참고

https://dev.meye.net/entry/fstab
https://superuser.com/questions/247523/fstab-when-do-you-use-the-dump-and-fsck-options



4. UUID 확인

uuid를 사용하여 fstab에 등록을 하면 부팅시 파티션 드라이브 알파벳이 바뀐 상태에서도 동일한 장치를 마운트할 수 있다.

$ ls -al /dev/disk/by-uuid
lrwxrwxrwx 1 root root  10 Feb 20 22:24 938f33ce-f5f3-4edf-b770-dbe5f084016d -> ../../sdb1
lrwxrwxrwx 1 root root  10 Feb 20 22:24 9611827a-eff9-4cc4-9ff4-dce51af15485 -> ../../sdc1

또는

$ blkid
/dev/mapper/VG00-root: UUID="6e2b4c32-20a3-47dd-84ea-6320b2dfd764" TYPE="xfs"
/dev/mapper/VG00-swap: UUID="1f5e1133-e1ab-4226-a9dc-e98c07127880" TYPE="swap"

명령으로 UUID를 확인한 다음, /etc/fstab에 등록한다.


참고

리눅스_디스크_UUID_확인



5. 모든 사용자가 마운트된 위치 사용(Use ext4 partition for all users)

fstab에 기본값을 사용하여 ext4 파티션을 마운트하면 root 권한이 설정이 되어 있기 때문에 일반 사용자는 접근을 할 수 없다. 하지만 아래와 같이 설정하면 모든 사용자가 사용이 가능하다.

$ sudo mkdir -p /media/data
$ sudo mount /dev/some/data /media/data  #<---/etc/fstab을 반영하여 마운트
$ sudo chown -R :users /media/data
$ sudo chmod -R g+rw /media/data

위와 같은 설정을 해두면 모든 사용자가 해당 파티션을 자유롭게 사용할 수 있다. 물론 사용하고자 하는 사용자는 users그룹 안에 있어야 한다.


참고

https://askubuntu.com/questions/587247/how-to-create-a-ext4-partition-for-all-users



6. 강제 마운트 해제 방법

마운트 해제 시, 특정 프로세스가 마운트된 디렉토리를 참조하고 있다면, 마운트 해제가 되지 않는다. 정상적인 동작 시에는 해당 프로세스가 종료되고 마운트를 해제하면 되지만, 비정상적인 이유로 작업을 중단한 경우에도 마운트 해제가 되지 않을 경우, 아래 명령을 사용하여 강제로 마운트 해제가 가능하다.


사용 중인 프로세스 확인

# lsof  | grep '/dev/sda1'
vi 4453       vivek    3u      BLK        8,1                 8167 /dev/sda1

현재 vivek라는 사용자가 vi라는 프로세스를 사용하고 있으며, 프로세스 번호는 4453번.

# fuser -u /nas01/

/nas01 디렉토리를 사용하고 있는 사용자 조회.


강제 마운트 해제 명령어

# fuser -km /mnt
# umount -l /mnt

또는 NFS시스템인 경우,

# umount -f /nfs

참고

https://www.cyberciti.biz/tips/how-do-i-forcefully-unmount-a-disk-partition.html

댓글 없음:

댓글 쓰기

Template by Aliya H.