Windows 에서 사용하던 디스크를 Linux에서 Samba를 이용해 공유하는 것과 같은 이유로 Windows에서 사용하던 NTFS 디스크를 Linux 시스템에 마운트를 해야 할 경우가 있습니다. 이 경우 'ntfs-3g' 패키지를 이용하면 마운트가 가능합니다.
NTFS-3g 설치
EPEL 활성화
# yum install epel-release
아래와 같은 결과가 나오고 설치가 완료 됩니다.
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
epel-release noarch 7-9 extras 14 kTransaction Summary
================================================================================
Install 1 PackageTotal download size: 14 k
Installed size: 24 k
Downloading packages:
Public key for epel-release-7-9.noarch.rpm is not installed
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : epel-release-7-9.noarch 1/1
Verifying : epel-release-7-9.noarch 1/1Installed:
epel-release.noarch 0:7-9Complete!
제대로 설치되었는지 확인하려면 다음과 같음 명령어를 입력합니다.
$ yum repolist | grep
아래와 같은 결과가 나오면 정상적으로 설치된 것입니다.
* epel: <mirror site address>
*epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64
NTFS-3g 설치
'ntfs-3g' 패키지를 설치하려면 다음과 같은 명령어를 입력하세요.
# yum install ntfs-3g
아래와 같은 메시지가 나오고 설치가 완료됩니다.
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
ntfs-3g x86_64 2:2016.2.22-3.el7 epel 297 kTransaction Summary
================================================================================
Install 1 PackageTotal download size: 297 k
Installed size: 695 k
Downloading packages:
Public key for ntfs-3g-2016.2.22-3.el7.x86_64.rpm is not installed
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 2:ntfs-3g-2016.2.22-3.el7.x86_64 1/1
Verifying : 2:ntfs-3g-2016.2.22-3.el7.x86_64 1/1Installed:
ntfs-3g.x86_64 2:2016.2.22-3.el7Complete!
NTFS 디스크 준비
The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Failed to mount '/dev/sdc1': Operation not permitted The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option.
Windows 빠른 시작 끄기
'제어판 > 하드웨어 및 소리 > 전원 옵션'에서 왼쪽 '전원 단추 작동 설정'을 클릭합니다.
'현재 사용할 수 없는 설정 변경'을 클릭하면 아래 '종료 설정' 메뉴가 활성화 됩니다. 그 후, '빠른 시작 켜기(권장)'의 체크를 해제합니다.
'변경 내용 저장'버튼으로 변경한 내용을 저장하고 시스템을 종료합니다. 그 다음 NTFS 디스크를 뽑아서 Linux 시스템에 연결합니다.
Mount 를 이용한 NTFS 파티션 마운트
# mkdir /mnt/data
그 다음 mount 명령을 이용해 마운트를 수행하겠습니다.
# mount -t ntfs-3g /dev/sdb2 /mnt/data -o defaults
그
다음 'ls'를 이용해 마운트 된 폴더를 확인하면 시스템 폴더인 '$RECYCLE.BIN' 폴더와 'System Volume
Information' 폴더가 보입니다. NTFS의 숨김 옵션이 적용이 되지 않아 생기는 현상인데 이를 해결하려면 마운트 시,
추가적인 옵션이 필요합니다.
drwxrwxrwx. 1 root root 0 1월 14 18:57 $RECYCLE.BIN
drwxrwxrwx. 1 root root 4096 1월 14 18:57 .
drwxr-xr-x. 3 root root 18 1월 14 18:59 ..
drwxrwxrwx. 1 root root 0 1월 14 18:57 System Volume Information
drwxrwxrwx. 1 root root 0 1월 14 18:57 testdir
-rwxrwxrwx. 1 root root 10 1월 14 18:57 testfile.txt
아래 명령어를 통해 마운트를 하면 위와 같은 일을 방지할 수 있습니다.
# mount -t ntfs-3g /dev/sdb2 /mnt/data -o defaults,hide_hid_files,windows_names
- 'hide_hid_files' 옵션은 NTFS의 숨김 옵션을 리눅스에서 숨김 폴더로 인식하게 해주는 옵션입니다.
- 'windows_names'는 파일과 폴더의 이름이 Windows 시스템에서 허용되지 않는 문자를 포함할 수 없도록 만들어줍니다.
위와 같이 마운트를 하고 폴더를 조회해 보면 시스템 폴더들이 사라져 있습니다.
drwxrwxrwx. 1 root root 0 1월 14 18:57 testdir
-rwxrwxrwx. 1 root root 10 1월 14 18:57 testfile.txt
fstab에 mount 하기
'mount' 명령을 이용하면 재부팅 하면 마운트 정보가 유실되서 다시 마운트를 해야합니다. HDD 같은 고정 드라이브에는 굉장히 불편합니다. 부팅 타임에 자동으로 마운트 하도록 만들어 줄 수 있습니다. 이는 '/etc/fstab' 파일을 수정해서 등록할 수 있습니다.
nano나 vi같은 편집기를 이용해 'etc/fstab'폴더를 열어 편집합니다.
fstab 파일 구조1
fstab 파일은 다음과 같은 구조를 갖습니다.
# 디바이스 마운트 위치 파일시스템 종류 옵션 덤프 무결성 확인 LABEL=/ / ext4 defaults 1 1 /dev/sda6 none swap defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0
- '디바이스'는 '/dev/sda'와 같은 디바이스 이름이나 UUID등을 입력할 수 있습니다.
- '마운트 위치'는 마운트가 될 위치를 지정하는데 'swap' 파티션의 경우에는 'none'를 입력합니다.
- '파일 시스템 종류'는 대상 디바이스의 파일 시스템을 적습니다. NTFS의 경우에는 'ntfs-3g'를 적으면 됩니다.
- '옵션'은 파일 시스템에서 지원하는 옵션들을 적을 수 있습니다. NTFS의 경우에는 위에서 적었던 'hide_hid_files'나 'windows_names'등이 있습니다.
- '덤프'는 시스템에서 덤프 프로그램을 이용해서 백업할지 여부를 정합니다. 0이면 시스템은 자동으로 백업을 수행하지 않습니다.
- '무결성 확인'은 부팅 타임에 fsck가 디바이스 에러 유무를 체크하는 설정입니다. 1은 루트 파일 시스템을 위한 것이고, 2는 루트 파일 시스템 다음에 무결성을 검사하는 옵션이고 3은 무결성 검사를 하지 않습니다.
NTFS 파티션 마운트
위 fstab 구조에 따라 마운트 파일을 수정하면 다음과 같이 수정할 수 있습니다.
#
# /etc/fstab
# Created by anaconda on Sat Jan 14 17:28:19 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=11ada13f-b877-407b-a7bb-4e4e67055efd /boot xfs defaults 0 0
UUID=121F-0E55 /boot/efi vfat umask=0077,shortname=winnt 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
/dev/sdb2 /mnt/data ntfs-3g defaults,hide_hid_files,windows_names 0 0
이후 파일을 저장하고 재부팅 하면 드라이브가 '/mnt/data' 폴더에 마운트 되어 있을 것입니다.
출처: http://seujeum.tistory.com/3 [스즘]
Windows 에서 사용하던 디스크를 Linux에서 Samba를 이용해 공유하는 것과 같은 이유로 Windows에서 사용하던 NTFS 디스크를 Linux 시스템에 마운트를 해야 할 경우가 있습니다. 이 경우 'ntfs-3g' 패키지를 이용하면 마운트가 가능합니다.
EPEL 활성화
기본적으로
RHEL / Centos의 기본 패키지 저장소는 'ntfs-3g' 패키지가 없습니다. 워낙 RHEL이 안정적인 패키지만 지원해서
그런 것 같습니다. 따라서 EPEL이라는 확장 패키지 저장소를 사용해야 합니다. EPEL 저장소를 활성화 하려면 다음과 같은
명령어를 입력하면 됩니다. '#'은 root 권한이 필요하다는 의미로 일반 사용자 계정은 명령 앞에 'sudo'을 이용해 최고
관리자 권한으로 승격이 필요합니다.
# yum install epel-release
아래와 같은 결과가 나오고 설치가 완료 됩니다.
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
epel-release noarch 7-9 extras 14 kTransaction Summary
================================================================================
Install 1 PackageTotal download size: 14 k
Installed size: 24 k
Downloading packages:
Public key for epel-release-7-9.noarch.rpm is not installed
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : epel-release-7-9.noarch 1/1
Verifying : epel-release-7-9.noarch 1/1Installed:
epel-release.noarch 0:7-9Complete!
제대로 설치되었는지 확인하려면 다음과 같음 명령어를 입력합니다.
$ yum repolist | grep
아래와 같은 결과가 나오면 정상적으로 설치된 것입니다.
* epel: <mirror site address>
*epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64
NTFS-3g 설치
'ntfs-3g' 패키지를 설치하려면 다음과 같은 명령어를 입력하세요.
# yum install ntfs-3g
아래와 같은 메시지가 나오고 설치가 완료됩니다.
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
ntfs-3g x86_64 2:2016.2.22-3.el7 epel 297 kTransaction Summary
================================================================================
Install 1 PackageTotal download size: 297 k
Installed size: 695 k
Downloading packages:
Public key for ntfs-3g-2016.2.22-3.el7.x86_64.rpm is not installed
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 2:ntfs-3g-2016.2.22-3.el7.x86_64 1/1
Verifying : 2:ntfs-3g-2016.2.22-3.el7.x86_64 1/1Installed:
ntfs-3g.x86_64 2:2016.2.22-3.el7Complete!
Windows에서 사용하던 NTFS 디스크를 그대로 옮긴 후, 'mount'를 수행하면 아래와 같은 에러를 볼 수 있습니다.
The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Failed to mount '/dev/sdc1': Operation not permitted The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option.
이러한 에러가 뜨는 이유는 Windows 8이상 부터 있는 '빠른 시작'기능 때문입니다. 따라서 NTFS 디스크를 Windows 컴퓨터에 연결 한 후, '빠른 시작'을 끄고 시스템을 종료합니다. 그 다음 NTFS 디스크를 빼서 Linux 시스템에 연결하여야 합니다.
Windows 빠른 시작 끄기
'제어판 > 하드웨어 및 소리 > 전원 옵션'에서 왼쪽 '전원 단추 작동 설정'을 클릭합니다.
'현재 사용할 수 없는 설정 변경'을 클릭하면 아래 '종료 설정' 메뉴가 활성화 됩니다. 그 후, '빠른 시작 켜기(권장)'의 체크를 해제합니다.
'변경 내용 저장'버튼으로 변경한 내용을 저장하고 시스템을 종료합니다. 그 다음 NTFS 디스크를 뽑아서 Linux 시스템에 연결합니다.
NTFS 파티션을 마운트 하기 전 마운트를 할 폴더를 만들어야 합니다. 저는 '/mnt' 폴더 하위에 'data'라는 폴더를 만들겠습니다.
# mkdir /mnt/data
그 다음 mount 명령을 이용해 마운트를 수행하겠습니다.
# mount -t ntfs-3g /dev/sdb2 /mnt/data -o defaults
그
다음 'ls'를 이용해 마운트 된 폴더를 확인하면 시스템 폴더인 '$RECYCLE.BIN' 폴더와 'System Volume
Information' 폴더가 보입니다. NTFS의 숨김 옵션이 적용이 되지 않아 생기는 현상인데 이를 해결하려면 마운트 시,
추가적인 옵션이 필요합니다.
drwxrwxrwx. 1 root root 0 1월 14 18:57 $RECYCLE.BIN
drwxrwxrwx. 1 root root 4096 1월 14 18:57 .
drwxr-xr-x. 3 root root 18 1월 14 18:59 ..
drwxrwxrwx. 1 root root 0 1월 14 18:57 System Volume Information
drwxrwxrwx. 1 root root 0 1월 14 18:57 testdir
-rwxrwxrwx. 1 root root 10 1월 14 18:57 testfile.txt
아래 명령어를 통해 마운트를 하면 위와 같은 일을 방지할 수 있습니다.
# mount -t ntfs-3g /dev/sdb2 /mnt/data -o defaults,hide_hid_files,windows_names
- 'hide_hid_files' 옵션은 NTFS의 숨김 옵션을 리눅스에서 숨김 폴더로 인식하게 해주는 옵션입니다.
- 'windows_names'는 파일과 폴더의 이름이 Windows 시스템에서 허용되지 않는 문자를 포함할 수 없도록 만들어줍니다.
위와 같이 마운트를 하고 폴더를 조회해 보면 시스템 폴더들이 사라져 있습니다.
drwxrwxrwx. 1 root root 0 1월 14 18:57 testdir
-rwxrwxrwx. 1 root root 10 1월 14 18:57 testfile.txt
'mount' 명령을 이용하면 재부팅 하면 마운트 정보가 유실되서 다시 마운트를 해야합니다. HDD 같은 고정 드라이브에는 굉장히 불편합니다. 부팅 타임에 자동으로 마운트 하도록 만들어 줄 수 있습니다. 이는 '/etc/fstab' 파일을 수정해서 등록할 수 있습니다.
nano나 vi같은 편집기를 이용해 'etc/fstab'폴더를 열어 편집합니다.
fstab 파일 구조
fstab 파일은 다음과 같은 구조를 갖습니다.
# 디바이스 마운트 위치 파일시스템 종류 옵션 덤프 무결성 확인 LABEL=/ / ext4 defaults 1 1 /dev/sda6 none swap defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0
- '디바이스'는 '/dev/sda'와 같은 디바이스 이름이나 UUID등을 입력할 수 있습니다.
- '마운트 위치'는 마운트가 될 위치를 지정하는데 'swap' 파티션의 경우에는 'none'를 입력합니다.
- '파일 시스템 종류'는 대상 디바이스의 파일 시스템을 적습니다. NTFS의 경우에는 'ntfs-3g'를 적으면 됩니다.
- '옵션'은 파일 시스템에서 지원하는 옵션들을 적을 수 있습니다. NTFS의 경우에는 위에서 적었던 'hide_hid_files'나 'windows_names'등이 있습니다.
- '덤프'는 시스템에서 덤프 프로그램을 이용해서 백업할지 여부를 정합니다. 0이면 시스템은 자동으로 백업을 수행하지 않습니다.
- '무결성 확인'은 부팅 타임에 fsck가 디바이스 에러 유무를 체크하는 설정입니다. 1은 루트 파일 시스템을 위한 것이고, 2는 루트 파일 시스템 다음에 무결성을 검사하는 옵션이고 3은 무결성 검사를 하지 않습니다.
NTFS 파티션 마운트
위 fstab 구조에 따라 마운트 파일을 수정하면 다음과 같이 수정할 수 있습니다.
#
# /etc/fstab
# Created by anaconda on Sat Jan 14 17:28:19 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=11ada13f-b877-407b-a7bb-4e4e67055efd /boot xfs defaults 0 0
UUID=121F-0E55 /boot/efi vfat umask=0077,shortname=winnt 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
/dev/sdb2 /mnt/data ntfs-3g defaults,hide_hid_files,windows_names 0 0
이후 파일을 저장하고 재부팅 하면 드라이브가 '/mnt/data' 폴더에 마운트 되어 있을 것입니다.
'OS > Linux' 카테고리의 다른 글
How to install Google Chrome web browser on Ubuntu 18.04 Bionic Beaver Linux (0) | 2018.05.25 |
---|---|
Empty kernel directory but kernel-headers are installed (0) | 2018.05.24 |
ubuntu vmware 설치에러 (0) | 2018.05.23 |
Ubuntu server problem - ssh: connect to host 192.x port 22: Connection refused (0) | 2018.05.20 |
ubuntu vmware 설치 (0) | 2018.05.19 |