1. 디스크 할당량(Quota) 설정
핵심 개념
- Soft Limit: 경고 지점 (초과 시 유예기간 동안 사용 가능)
- Hard Limit: 절대 한계선 (초과 시 즉시 쓰기 금지)
- Grace Period: Soft Limit 초과 시 주어지는 유예 기간
필수 명령어
# 쿼터 설정 (vi 편집기로)
edquota -u user2
# 명령어로 즉시 설정 (soft=500KB, hard=600KB)
setquota -u user2 500 600 0 0 /mp3
# 전체 쿼터 현황 보기
repquota -au
# 특정 사용자 쿼터 확인
quota -u user2
# 쿼터 테스트 (120MB 파일 생성 시도)
dd if=/dev/zero of=testfile bs=1M count=120
권한 문제 해결
# SELinux 임시 비활성화
setenforce 0
# 디렉토리 소유권 변경
chown user2:user2 /mp3
chmod 700 /mp3
2. 파일 압축 및 아카이브
tar 명령어 (필수!)
# 파일 묶기
tar cvf archive.tar file*
# gzip 압축까지 동시에 (가장 많이 씀!)
tar cvfz archive.tar.gz file*
# bzip2 압축 (압축률 높음)
tar cvfj archive.tar.bz2 file*
# 압축 풀기
tar xvfz archive.tar.gz -C /restore
주요 옵션
옵션 의미 설명
| c | Create | 새 아카이브 생성 |
| x | eXtract | 압축 풀기 |
| v | Verbose | 과정 출력 |
| f | File | 파일명 지정 (필수) |
| z | gZip | gzip 압축 |
| j | bZip2 | bzip2 압축 |
| -C | Change | 압축 해제 위치 |
압축 도구 비교
# gzip (빠름, 보통 압축률)
gzip file.tar
# bzip2 (느림, 높은 압축률)
bzip2 file.tar
# zip (호환성 좋음)
zip archive.zip files*
unzip -l archive.zip # 내용 확인
3. Apache 웹서버 소스 설치
# 1. 다운로드 및 압축 해제
wget https://dlcdn.apache.org/httpd/httpd-2.4.66.tar.bz2
tar xfj httpd-2.4.66.tar.bz2
cd httpd-2.4.66
# 2. 필수 패키지 설치
dnf install -y apr-devel apr-util-devel pcre-devel gcc make
# 3. 컴파일 및 설치
./configure --prefix=/usr/local/apache2
make
sudo make install
# 4. 서버 시작
cd /usr/local/apache2/bin
./apachectl start
# 5. 부팅 시 자동 시작 설정 (systemd)
systemctl enable httpd
4. 백업 전략
증분 백업 (변경된 것만 저장)
# 전체 백업
tar -czg backup/backup.snar -f backup_full.tar.gz /root/lab/origin/
# 증분 백업 (이후 변경분만)
tar -czg backup/backup.snar -f backup_incr_1.tar.gz /root/lab/origin/
# 복구
tar xzf backup_incr_2.tar.gz -C restore/
rsync 동기화 백업 (실무 필수!)
# 로컬 동기화
rsync -av origin/ restore/
# 원격 동기화 (SSH 키 사용)
rsync -avz -e "ssh -i ~/.ssh/key.pem" \
/local/path/ user@server:/remote/path/
# 삭제도 동기화
rsync -av --delete origin/ restore/
5. 방화벽 (firewalld)
핵심 명령어
# 방화벽 상태 확인
systemctl status firewalld
firewall-cmd --list-all
# 포트 개방 (즉시 적용)
firewall-cmd --add-port=8080/tcp
# 포트 영구 개방
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
# 서비스 추가
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 열린 포트 확인
firewall-cmd --list-ports
ss -nlpt | grep :80
Zone 개념
Zone 신뢰도 용도
| public | 낮음 (기본) | 허용한 포트만 열림 |
| trusted | 높음 | 모든 접속 허용 (위험) |
| drop | 없음 | 모든 요청 무시 |
6. SELinux (보안 필수 개념)
3가지 모드
# 상태 확인
getenforce
# 허용 모드 (로그만 남기고 차단 안 함)
setenforce 0
# 강제 모드 (규칙 위반 시 차단)
setenforce 1
핵심: 권한이 있어도 SELinux 정책에 어긋나면 차단됨!
7. 쉘 스크립트 기초
비교 연산자
연산자 의미 수학 기호
| -eq | 같다 | = |
| -ne | 같지 않다 | ≠ |
| -lt | 작다 | < |
| -le | 작거나 같다 | ≤ |
| -gt | 크다 | > |
| -ge | 크거나 같다 | ≥ |
실행 방법 차이
# 1. bash로 실행 (실행 권한 불필요)
bash script.sh
# 2. 직접 실행 (실행 권한 필요)
chmod +x script.sh
./script.sh
기본 구조
#!/bin/bash
# 파일 읽기
while read line
do
echo "$line"
done < input.txt
# 조건문
if [ $? -eq 0 ]; then
echo "성공"
else
echo "실패"
fi
8. 중요 디렉토리 구조
경로 용도
| /etc | 설정 파일 (가장 중요!) |
| /var | 로그, 웹 파일 등 변하는 데이터 |
| /home | 일반 사용자 홈 |
| /root | root 사용자 홈 |
| /usr | 설치된 프로그램 |
| /tmp | 임시 파일 |
자주 쓰는 옵션 정리
옵션 의미 용도
| -a | All | 숨김파일까지 전부 |
| -r | Recursive | 하위 폴더까지 |
| -f | Force | 강제 실행 |
| -i | Interactive | 확인하며 실행 |
| -h | Human-readable | 사람이 읽기 편하게 (KB, MB) |
| -v | Verbose | 상세 출력 |
핵심 요약
- 쿼터: setquota -u user soft hard 0 0 /path
- 압축: tar cvfz file.tar.gz files* (가장 많이 씀!)
- 백업: rsync -avz --delete source/ dest/ ---> source 폴더의 내용을 dest 폴더에 똑같이 복사하되, dest에만 있는 파일은 삭제해라
rsync -avz --delete source/ dest/
│ │││ │ │ │
│ │││ │ │ └─ 목적지
│ │││ │ └─────────── 원본
│ │││ └─────────────────── dest에만 있는 파일 삭제
│ ││└─────────────────────── 압축 전송 (네트워크용)
│ │└──────────────────────── 상세 출력
│ └───────────────────────── 모든 속성 보존
└────────────────────────────── 원격 동기화 도구
- 방화벽: firewall-cmd --permanent --add-port=8080/tcp
- SELinux: 막히면 setenforce 0으로 테스트
- 스크립트: 첫 줄에 #!/bin/bash 필수
'리눅스' 카테고리의 다른 글
| [Linux: 5주차 2차시] Linux 네트워크 서비스 학습 정리 (Samba & DHCP 실습 트러블슈팅) (0) | 2026.02.13 |
|---|---|
| [Linux] 맥북 VMware Fusion에서 Port Forwarding 설정 완벽 가이드 (0) | 2026.02.03 |
| [Linux: Docker] Docker 초보자를 위한 기초 명령어 및 실습 코드 - 클로드 이용 (0) | 2026.01.30 |
| [Linux] Linux 디스크 쿼터(Quota) 설정 실습 공부 기록 (0) | 2026.01.29 |
| [Linux] 디스크 쿼터 (0) | 2026.01.23 |