Linux

22.02.28

가로선 2022. 2. 28. 20:59

 

   목차   

 

1. 사용자별로 디스크 사용량 제한

 - quota

 - /etc/fstab 위치별 내용

 - 대한민국 mtp서버에 시간 맞추기

 - quota 삭제

2. 그룹별로 디스크 사용량 제한

3. 패키지 관리

 - 계열사별 패키지

 - yum

 - rpm

 - binary(source)


 

   사용자별 디스크 사용량 제한   

 - 하기 전 getenforce를 통해 SELINUX가 disabled 되어있는지 확인

 

   quota   

 - yum install -y quota

 

/dev/sdb에 파티션 생성

 

/quo 디렉터리 생성 후, 마운트 된 것 확인

 

vi 편집기를 통해 /etc/fstab(filesystem table)에서 추가

   /etc/fstab 위치별 내용    

 

    - /dev/sdb1 : 장치명

    - /quo : 마운트 포인트

    - ext4 : 파일시스템 타입

    - defaults : 옵션(저널링 파일 시스템이므로 기본값)

    - usrjquota=aquota.user : 옵션(데이터베이스 파일 이름을 aquota.user로 지정)

    - jgfmt=vfsv0 : 옵션(저널링쿼터 포맷을 기본값인 vfsv0로 지정)

    - 0 : 디스크 덤프(복제)할 것 인지 확인 => 0은 안한다, 1은 한다

    - 0 : 디스크 검사 순서지정(0은 안한다, 1은 첫번째로, 2번은 첫번째 끝나면) 

 

mount -o remount /quo를 진행 후, mount를 쳤을 때 이런 식으로 나오는지 확인

    - mount는 서버를 리부트 시키면 풀리게 된다

    - 이 작업을 진행 후, 리부트 후에도 마운트가 풀리지 않는다

 

마운트 되어있는 디렉터리로 이동 후, 데이버 베이스 파일 만들기

    - 쿼터 상태를 체크 후, 데이터 베이스 파일에 저장(변경된 설정 인식에 필요)

    - a : 사용자, 그룹의 쿼터 체크

    - v : 진행상황 보겠다

    - u : user

    - g : 그룹

    - m : 데이터베이스 파일이 존재해도 강제로 파일을 다시 만들겠다

 

사용자 a에 대한 quota 설정

    - edit quota

 

a 사용자에 대한 사용량 지정

    - 왼쪽은 디스크 단위 설정(블럭 단위 설정) - size(KB 단위)

    - 오른쪽은 갯수(파일 갯수로 제한) - 설정하지 않는다

    - blocks 부분과 inodes 부분은 건드리지 않는다

    - 소프트 할당량 : 20MB을 넘어가면 타이머가 동작한다

        - 유예기간 동안 사용할 수 있도록 해준다

        - 유예기간 동안 30MB는 절대 넘어 갈 수 없으며, 20MB 초과한 내용은 저장된다

    - 하드 할당량 : 30MB가 최대 설정이다(절대 용량을 넘길 수 없다)

 

유예기간 설정

 

소프트 할당량을 넘어갈 시 4일 동안 유예기간을 주어 사용할 수 있게 한다

 

quotaon을 통해 설정한 quota를 실행

 

quota 설정을 확인하기 위해 3mb 짜리 test.txt 파일을 생성

 

a 유저에 대해서 /quo 권한 부여

 

rep(ort)quota -a(all)을 통해 확인

 

3mb 짜리 test.txt 파일을 계속 복사하여 soft 할당량을 초과

 

soft 할당량을 초과하니 grace(유예 기간)에 3days라고 표시됨

 

유예기간동안 파일 생성 가능, 하지만 hard 할당량이 넘어가니 오류가 발생

 

하드할당량 도달한 것 확인

 

test11.txt 파일은 이름만 저장된 것을 볼 수 있다

 

유예기간을 넘기기 위해 date로 서버 날짜를 바꾼 후 확인

 

유예기간을 넘기니 test8.txt부터 디스크 할당량 초과 오류가 나옴

    - rm -f를 통해 test8 ~ 11까지 삭제 후 진행

 

   대한민국 mtp 서버에 시간 맞추기   

 - yum install -y rdate
 - rdate -s ntp.kornet.net && hwclok -w

 - rdate time.bora.net

 

다른 사용자에게도 똑같은 쿼터 설정 전파

 

사용자 b도 사용자 a의 쿼터 설정처럼 똑같이 적용된다

 

b 사용자도 마찬가지로 7번째부터 경고 알람이 뜬다

    - 다른 사용자의 접근을 위해 setfacl 사용도 좋고 chmod o+rwx도 좋아보인다

 

   quota 삭제   

 

