OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 파일 시스템 마운트(2) - 마운트 관련 명령

주누다 2015. 4. 7. 00:28
반응형

장치를 디렉터리와 연결하려면 'mount' 명령을 사용해야함.

mount

- 기능 : 파일 시스템을 마운트함.

- 형식 : mount [옵션] [장치명] [마운트 포인트]

- 옵션:

 '-t 파일 시스템 종류' : 파일 시스템의 종류를 지정함.

 '-o 마운트 옵션' : 마운트 옵션을 지정

 '-f' : 마운트할 수 있는지 점검만 함.

 '-r' : 읽기만 가능하게 마운트(-o ro와 동일.)

- 사용 예 : mount, mount /dev/sdb1 /, mount -t iso9660 /dev/cdrom /mnt/cdrom



디렉터리와 장치의 연결을 해제하는 것을 언마운트라고 함('umount')

unmount

- 기능 : 파일 시스템을 언마운트

- 형식 : umount [옵션] [장치명 또는 마운트 포인트]

- 옵션 :

 '-t 파일 시스템 종류' : 파일 시스템의 종류를 지정

- 사용 예 : umount /dev/sdb1, umount /mnt



mount 명령만 사용하는 경우

- 현재 마운트 되어 있는 정보가 출력

================================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /home type ext4 (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=sjw-lenovo)
================================================================================


- 'mount' 명령으로 출력되는 정보는 '/etc/mtab' 파일의 내용과 동일

================================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ cat /etc/mtab
/dev/sda5 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
none /sys/fs/cgroup tmpfs rw 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
udev /dev devtmpfs rw,mode=0755 0 0
devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
tmpfs /run tmpfs rw,noexec,nosuid,size=10%,mode=0755 0 0
none /run/lock tmpfs rw,noexec,nosuid,nodev,size=5242880 0 0
none /run/shm tmpfs rw,nosuid,nodev 0 0
none /run/user tmpfs rw,noexec,nosuid,nodev,size=104857600,mode=0755 0 0
none /sys/fs/pstore pstore rw 0 0
/dev/sda6 /home ext4 rw 0 0
systemd /sys/fs/cgroup/systemd cgroup rw,noexec,nosuid,nodev,none,name=systemd 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,user=sjw-lenovo 0 0
sjw-lenovo@sjwlenovo-Lenovo-U310:~$ 

================================================================================


- '/etc/mtab' 파일 구성 항목(/dev/sda5 / ext4 rw,errors=remount-ro 0 0)

 * 장치명(/dev/sda5)

 * 마운트 포인트(/)

 * 파일 시스템 종류(ext4)

 * 마운트 옵션(rw,errors=remount-ro)

 * 사용하지 않는 옵션(0 0)

- 마지막의 사용하지 않는 항목 두 개는 '/etc/fstab' 파일과의 호환성을 위해 추가한 것



mount 명령으로 장치를 연결하는 방법

- 하드디스크를 디렉터리 계층 구조에 연결할 때 기본적으로 'mount /dev/sdb1 /mnt' 명령을 사용

- '/dev/sdb1' 은 하드디스크 장치의 이름

- '/mnt' 은 마운트 포인트

- '/mnt' 디렉터리 대신에 작업에 필요한 다른 디렉터리를 지정해도 됨.

- 하드디스크나 USB 메모리 장치의 이름( ex:'/dev/sdb1' ) 은

 시스템에 장착된 장치의 종류나 개수에 따라 달라짐.

- 'CD-ROM'의 경우 장치명 '/dev/cdrom'을 사용

장치 마운트 예

 장치

 mount 명령 형식의 예

ext2 파일 시스템

mount -t ext2 /dev/sdb1 /mnt

ext3 파일 시스템

mount -t ext3 /dev/sdb1 /mnt

ext4 파일 시스템

mount -t ext4 /dev/sdb1 /mnt

mount /dev/sdb1 /mnt

CD-ROM

mount -t iso9660 /dev/cdrom /mnt/cdrom

윈도 디스크

mount -t vfat /dev/hdc /mnt

USB 메모리

mount /dev/sdb1 /mnt  => 리눅스용 USB 메모리의 경우

mount -t vfat /dev/sdc1 /mnt  => 윈도우용 USB 메모리의 경우

읽기 전용 마운트

mount -r /dev/sdb1 /mnt

읽기/쓰기 마운트

mount -w /dev/sdb1 /mnt

