'2011/08/10'에 해당되는 글 2건
- 2011.08.10 [Chap7 #04] - 파일시스템 검사하기 (badblocks , fsck)
- 2011.08.10 [Chap7 #03] - (2) 파일시스템 마운트 & 언마운트(mount, umount)
♧ 리눅스에서는 윈도우에서 사용하는 scandisk 유틸리티와 같은
물리적인 수준에서 배드블록을 검사하기 위해 badblocks 명령어를 사용한다.
그리고 fsck 명령어를 사용해 논리적인 수준에서 파일시스템의 오류를 검사할 수도 있다.
■ badblocks - 장치의 배드블럭을 검색
badblocks [ -b 블록크기 ] [ -o 출력파일 ] [ -v ] [ -w ] |
◈ [ 옵션 ]
옵 션 | 설 명 |
-b 블록크기 | 블록크기를 바이트 수로 나타냄 (기본값 : 1024 bytes) |
-o 파일명 | 지정한 파일에 배드 블록의 리스트 기록 |
-v | 자세한 출력 모드 |
-e 최대블록개수 | 점검을 멈출 최대 블록 개수 (0이면 지정된 범위 까지 점검) |
-p num_passes | 지정된 숫자 만큼 디스크 스캔 반복. |
-w | 읽기/쓰기 모드 에서 배드블록을 검사 (-n 옵션과 함께 사용 X, 상호 배타적임) |
-n | 비-파괴 읽고/쓰기 모드 ( -w옵션과 함께 사용 X, 상호 배타적임) |
-s | 검사 진행 과정 표시 |
badblocks 명령의 일반적인 사용 예: | ||||
▶ -v 옵션 : 자세한 정보 출력과 함께 기본적인 사용
▶ 비-파괴 모드로 배드블록을 검사.
☞ 기본적으로, 배드블록 검사는 읽기전용 모드에서 수행하는 것이 안전하다. 비-파괴(non-destructive) 읽고/쓰기 검사는 매우 느리지만 디바이스에 저장된 데이터의 손실 없이 검사할 수 있는 가장 좋은 방법이다.
▶ 읽기/쓰기 모드 검사. ( 경고 : 데이터가 파괴될 수 있음 )
☞ 읽기/쓰기 모드에서 배드블록을 검사하는 것으로 빠르게 검사할 수는 있지만 데이터가 파괴 된다.
▶ 다수의 배드블록 검사 수행
☞ 디스크 품질을 검사하고, 초기 고장률을 낮추기 위한 테스트용으로 사용. |
■ fcsk - 리눅스 파일시스템을 검사
♧ fsck 명령어는 특정 파일시스템 유형에 사용되는 검사 유틸리티의 프론트엔드 역할을 수행.
fsck [ -AVRTNP ] [ -s ] [ -t 파일시스템유형 ] [ 파일시스템옵션 ] 파일시스템 [ ... ] |
◈ [ 옵션 ]
옵 션 | 설 명 |
-A | /etc/fstab 파일에 표시된 모든 파일시스템을 한 번 씩 모두 점검. |
-R | -A 플래그와 같이 사용될 때 루트 파일시스템은 제외 |
-T | 시작할 때 버전정보를 출력하지 않음 |
-V | 자세한 출력 수행 |
-N | 실행하지는 말고 어떤 작업을 할 것인지만 보여줌. |
fsck 명령의 일반적인 사용 예: | ||
▶ 파일시스템 검사 (-TV : 자세한 출력 및 버전 출력 방지 옵션)
▷ 검사 수행 도중 문제가 발생하면, 문제를 수정할 것인지 사용자에게 물어보는데 -y옵션을 추가하여 모든 질문에 대해 yes로 답변하도록 할 수 있다.
|
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap8 #02] - 네트워크를 통해 백업하기(ssh, rsync) (0) | 2011.08.12 |
---|---|
[Chap8 #01] - tar를 사용하여 백업 아카이브(archive) 만들기 (0) | 2011.08.11 |
[Chap7 #03] - (2) 파일시스템 마운트 & 언마운트(mount, umount) (0) | 2011.08.10 |
[Chap7 #03] - (1) fstab 파일의 파일시스템 마운트 (0) | 2011.08.09 |
[Chap7 #02] - (3) 파일시스템 포맷(mkfs), 가상 파일 생성 (0) | 2011.08.09 |
■ mount 명령어를 사용해 파일시스템 마운트 하기
♧ mount 명령어를 사용하면 로컬(하드디스크, USB, CD, DVD 등)뿐만 아니라 원격지(NFS, 삼바 등)까지
포함해 시스템에 마운트되어 있는 모든 파일시스템 정보를 볼 수 있음.
mount [-hV] mount -a [-fnrvw] [-t 파일시스템유형] mount [-fnrvw] [-o 옵션 [,...]] 장치 | 디렉토리 mount [-fnrvw] [-t 파일시스템유형] [-o 옵션] 장치 디렉토리 |
▶ mount 명령어 옵션
옵 션 |
설 명 |
-a, --all |
fstab 파일에 언급된 모든 파일시스템을 마운트. |
-v, --verbose |
자세한 출력 모드. |
-f, --fake |
실제 시스템 호출은 하지 않고 마운트할 수 있는지 점검. 보통 -v 플래그를 써서 mount 명령의 결과를 알고자 할 때 유용 |
-n, --no-mtab |
/etc/mtab 파일에 쓰기 작업을 하지 않고 마운트. /etc가 읽기전용 파일시스템인 경우에 필요. |
-r, --read-only |
읽기만 가능하게 마운트. ( 같은 옵션으로 -o ro ) |
-w, --rw |
읽기/쓰기 모드로 마운트. ( 같은 옵션으로 -o rw ) 기본 디폴트값 |
-t <vfstype> |
마운트할 파일시스템 유형을 명시적으로 지정. |
-o <options> |
플래그 뒤에 콤마로 분리한 옵션을 적어준다. |
-B, --bind |
기존에 마운트되어 있는 파일시스템을 서브트리의 다른 위치에 한번 더 마운트. |
-M, --move |
마운트되어 있는 파일시스템의 마운트 지점을 다른 위치로 이동. |
▷ 마운트 플래그 옵션 : 파일시스템 속성 설정 옵션
옵 션 |
설 명 |
defaults |
rw, suid, dev, exec, auto, nouser, async 속성을 모두 가짐 |
auto |
부팅시 자동 마운트 |
noauto |
부팅시 자동마운트 안함 |
dev |
파일시스템 상의 문자, 블럭 특수 장치를 해석. |
nodev |
파일시스템 상의 문자, 블럭 특수 장치를 해석 하지 않음. |
exec |
바이너리 실행파일이 실행되는 것을 허용. |
noexec |
바이너리 실행파일이 실행되는 것을 허용 안함. (/tmp 디렉토리와 같이 신뢰할 수 없는 사용자도 접근할 수 있는 경우에 보안 향상) |
suid |
setuid, setgid 의 사용을 허용 |
nosuid |
setuid, setgid의 사용을 거부 |
ro |
읽기 전용 (read-only) |
rw |
읽기/쓰기 (read/write) 가능 |
async |
파일시스템에 대한 I/O가 비동기적으로 이뤄지게 함. |
sync |
파일시스템에 대한 I/O가 동기적으로 이뤄지게 함. |
user |
일반 계정 사용자들도 마운트 할 수 있게 허용 |
nouser |
일반 계정 사용자가 마운트할 수 없음 (즉, root만 mount 가능) |
noatime |
파일 접근시간을 업데이트하지 않는다. (메일 스풀이나 로그와 같이 I/O가 많은 파일시스템에 유용) |
remount |
이미 마운트된 파일시스템을 다시 마운트. |
mount 명령 기본적인 사용 예: |
||||||||
▶ 마운트된 로컬 및 원격지 파일시스템 목록보기
▶ 특정 파일시스템 유형을 가진 목록만 보기 (-t 옵션 사용)
▶ /dev/sdb1 디바이스를 /mnt/mymount로 마운트 (-v 옵션 : 자세한 정보 출력)
☞ 파일시스템 유형을 명시하지 않고 경고를 출력하며, 알아서 ext4로 시도하여 마운트 함.
▶ 마운트할 파일시스템 유형을 명시적으로 지정 (-t 옵션 사용)
▶ 마운트 옵션 지정 (-o 옵션 사용)
☞ /etc/fstab 파일의 네 번째 필드와 동일한 효력을 가짐. ☞ -o 옵션과 콤마로 구분된 옵션들을 입력하여 구제적인 마운트 옵션을 지정해줄 수 있음.
▷ remount 옵션 - 이미 마운트되어 있는 파일시스템의 옵션 변경.
☞ 읽기 전용으로 마운트되어 있는 파일시스템을 읽기전용으로 다시 마운트.
▷ --bind 옵션 - 마운트되어 있는 파일시스템을 다른 위치에 한번 더 마운트.
☞ 동일한 파일시스템을 서로 다른 두 개의 마운트 지점에서 접근할 수 있게 되었다. ☞ 새로운 마운트 지점 역시 기존과 같은 옵션을 사용.
▷ --move 옵션 - 마운트되어 있는 파일시스템의 마운트 지점을 다른 위치로 이동.
|
[ fstab 파일에 기술되어 있는 파일시스템을 마운트 하는 세 가지 방법 ] |
|||||
① mount -a [-t type] 라고 하면 fstab 에서 기술되어 있는 모든 파일 시스템을 마운트 시킨다. ② 그냥 디바이스명만 써주거나 또는 마운트 포인트(마운트될 디렉토리)만 적어주면 된다.
③ 다음과 같이 fstab에 user라는 옵션이 적혀 있다면, 누구든 마운트 가능.
|
[ 루프백 마운트 ] |
||||
♧ 파일을 블럭 디바이스 처럼 엑세스 할 수 있게 해주는 가상의 장치.
스왑 파일을 생성하는 것처럼, 일반 파일시스템도 파일 속에 생성할 수 있다. 이러한 가상 파일시스템은 루프백 마운트라고 하는 방법으로 마운트 해야 한다. (다운로드받은 리눅스 설치 CD또는 라이브 CD등을 마운트하려는 경우)
▷ loop장치가 명시되지 않으면 ( -o loop라는 옵션만 주면) mount는 사용하지 않은 loop장치를 찾아서 사용
▶ CD 이미지파일(iso9660)을 시스템에 마운트
☞ loop : 명시적으로 /dev/loop* 를 지정하지 않으면 사용하지 않는 loop 디바이스를 자동으로 지정.
▶ USB 디스크 부트 이미지 파일을 시스템에 마운트.
♧ 루프백 디바이스 상태에 관한 정보를 보고 싶다면 losetup 명령 사용. ▶ 마운트된 루프백 디바이스를 보여준다.
▶ 마운트된 루프백 디바이스를 강제로 언마운트
☞ 만약 루프백 마운트에 문제가 발생해 언마운트할 수 없다면 다음 명령어를 사용하여 분리작업 시도
|
■ umount 명령어를 사용해 파일시스템 언마운트 하기
♧ 파일시스템의 마운트 해제는 umount명령을 사용한다.
umount [-hV]
umount -a [-dflnrv] [-t vfstype] [-O options] umount [-dflnrv] {dir | device}... |
umount 명령 기본적인 사용 예: |
||||||
♧ 마운트와 마찬가지로 디바이스명 또는 마운트 지점을 이용해 언마운트 할 수 있다. bind 옵션(하나의 디바이스, 여러 개의 마운트 지점)으로 마운트 했을 경우 발생할 수 있는 혼란을 피하고 싶다면 가급적 마운트 지점을 이용해 언마운트 하도록 한다.
▶ 디바이스명을 사용해 언마운트.
▶ 마운트 지점을 사용해 언마운트.
▶ 언마운트가 되지 않을 경우
☞ 만약 디바이스가 사용 중이라면 'device is busy' 라는 메시지가 출력되면서 언마운트할 수 없을 것. (실패하는 일반적인 원인으로, 마운트된 파일시스템의 디렉토리를 사용하고 있는 쉘이 실행중인 경우가 많음)
▶ 드물지만 'device is busy'의 정확한 원인을 알 수 없을 경우 :
☞ devanix 유저가 실행한 PID 9341이 bash 쉘 프로세스가 마운트 지점을 사용하고 있다는 것을 확인. (결국 이 bash 프로세스가 mymount 파티션의 언마운트를 방해하고 있었던 것)
▶ -l 옵션 : 지연된 언마운트(lazy umount) 사용.
☞ 'device is busy'로 언마운트할 수 없을 때, 이를 해결하기 위한 또 다른 방법으로 지연된 언마운트(lazy umount)가 있다. ☞ 지연된 언마운트(lazy umount)는 디바이스가 사용되지 않을 때까지 대기한 후에 디렉토리 트리로부터 파일시스템을 언마운트한다.
▷ 그밖에 이동식 저장장치를 언마운트할 때에는 eject 명령어를 사용할 수 있다. eject를 사용하면 CD파일시스템이 언마운트되고 드라이브에서 CD가 자동으로 배출 된다.
|
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap8 #01] - tar를 사용하여 백업 아카이브(archive) 만들기 (0) | 2011.08.11 |
---|---|
[Chap7 #04] - 파일시스템 검사하기 (badblocks , fsck) (0) | 2011.08.10 |
[Chap7 #03] - (1) fstab 파일의 파일시스템 마운트 (0) | 2011.08.09 |
[Chap7 #02] - (3) 파일시스템 포맷(mkfs), 가상 파일 생성 (0) | 2011.08.09 |
[Chap7 #02] - (2) 파일시스템 라벨 작업(e2label, findfs) (0) | 2011.08.08 |