Package
1️⃣ 패키지 관리자 아키텍처
1.1 Debian 계열: dpkg와 apt
    
┌──────────────────────┐
│   User/Application   │
└─────────┬────────────┘
          │ 요청: 설치/업데이트
┌─────────▼────────────┐
│         APT          │  <-- 패키지 의존성 해결, 원격 repo 통신
└─────────┬────────────┘
          │ 의존성 해결, .deb 선택
┌─────────▼────────────┐
│        DPKG          │  <-- 실제 패키지 설치/삭제
└─────────┬────────────┘
          │ 파일 시스템 반영
┌─────────▼────────────┐
│    /usr /etc /var     │
└──────────────────────┘- 
dpkg: 로컬.deb파일 설치/삭제/정보 조회sudo dpkg -i package.deb dpkg -l | grep package
- 
apt: 원격 저장소(repo) 기반 설치/업데이트, 의존성 자동 처리sudo apt update sudo apt install nginx sudo apt upgrade
1.2 RHEL 계열: rpm과 yum/dnf
    
┌──────────────────────┐
│   User/Application   │
└─────────┬────────────┘
          │ 요청: 설치/업데이트
┌─────────▼────────────┐
│      YUM / DNF       │  <-- 의존성 해결, repo 관리
└─────────┬────────────┘
          │ 의존성 해결, .rpm 선택
┌─────────▼────────────┐
│        RPM           │  <-- 실제 패키지 설치/삭제
└─────────┬────────────┘
          │ 파일 시스템 반영
┌─────────▼────────────┐
│    /usr /etc /var     │
└──────────────────────┘- 
rpm: 로컬.rpm설치/삭제/정보 조회sudo rpm -i package.rpm rpm -qa | grep package
- 
yum/dnf: 원격 저장소 기반 설치/업데이트, 의존성 자동 처리sudo dnf install httpd sudo dnf update sudo dnf upgrade
2️⃣ GPG 키 & Repository 등록
- 실무 중요: 신뢰할 수 없는 repo 설치는 보안 문제 발생 가능
- Ubuntu/Debian 예시:
# 1. GPG 키 추가
curl -fsSL https://packages.example.com/gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/example.gpg
# 2. Repo 등록
echo "deb [arch=amd64] https://packages.example.com/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/example.list
# 3. 패키지 목록 업데이트
sudo apt update🔑 Tip: 항상 HTTPS 기반 repo 사용, GPG 검증 후 설치
3️⃣ Backport & EOL 패키지 관리
- 
Backport: 새로운 패키지를 안정적인 배포판에 맞춰 제공 - 
Ubuntu: jammy-backports
- 
설치 예: sudo apt install -t jammy-backports nginx
 
- 
- 
EOL 패키지: 공식 repo에서 제거된 패키지 - 실무에서는 PPA 또는 사내 미러 활용
 
4️⃣ Ubuntu 22.04 실습 시나리오
목표: nginx 설치 + 특정 버전 설치 + repo 관리 + backport 활용
- 패키지 설치/정보 확인
sudo apt update
sudo apt install nginx
dpkg -l | grep nginx- 특정 버전 설치
apt list -a nginx
sudo apt install nginx=1.22.0-1ubuntu1- 백포트 패키지 설치
sudo apt install -t jammy-backports nginx- 새로운 repo 등록 후 패키지 설치
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/nginx.gpg
echo "deb https://nginx.org/packages/ubuntu/ jammy nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt install nginx- 패키지 삭제 및 청소
sudo apt remove nginx
sudo apt autoremove
sudo apt clean5️⃣ 실무에서 자주 쓰는 개념
| 개념 | 실무 포인트 | 
|---|---|
| Repository 관리 | 사내 mirror, 외부 repo 사용 시 GPG 검증 필수 | 
| Backport | 안정 배포판에서 최신 기능 사용 | 
| EOL 패키지 | 보안 패치 적용 어려움 → Docker / PPA 활용 | 
| dpkg vs apt | dpkg → 로컬 패키지, apt → 원격 설치 및 의존성 해결 | 
| yum/dnf vs rpm | rpm → 로컬 패키지, yum/dnf → 원격 repo 기반 설치 | 
마지막 수정일자