*마운트 사용법
형식
mount -t <파일시스템> -o <옵션> <디바이스명> <마운트위치>
옵션
async - 파일시스템에서 비동기 I/O 사용
defaults - rw, suid, dev, auto, exec, nouser, async를 기본옵션으로 함.
auto - /etc/fstab에 있는 모든 파일시스템을 부팅시 자동마운트 함.
dcv - 파일시스템상의 문자/블록장치를 해석(찾음)함.
exec - 파일시스템에 포함된 바이너리파일을 실행가능하도록함.
noauto - 자동마운트 안 함.
nodev - 파일시스템상의 문자/블록장치를 해석(찾음)안 함.
noexec - 파일시스템에 포함된 바이너리파일을 실행 안 함.
nosuid - SetUID, SetGID 제한
nouser - 일반 사용자의 마운트 제한
remount - 이미 마운트된 파일시스템의 재 마운트
ro - 읽기전용으로 파일시스템 마운트
rw - 읽기/쓰기로 파일시스템 마운트
suid - SetUID, SetGID 허용
vsync - 파일시스템에서 동기 입출력 사용
user - 일반 사용자의 마운트 허용
users - 모든 사용자의 마운트 허용
noatime - 파일시스템 접근을 기록하지 않음
실습1] CD-ROM 마운트
CD-ROM, DVD의 경우 파일시스템 iso9660이다.
mount -t iso9660 /dev/hdc /cdrom
CD 꺼내기 - eject
실습2] MS-DOS 파티션 마운트
mkdir /doc
mount -t msdos /dev/hdd1 /dos
실습3] NTFS 파일시스템 마운트
*Centos는 ntfs 파일시스템을 지원하지 않는다.
ntfs 패키지를 설치해야 마운트가 가능하다.
패키지명 : fuse-ntfs-3g,dkms,dkms-fuse
사이트에서 rpm으로 설치
mkdir /ntfs
ntfs-3g /dev/hdd1 /ntfs
실습4] 파일시스템을 모르는 경우 마운트하기
mount -t auto /dev/hdd1/test
실습5] ISO 파일을 마운트하기
mount -t iso9660 -o loop iso파일 /폴더명
실습6] NFS 서버 마운트하기
mount -t nfs 서버주소: 공유디렉토리 마운트포인트
* 부팅 시 파일시스템
1. 디바이스필드
하드디스크 파티션을 지정하는 디바이스 필드는 세가지 형태로 구분한다.
*UUID로 디바이스 표시하기
ex)
#/ib/udev/vol_id /dev/sda1
ID_FS_USAGE = filesystem
ID_FS_TYPE = ext3
ID_FS_VERSION = 1.0
ID_FS_UUID = b520ec9b-c399-47fe-ga5e-26456aea03f4
ID_FS_LABEL = /boot
ID_FS_LABEL_SAFE = boot
# findfs UUID=b520ec9b-c399-47efe-9a5e-26456aca03f4
두번째, 라벨명으로 디바이스명 표기하기
/dev/sda1 /
fidsk -l /dev/sda
*새로운 라벨명 지정하기
# e2label 디바이스명 새라벨명
#e3label /dev/sda1 NEW
/etc/fstab 라벨명으로 마운트 설정 형식
LABEL=NEW / ext3 defaults 1 1
세번째, 장치명으로 디바이스명 표기하기
/dev/sda1 / ext3 defaults 1 1
2.마운트위치(마운트포인트)필드
파티션 또는 파일시스템이 마운트되어질 위치를 지정한다.
swap 파티션은 swap으로 지정한다.
3.파일시스템 종류 필드
ext2, ext3, ext4, reiserfs, jfs, xfs, msdos, vfat, ntfs, iso9600, nfs, udf ...
만약 파일시스템을 모를 경우 auto로 지정해주면 자동으로 파일시스템을 인식하게 된다.
4.옵션필드
옵션
async 파일시스템에서 비동기 I/O사용
auto /etc/fstab에 있는 모든 파일 시스템을 부팅시 자동마운트함
defaults rw, suid, dev, auto, exec, nouser, asybc를 기본옵션으로함.
dev 파일시스템상의 문자/블록장치를 해석함.
exec 파일시스템에 포함된 바이너리파일을 실행가능하도록함
noauto 자동마운트 안 함
nodev 파일시스템상의 문자/블록장치를 해석안 함
noexec 바이너리파일을 실행 안 함
nosuid SetUID, SetGID 제한시킴
nouser 일반사용자의 마운트 제한
remount 이미 마운트된 파일시스템의 재 마운트
ro 읽기전용으로 파일시스템 마운트
rw 읽기/쓰기로 파일시스템 마운트
suid SetUID, SetGID 허용
vsync 파일시스템에서 동기 입출력 사용
user 일반 사용자의 마운트 허용
users 모든 사용자의 마운트 허용
noatime 파일시스템 접근을 기록하지 않음
*옵션을 여러개 지정할 경우 사이띄기 없이 콤마로 구분해준다.
옵션1,옵션2,옵션3....
5.dump 필드
덤프필드는 dump 명령으로 파일시스템을 덤프할 것인지 결정한다.
1의 값은 리눅스 파일시스템에 지정하고, 그외의 경우는 0을 지정
dump?
메모리에서 작업하고 있는것을 하드디스크로 저장.
6.파일시스템점검필드(fsck)
fsck 명령으로 파일시스템을 점검할 것인지를 결정.
0인 경우에는 부팅시 파일시스템을 점검하지 않는다.
1인 경우에는 부팅시 루트 파일시스템을 점검한다.
2인 경우에는 부팅시 나머지 파티션을 점검한다(루트 파티션 제외).
/ 기본 최소설정보다 조금 더 /dev/sda2
home 제일 많은 용령
/export/home
var 로그, 매일......
usr 사용자가 프로그램 설치
-------------------------------------------------------
파일시스템 변환하기
1.ext2를 ext3로 변환하기
/dev/sdd를 ext2로 파티션 하기
tune2fs -j 파티션 명
ex)tune2fs -j /dev/sdd1
tune2fs 1.39 (29-May-2006)
Creating journal inode: done
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
=>마운트를 무제한으로 할 수 있는 것이 아님
2.ext3를 ext2로 변환하기
tune2fs -O ^has_journal /dev/sdd1
3.mount 최대횟수와 점검 간격일을 늘려주기
tune2fs -c 50 -i 365 /dev/sdd1
확인
tune2fs -l /dev/sdd1
[root@GNOME-08 PE]# tune2fs -l /dev/sdd1
tune2fs 1.39 (29-May-2006)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 634ca404-3752-4b8e-8044-640a570b3876
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 130560
Block count: 261048
Reserved block count: 13052
Free blocks: 252519
Free inodes: 130549
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 63
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 16320
Inode blocks per group: 510
Filesystem created: Thu Apr 21 15:06:32 2016
Last mount time: Thu Apr 21 15:23:03 2016
Last write time: Thu Apr 21 15:27:12 2016
Mount count: 4
Maximum mount count: 50
Last checked: Thu Apr 21 15:06:32 2016
Check interval: 31536000 (12 months, 5 days)
Next check after: Fri Apr 21 15:06:32 2017
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: tea
Directory Hash Seed: d07f69d1-2867-4391-8d03-31feb405524c
Journal backup: inode blocks
[실습] 파일시스템을 점검하지 않으려면?
예를 들어 하드디스크 용량이 100TB라고 가장한다.
fsck는 언제 동작할까? 부팅시
tune2fs -c 0 -i 0 /dev/sdd1
----------------------------------------------------------------------------------
PROC 파일 시스템
proc 파일시스템은 리눅스 시스템이 부팅될 때 커널에 의해서 생성되는 가상파일시스템이다.
/proc 디렉토리에는 숫자로된 디렉토리와 각종 시스템파일,
네트워크 관련 정보를 담고 있는 파일들이 위치하고 있으며,
cat 명령을 사용하여 파일내의 정보를 확인할 수 있다.
cmdl 명령행 command line
cpuset 작업 CPU
cwd 작업디렉토리 링크
environ 환경변수
exe 프로세스를 실행시킨 명령어의 심볼링링크
maps 실행어와 라이브러리파일의 메모리 맵
io 입출력정보
lognuid 로그인사용자의 uid
mem 프로세스에 의해서 사용되는 메모리
mounts 파일시스템 마운트 정보
mountstats 파일시스템 마운트 상세정보
root 프로세스의 루트 디렉토리
stat 프로세스 상태
startm 프로세스 메모리상태
status 프로세스 상태로 구별이 쉽도록 쉬운 포멧
1.CPU 정보(/proc/cpuinfo)
cat /proc/cpuinfo
2.드라이버 보기(/proc/drivers)
cat /proc/drivers
3.인터럽트 상태 (/proc/interrupts) =>긴급 상황에서 cpu 호출 (윈도우에서 ctrl+alt+del)
12: 49271 IO-APIC-edge i8042 =>마우스
4.RAID 상태보기 (/proc/mdstat)
cat /proc/mdstat
5.메모리정보(/proc/meminfo)
cat /proc/meminfo
6.마운트정보(/proc/mounts)
cat /proc/mounts
7.파티션정보(/proc/partitions)
cat /proc/partitions
8.스왑정보(/proc/swaps)
cat /proc/swaps
--------------------------------------------------------------------------------------------------
파일시스템 만들기
포멧 명령어
1.mkfs -t 파일시스템 파티션명
2.mkfs.파일시스템 파티션명
파일시스템 점검하기
(fsck)
부팅시 오류메시지 발생
--------------------화면 ----------------------
**** an error occurred durin the file system check.
**** Droppping you to a shell; they system will reboot
**** when you leave the shell
Give root passwd for maintenance
(or type Control-D for normal startup):루트패스워드
(Repair filesysystem)1 # 여기에 fsck 명령을 실행한다.
==>fsck.ext3 /dev/sda1
---------------------------------------------------------------------------------------------------
스왑파티션 만들기
swap 파티션은 물리적 메모리 용량이 부족하여 더 이상 처리중인 데이터를 저장할 공간이 없을 때 사용되는 임시 메모리라고
할 수 있다. 스왑이 자주 발생한다면 실제로는 물리메모리가 부족한 경우라고 볼수 있기 때문에 스왑공간을 늘리는것보다는 물리메모리를
업그레이드하는 것이 효과적인 방법이 될 수 있다.
1. 스왑파티션 생성
mkswap -c 디바이스명
예)
mkswap -c /dev/sdc
Setting up swapspace version 1, size = 1073737 kB
2. 스왑 파티션활성화
swapon 디바이스명
swapoff 디바이스명
3. /etc/fstab에 추가
스왑 파티션 swap swap defaults 0 0
DISK QUOTA
쉘 사용자의 게정 용량을 제한하는 것.
웹호스트 또는 계정서비스에서 사용자에 일정 계정 공간을 할당하고자 할 때 주로 사용된다.
예) N드라이브 , 구글드라이브 , DropBox , 카페 , 블로그
1. 디스크쿼터설정
/etc/fstab 옵션필드에 쿼터옵션을 추가해주어야 한다.
#vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults,usrquota 1 1
grpquota
실습] /dev/sdc, /sdv/sdd
두개의 하드디스크를 하나로 합쳐서 쿼터선언.
작업1. RAID
작업2. LVM
2. 쿼터 파티션 재 마운트하기
mount -o remount /
mount 명령으로 마운트옵션에 usrquota옵션이 추가된것을 확인한다
3. 쿼터 데이터베이스 파일 생성 (aquota.user)
사용자의 쿼터정보를 저장하는 데이터베이스 파일인 aquota.user 파일을 만든 후 600의 퍼미션을 부여해준다.
touch /aquota.user
chmod 600 aquota.user
4. 쿼터상태 체크
quotacheck 명령을 사용하여 쿼터상태를 체크하고 /aquota.user 데이터베이스 파일에 저장되도록 한다.
quotacheck -avugm
5. 쿼터활성화
모든 계정에 대해서 쿼터를 설정하기 위해서 쿼터를 활성해준다.
quotaon /
6. 사용자 용량 제한하기
edquota 명령을 이용하여 시스템내에 존재하는 계정 사용자에 대해서 쿼터를 설정할 수 있다.
예)tel2 계정의 용량을 제한하려면
edquota tel2
위의 명령을 실행하면 vi 편집기가 실행되며 tel2 사용자의 쿼터설정 내용이 보인다. 이 부분을 수정해주면 된다.
Filesystem blocks soft hard inodes soft hard
총용량 제한용량 오버용량 파일총개수 제한개수 오버개수
예를들어 500MB로 제한하고 파일은 10개로 제한하고자 한다.(오버는 10%,20%)
Filesystem blocks soft hard inodes soft hard
500*1024 550*1024 10 12
* 오버범위는 기본 1주일동안만 사용가능하다.
7.유예기간은 사용자의 계정 용량이 soft limit로 지정한 용량에 도달했을 때부터
hard linit 범위내에서 계정 용량을 초과하여 사용할 수 있도록 한시적으로 적용되는 기간이다.
이 설정을 하지 않으면 기본값으로 1주일이 지정된다.
edquota -t 명령으로 확인할 수 있다.
8.쿼터 설정 상태 확인 (repquota -a)
쿼터 상태를 확인할 수 있다.
일반유저는 자신의 계정으로 로그인한 후 quota 명령을 사용하여 자신의 쿼터정보를 확인할 수 있다.
9.쿼터설정을 다른 사용자와 동일하게 설정하기
계정:user1, user2, user3, user4
쿼터:user1dprp 500MB, 15개의 파일 허용
edquota -p user1 user2 user3 user4
'IT 관련정보 > 리눅스' 카테고리의 다른 글
리눅스 기본 이론(6) - 로그인 쉘, 프롬프트, 쉘 환경변수, 백업, rsync (0) | 2017.04.18 |
---|---|
리눅스 기본 이론(5) - 데몬 관리, crontab, at, YUM, RPM (0) | 2017.04.18 |
리눅스 기본 이론(4) -프로세스 관리 (0) | 2017.04.18 |
리눅스 기본 이론(2) 하드 링크와 소프트 링크, 권한 설정 (0) | 2017.04.18 |
리눅스 기본 이론(1) (0) | 2017.04.18 |