Linux 학습 가이드
Linux 학습 가이드¶
소개¶
이 폴더는 Linux 운영체제의 기초부터 서버 관리까지 체계적으로 학습할 수 있는 자료를 담고 있습니다.
- 대상 독자: 리눅스 입문자 ~ 서버 관리자
- 배포판: Ubuntu/Debian 및 CentOS/RHEL 모두 안내
- 목표: 명령어 사용부터 서버 운영까지
학습 로드맵¶
[초급] [중급] [고급]
│ │ │
▼ ▼ ▼
리눅스 기초 ──────▶ 텍스트 처리 ──────▶ 쉘 스크립팅
│ │ │
▼ ▼ ▼
파일시스템 ──────▶ 권한/소유권 ─────▶ 네트워크 기초
│ │ │
▼ ▼ ▼
파일 관리 ───────▶ 사용자 관리 ─────▶ 시스템 모니터링
│ │
▼ ▼
프로세스 관리 ────▶ 보안과 방화벽
│
▼
패키지 관리
선수 지식¶
- 기본적인 컴퓨터 사용 능력
- 터미널/명령 프롬프트 개념 이해
- 영어 명령어 읽기 (필수 아님)
파일 목록¶
| 파일명 | 난이도 | 주요 내용 |
|---|---|---|
| 01_Linux_Basics.md | ⭐ | 리눅스 개념, 배포판, 터미널, 기본 명령어 |
| 02_Filesystem_Navigation.md | ⭐ | 디렉토리 구조, 경로, ls, cd, find |
| 03_File_Directory_Management.md | ⭐ | touch, mkdir, cp, mv, rm, tar |
| 04_Text_Processing.md | ⭐⭐ | grep, sed, awk, 파이프, 리다이렉션 |
| 05_Permissions_Ownership.md | ⭐⭐ | chmod, chown, 특수 권한, umask |
| 06_User_Group_Management.md | ⭐⭐ | useradd, sudo, 사용자/그룹 관리 |
| 07_Process_Management.md | ⭐⭐ | ps, top, kill, systemctl |
| 08_Package_Management.md | ⭐⭐ | apt, yum/dnf, 저장소 관리 |
| 09_Shell_Scripting.md | ⭐⭐⭐ | 변수, 조건문, 반복문, 실무 스크립트 |
| 10_Network_Basics.md | ⭐⭐⭐ | ip, ssh, 포트 확인, 원격 접속 |
| 11_System_Monitoring.md | ⭐⭐⭐ | df, free, 로그, cron |
| 12_Security_and_Firewall.md | ⭐⭐⭐⭐ | SSH 보안, ufw, firewalld, fail2ban |
| 13_Systemd_Advanced.md | ⭐⭐⭐⭐ | 서비스 유닛, 타이머, 소켓, journald |
| 14_Performance_Tuning.md | ⭐⭐⭐⭐ | sysctl, 커널 파라미터, perf, flamegraph |
| 15_Container_Internals.md | ⭐⭐⭐⭐ | cgroups, namespaces, 컨테이너 런타임 |
| 16_Storage_Management.md | ⭐⭐⭐⭐ | LVM, RAID, 파일시스템, LUKS 암호화 |
| 17_SELinux_AppArmor.md | ⭐⭐⭐⭐ | SELinux 정책, AppArmor 프로파일, 트러블슈팅 |
| 18_Log_Management.md | ⭐⭐⭐ | journald, rsyslog, logrotate, 원격 로그 |
| 19_Backup_Recovery.md | ⭐⭐⭐⭐ | rsync, Borg Backup, 재해복구 전략 |
| 20_Kernel_Management.md | ⭐⭐⭐⭐ | 커널 컴파일, 모듈, DKMS, GRUB |
| 21_Virtualization_KVM.md | ⭐⭐⭐⭐ | libvirt, virsh, VM 관리, 스냅샷 |
| 22_Ansible_Basics.md | ⭐⭐⭐ | 인벤토리, playbook, roles, Vault |
| 23_Advanced_Networking.md | ⭐⭐⭐⭐ | VLAN, bonding, iptables/nftables |
| 24_Cloud_Integration.md | ⭐⭐⭐ | cloud-init, AWS CLI, 메타데이터 |
| 25_High_Availability_Cluster.md | ⭐⭐⭐⭐⭐ | Pacemaker, Corosync, DRBD |
| 26_Troubleshooting_Guide.md | ⭐⭐⭐ | 부팅, 네트워크, 디스크, 성능 문제 해결 |
추천 학습 순서¶
1단계: 리눅스 입문 (초급)¶
01_Linux_Basics → 02_Filesystem_Navigation → 03_File_Directory_Management
터미널 사용법과 기본 명령어를 익힙니다.
2단계: 실무 활용 (중급)¶
04_Text_Processing → 05_Permissions_Ownership → 06_User_Group_Management
→ 07_Process_Management → 08_Package_Management
파일 처리, 권한 관리, 시스템 운영 기초를 배웁니다.
3단계: 서버 관리자 (고급)¶
09_Shell_Scripting → 10_Network_Basics → 11_System_Monitoring → 12_Security_and_Firewall
자동화, 네트워크, 모니터링, 보안까지 서버 관리 전반을 다룹니다.
4단계: 시스템 심화 (전문가)¶
13_Systemd_Advanced → 14_Performance_Tuning → 15_Container_Internals → 16_Storage_Management
systemd, 성능 최적화, 컨테이너 원리, 스토리지 관리를 학습합니다.
5단계: 엔터프라이즈 운영 (전문가)¶
17_SELinux_AppArmor → 18_Log_Management → 19_Backup_Recovery → 20_Kernel_Management
보안 모듈, 로그 관리, 백업 전략, 커널 관리를 다룹니다.
6단계: 인프라 엔지니어링 (전문가)¶
21_Virtualization_KVM → 22_Ansible_Basics → 23_Advanced_Networking → 24_Cloud_Integration
→ 25_High_Availability_Cluster → 26_Troubleshooting_Guide
가상화, 자동화, 고급 네트워킹, 클라우드, HA, 트러블슈팅을 마스터합니다.
실습 환경¶
Ubuntu (권장)¶
# Docker로 빠르게 시작
docker run -it ubuntu:22.04 bash
# 또는 VM/WSL 사용
# - VirtualBox + Ubuntu ISO
# - Windows WSL2
CentOS/RHEL¶
# Docker로 시작
docker run -it rockylinux:9 bash
# 또는 VM 사용
# - VirtualBox + Rocky Linux ISO
클라우드 (실습용)¶
- AWS EC2 Free Tier
- Google Cloud Free Tier
- DigitalOcean (유료)
배포판 비교¶
| 항목 | Ubuntu/Debian | CentOS/RHEL |
|---|---|---|
| 패키지 관리 | APT (apt) |
YUM/DNF (dnf) |
| 패키지 형식 | .deb | .rpm |
| 방화벽 | UFW | firewalld |
| 보안 모듈 | AppArmor | SELinux |
| 서비스 관리 | systemctl | systemctl |
| 주요 용도 | 데스크톱, 서버 | 엔터프라이즈 서버 |
관련 자료¶
- Docker/ - 컨테이너 환경에서 Linux 활용
- Git/ - Linux에서 버전 관리
- PostgreSQL/ - Linux 서버에서 DB 운영