원격 디스크 마운트

mount -t nfs 서버 주소 /NFS 서버 측 디렉터리 /mnt



USB 메모리 연결

1)

- 리눅스 시스템에 연결된 저장 장치 확인

- 'fdisk -l' 명령으로 확인 가능

- 'fdisk' 명령은 하드디스크의 파티션을 나눌 때 사용하는 것으로,

 일반 사용자가 'fdisk' 명령을 사용하면 아무 결과도 출력되지 않음

==========================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ fdisk -l
sjw-lenovo@sjwlenovo-Lenovo-U310:~$

==========================================================


- sudo 명령을 사용하여 root 권한으로 실행해야함.

==========================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo fdisk -l
[sudo] password for sjw-lenovo:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x659efb40

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    78125055    39061504   82  Linux swap / Solaris
/dev/sda2        78127102   976771071   449321985    5  Extended
Partition 2 does not start on physical sector boundary.
/dev/sda5        78127104   371093503   146483200   83  Linux
/dev/sda6       371095552   976771071   302837760   83  Linux

Disk /dev/sdb: 16.0 GB, 16008609792 bytes
1 heads, 42 sectors/track, 744448 cylinders, total 31266816 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31266815    15632384   83  Linux
sjw-lenovo@sjwlenovo-Lenovo-U310:~$ 

==========================================================


2)

- 'fdisk' 명령을 사용하여 파티션 작업 실행

==========================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo fdisk /dev/sdb


Command (m for help):

==========================================================

- 'fdisk' 명령의 입력을 기다리는 프롬프트는 'Command (m for help):'

- 'm' 을 사용하여 사용할 수 있는 명령 확인 가능

- 새로운 파티션을 생성하려면 'n'을 입력

- 파티션을 기본(primary) 파티션으로 할 것인지, 확장(extended) 파티션으로 할 것인지를 선택(기본 값 기본(p) 파티션)

- 'Partition 1 is already defined.  Delete it before re-adding it.' 라고 나오는 것은

 USB 메모리가 새것이 아니라 이미 파티션이 생성되어 있다는 뜻으로 다시 삭제하고 생성하면 됨.

- 'd' 를 입력하여 파티션 삭제 가능

- 'n' 을 입력하여 새로운 파티션 생성(특별한 이유가 없는 한 디폴트 값으로)

- 'w' 를 입력하여 파티션 설정 정보를 파티션 테이블에 기록

- 파티션 테이블에 기록되면 이전에 있떤 정보는 없어짐.

- 생성한 파티션을 포맷하여 파일 시스템을 생성해야 함.

- 파일 시스템을 생성하는데는 mke2fs(리눅스 파일 시스템 : ext2, ext3, ext4) 명령을 사용

 * http://sharkmino.tistory.com/1534 <== 파일 시- 스템 포맷관련 참조


-'is mounted; will not make a filesystem here!' 이런 형식으로 나오는 것은 마운트되어 있는 상태에서

 파일 시스템을 생성할려고 했기 때문(마운트되어 있는 상태에서 파일 시스템을 생성할 수 없음)

 * 참고 사이트 : http://no1linux.org/liveDVD/21640


- 포맷

===========================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
977280 inodes, 3908096 blocks
195404 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4005560320
120 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:

===========================================================


3)

- USB 메모리에 파일 시스템을 생성했으므로 디렉터리에 연결하는 작업, 즉 마운트만 하면 됨.

- 마운트

===============================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo mount /dev/sdb1 /mnt
sjw-lenovo@sjwlenovo-Lenovo-U310:~$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /home type ext4 (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=sjw-lenovo)
/dev/sdb1 on /mnt type ext4 (rw)
sjw-lenovo@sjwlenovo-Lenovo-U310:~$ 

===============================================================================


4)

- USB 메뫼를 마운트한 디렉터리로 이동하여 디렉터리의 내용을 확인해보면 'lost+found' 디렉터리만 있을 뿐

- 복사나 파일 생성해서 확인.



장치 연결 해제

-  'umount' 명령을 사용하여 연결 해제 절차를 거치면 됨.

===============================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:/mnt$ sudo umount /mnt
umount: /mnt: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
sjw-lenovo@sjwlenovo-Lenovo-U310:/mnt$ 


- '/mnt' 디렉터리에 있으면서 /mnt 디렉터리의 마운트를 해제할려고 해서 나오는 에러

===============================================================





반응형