파일 시스템과 링크
유닉스에서는 inode 라는 파일 시스템 구조를 지님
mkdir root/test
cat <aaa.txt
hello~
ctrl+z
ls -ial
1. inode
파일 앞에 번호가 붙는데(퍼미션앞에)
이걸 inode라고 함
퍼미션 뒤에는 링크 라는 번호가 붙음
inode 값 ---- 파일명이 mapping 되어 있음
각 파티션마다 inode란 특별한 파일의 저장정보
를 가지고 있는 저장장소(metadata)를 가짐
해당 inode 에서 관리하는 정보는
-> 해당 파일의 주인, 그룹, 퍼미션
파일타입, 하드링크 갯수, 파일 size, 파일 최종 수정정보
파일 첫번째 블락 하드디스크 포인터(물리 저장 위치)
+ 디렉토리도 inode를 지님 => 리눅스에서는 파일 개념임
+ 해당 inode만 알면 파일에 접근이 가능하다.
+ 해당 파일에 접근하려면 반드시 inode로 접근해야함
2. link
1) 하드링크
같은 inode로 다른 파일명으로 지칭 할수 있다.
=> 파일은 같지만 이름이 틀림
in 명령으로 링크를 부여해 줄 수 있다.
>in aaa.txt haaa.txt
1086 aaa.txt 링크는 1
1086 haaa.txt 링크는 2
이때 aaa.txt를 삭제해도 1086 은 사라지지 않음
다만 haaa.txt 링크가 1로 셋팅됨
반대로 haaa.txt만 지원도 1086 은 사라지지 않음
aaa.txt, haaa.txt 둘다 지워야 1086 이라는 inode가
같이 삭제된다.
하드링크의 단점 : 파티션 경계를 넘어갈 수 없음
!! 파티션 내에서만 사용가능함
/apm>in /root/test/aaa.txt haaa.txt
error
2) 소프트링크(파일 속성앞에 L 로 표시됨)
하드 링크 단점을 개선하기위한 방법
in -s 옵션을 통해서 소프트 링크를 부여가능하다.
/apm>in -s /root/test/aaa.txt saaa.txt
다만 이렇게 명령시 하나의 inode를 두개 파일이 공유하는게
아니라 saaa.txt 가 aaa.txt 의 inode를 포인터로 가지고
있는게 됨
결과적으로 saaa.txt의 inode 값도 틀리고, 링크도 1로 부여
>ls -ial
saaa.txt -> aaa.txt
이런식으로 표시가됨
이후 aaa.txt를 삭제해도 saaa.txt는 남아 있음
>rm -rf aaa.txt
>ls -ial
다만 ls 명령시 링크 원본이 지워졌다는 표시를
붉은색으로 표시해줌
활용예) /root/manage
자주 실행하는 디렉토리 및 파일에 대한 링크를
보관하여 사용 가능
2. 디스크 할당량 제약 부여
리눅스 처음 ip잡기 -> 사용자 만들고 권한 부여하기
-> 서버 구축
사용자 권한 부여기능중에
사용자별 디스크 용량을 부여가능하다.
윈도우에서는 쉬운데 여기서는 좀 어렵게 관리됨
사용자 용량을 제한 하는 방법은(디스크 쿼터)
1) 하드디스크 추가
VM 에 하드디스크 1개 추가(1g)
2) 파티션
>fdisk /dev/hda ☜
Command (m for help) : m ☜(헬프)
Command (m for help) : p ☜(확인)
Command (m for help) : n ☜(새로 만들기)
Command (m for help) : p ☜
.. 이제 생성된거 확인
Command (m for help) : d ☜ (삭제)
Command (m for help) : w ☜ (저장)
3) 포멧
>mkfs.ext3 /dev/hda1☜ (포맷)
(새로 생성한 하드디스크 포맷)
>mkdir / mydisk☜
4) 마운드(mount~)
>mount /dev/hda1 /mydisk☜
(포맷한 내용을 mydisk 라는 폴더로 할당)
5) /etc/fstab 파일설정(자동마운팅)
>vi /etc/fstab ☜ (폴더별 마운팅 내용을 보여 줌)
....
/dev/hda1 /mydisk ext3 defaults 1 2
...
위 내용을 추가(기존 내용을 복사해서 넣을 것)
>reboot☜
재부팅 후 마운팅 정보가 갱신됨
/etc/fstab ->등록된 내용은 자동 마운팅 됨
....
/dev/hda1 /mydisk ext3 defaults 1 2
...
3번재 옵션 - 파일 포맷 보통 ext3 임
4번째 옵션 default 의 세부 옵션
(4번째 defaults는 - rw, nouser, auto 각각 지정임)
나머지 세세한 옵션이 더 있으나 중요하지 않음
1) rw<읽기, 쓰기 가능>, ro<읽기만 가능 cd롬>
2) nouser - 일반 사용자는 마운팅 불가능, root만 가능
user - 일반 사용자도 마운팅 가능
3) auto - 부팅시 자동마운팅
noauto - 자동 마운팅은 하지 않는다.
5번째 옵션
.... 1 2의 의미
1) 첫번째 숫자
0 백업 안함
1 백업 함
2) 두번재 숫자
0 미체크
1 체크함, 우선순위가 높음
2 체크함, 우선순위 낮음
3. 디스크 쿼터 설정 순서
1) /etc/fstab에 쿼터를 가져갈 파티션에
usrquota 옵션 추가하기
>vi /etc/fstab
.................
.../mydisk ....defaults,usrquota ........
..................
2) 리부팅
> reboot
.....
> mount
.....
........ /mydisk type ext3 (rw, usrquota)
......
> df -h 로 확인
(확인하는 다른 방법)
3) quota.user 파일을 생성
>cd /mydisk
>touch quota.user
>chmod 600
(기존 644 퍼미션을600으로 변경)
**** quota 관련 명령어****
>quotacheck (쿼터 사항을 체크)
>edquota (쿼터 설정하기)
>quotaon (쿼터 기능 on)
>quotaoff (쿼터 기능 off)
>repquota (쿼터 설정 확인)
>convertquota (쿼터 기능을 커널에게 알림)
4) 체크
>quotacheck -a
>quotacheck -a -m
5) convertquota -u /mydisk
(커널에게 /mydisk를 쿼터기능 사용하겠다고 알림
-> 파일이 하나 자동으로 생성됨 aquota.user)
>ls -al
..... aquota.user
6) edquota -t (유예기간 확인)
~~~~black grace period inode grace period
: 블록(저장용량) 단위 혹은 inode( 파일) 숫자로도
제한이 가능함.
7) edquota -u babo (유저에게 쿼터 추가)
Filesystem blocks soft hard inodes soft
0 0 11000 0 0
: 의미 : 11메가를 쓸수 있다.
8) quotaon -a(쿼타 기능을 on) + repquota (확인)
>quotaon -a
>repquota -a
-> reportquota 줄임
내용을 볼 수 있음 (유예기간 및 내용을 확인 가능)
>quotaon -a
>repquota -a
-> 이때는 내용이 보이지 않음(쿼타를 적용하지 않기 때문에)
댓글 없음:
댓글 쓰기