quotaoff를 통해 쿼터를 종료

    - /quo에 있는 데이터베이스 파일 삭제

    - /etc/fstab에 적은 것 삭제

 

언마운트 진행

    - 언마운트 후, fdisk를 통해 파티션 삭제

 

 

   그룹별 디스크 사용량 제한   

 

그룹 생성후, 그룹에 넣을 사용자계정 2개 생성

 

파티션 생성후, /grquo에 마운트

 

/etc/fstab 설정

 

remount 후 잘 적용되었는지 확인

 

데이터베이스 파일인 aquota.group 파일 생성

 

그룹에 쿼터설정 적용

    - 그룹은 유저와 다르게 g옵션을 사용한다

 

그룹에 대한 사용량 지정

 

그룹의 유예기간 설정

    - 그룹의 쿼터 유예기간 설정은 T옵션을 사용해야 한다

 

유예기간 설정

 

soft 할당량을 넘어가니 경고 알람이 나온다

 

유예기간 나오는 것 확인

 

하드 설정용량인 30mb를 넘으니 할당량 초과로 오류가 발생

 

quota 상태 확인

 

 

   패키지 관리   

 

   계열사별 패키지   

 - Redhat :

    - 패키지 파일명 : rpm(redhat package manager)

    - 명령어 : # yum

 - Debian

    - 패키지 파일명 : deb

    - 명령어 : # apt

 - SUSE

    - 패키지 파일명 : rpm

    - 명령어 : zypper

 

   yum   

 - 인터넷 상의 저장소(Repository)를 이용해서 패키지 관리
 - 주로 배포판 개발 회사들이 관리
 - 장점
    - 설치가 아주 쉽다
    - 의존성 문제까지 해결해 준다

 - 단점
    - 반드시 인터넷과 DNS가 정상적으로 동작해야만 한다
    - 최신버전이 아닌 안정화된 버전
    - custermizing이 불가능(설치 위치나 모듈 선택 불가)
    - 업그레이드 시 설정파일이나 데이터 파일 백업 불필요

 

yum의 진행 방법

    - yum은 기본 적으로 yum install -y 패키지로 진행하게 된다

    - y를 하게되면 설치까지 진행하는 것이고, d를 하게되면 패키지 다운로드만 진행되는 것

 

다운된 파일들이 저장되는 곳

    - createrepo는 base에 저장

 

yum으로 설치를 진행하였을 때는 의존성 문제를 알아서 해결해 준다

 

설치 완료된 것 확인

    - yum remove -y 패키지 이름 : yum으로 설치된 패키지 삭제 방법

 

   rpm   

 - Binary 설치보다는 쉽다
 - 허나 의존성 문제에서 자유롭지 못하다
 - source를 이용해서 rpm 파일을 만들 수 있다
 - custermizing 불가능(설치 위치나 모듈 선택 불가)
 - 업그레이드가 쉽다. 설정파일이나 데이터 파일 백업 불필요

 

rpm 연습을 편하게 하기 위해 한 곳으로 모은다

 

rpm으로 createrepo 설치를 진행하려 하는 의존성 문제가 생긴다

    - i도 가능하지만, U(Update)를 사용하면 설치안되있으면 설치도 진행해주며,

       업데이트도 해주므로 보통은 U를 많이 사용한다

    - v (verbose) : 설치 시 상세 내용을 함께 출력한다
    - h (hash marks) : 설치 시 progress 를 # 으로 표시한다

        - v와 h는 필수옵션은 아니지만, 같이 쓰는게 아무래도 좋아보인다

 

    - createrepo를 설치하기 위해서는 의존성 문제를 해결해야 한다

    - 즉, 나온 것을 먼저 설치해야 진행이 가능한 것

 

설치 과정 정리

 

설치 완료된 것 확인

 

패키지 파일에 대한 내용 확인하는 명령어

 

패키지 파일 관련 디렉터리 확인하는 명령어

 

rpm으로 설치한 패키지 파일 지우기

    - rpm -e 패키지 이름 : rpm으로 설치된 패키지 삭제 방법

    - rpm 삭제 할때는 의존성이 있으면 삭제가 안되므로, 먼저 뜨는 것부터 차례대로 삭제하면 된다

 

   binary(source)   
 - 설치가 가장 까다롭다
 - 의존성 문제가 상당히 많다
 - custermizing이 가능하기 때문에 많이 사용

 - 최신 버전 설치가 가능하다
 - 업그레이드시 설정 파일과 데이터 파일 백업 후 패키지 업그레이드,
   그리고 백업한 설정 파일과 데이터 파일을 다시 copy해서 사용함.