콘텐츠로 이동

APT 패키지 관리자

명령어설명
sudo apt update패키지 인덱스 업데이트
sudo apt upgrade모든 패키지 업그레이드
sudo apt full-upgrade종속성 해결을 통한 업그레이드
sudo apt install package_name패키지 설치
sudo apt remove package_name패키지 제거
sudo apt purge package_name패키지 및 구성 파일 제거
sudo apt autoremove사용하지 않는 종속성 제거
명령어설명
sudo apt install package1 package2여러 패키지 설치하기
sudo apt install package=version특정 버전 설치
sudo apt install ./package.deb로컬 .deb 파일 설치
sudo apt reinstall package_name패키지 재설치
sudo apt install --no-install-recommends package권장 패키지 없이 설치
명령어설명
apt search keyword패키지 검색
apt show package_name패키지 정보 표시
apt list --installed설치된 패키지 목록
apt list --upgradable업그레이드 가능한 패키지 목록
apt list package_name패키지를 사용할 수 있는지 확인하세요
dpkg -l설치된 모든 패키지 나열하기
`dpkg -lgrep package`
명령어설명
apt depends package_name패키지 종속성 표시
apt rdepends package_name역방향 종속성 표시
apt-cache policy package_name패키지 정책 표시
명령어설명
sudo add-apt-repository ppa:user/repoPPA 저장소 추가
sudo add-apt-repository --remove ppa:user/repoPPA 저장소 제거
sudo apt edit-sources소스 목록 편집
ls /etc/apt/sources.list.d/추가 저장소 나열하기
명령어설명
sudo apt-key listGPG 키 목록
`wget -qO - https://example.com/key.gpg \sudo apt-key add -`
sudo apt-key del KEYIDGPG 키 제거
명령어설명
sudo apt autoclean패키지 캐시 정리
sudo apt clean모든 캐시된 패키지 제거
sudo apt autoremove --purge사용하지 않는 패키지와 구성 제거
sudo apt-get check끊어진 의존성 확인
명령어설명
sudo apt --fix-broken install깨진 의존성 수정
sudo dpkg --configure -a구성되지 않은 패키지 구성하기
sudo apt-get -f install종속성을 해결하기 위해 강제 설치
파일설명
/etc/apt/sources.list메인 저장소 목록
/etc/apt/sources.list.d/추가 저장소 파일
/etc/apt/apt.confAPT 구성
/etc/apt/preferences패키지 고정
# Ubuntu 22.04 LTS (Jammy Jellyfish)
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ jammy universe
deb http://archive.ubuntu.com/ubuntu/ jammy-updates universe
deb http://archive.ubuntu.com/ubuntu/ jammy multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted
deb http://security.ubuntu.com/ubuntu/ jammy-security universe
deb http://security.ubuntu.com/ubuntu/ jammy-security multiverse
```### GPG 키
```bash
# /etc/apt/preferences.d/package-pin
Package: package_name
Pin: version 1.2.3*
Pin-Priority: 1001
```## 시스템 유지 관리
```bash
# /etc/apt/preferences.d/repo-pin
Package: *
Pin: release o=Ubuntu,a=jammy-backports
Pin-Priority: 100
```### 정리 작업

| 명령어 | 설명 |
|---------|-------------|
| `apt list --upgradable -a` | 사용 가능한 모든 버전 표시 |
| `sudo apt upgrade --dry-run` | 시뮬레이션 업그레이드 |
| `sudo apt install package --dry-run` | 설치 시뮬레이션 |### 손상된 패키지 수정

| 명령어 | 설명 |
|---------|-------------|
| `cat /var/log/apt/history.log` | 설치 기록 보기 |
| `cat /var/log/apt/term.log` | 자세한 로그 보기 |
| `grep " install " /var/log/dpkg.log` | dpkg 설치 로그 보기 |## 구성 파일

| 문제 | 솔루션 |
|---------|----------|
| Package conflicts | `sudo apt --fix-broken install` |
| Locked database | `sudo rm /var/lib/dpkg/lock*` |
| Corrupted cache | `sudo apt clean && sudo apt update` |
| Unmet dependencies | `sudo apt -f install` |### APT 구성

| 명령어 | 설명 |
|---------|-------------|
| `sudo dpkg --force-depends --remove package` | 강제로 문제가 있는 패키지 제거 |
| `sudo apt-get download package` | 패키지 설치 없이 다운로드하기 |
| `sudo dpkg -i --force-depends package.deb` | .deb 파일 강제 설치 |### 예시 sources.list
`sudo apt update && sudo apt upgrade`## 패키지 고정