적절한 공통 명령
저장소 업데이트
| 명령 | 설명 |
|---|---|
sudo apt update | 패키지 색인 업데이트 |
sudo apt upgrade | 설치된 모든 패키지 업그레이드 |
sudo apt full-upgrade | 패키지를 업그레이드하고 종속성 변경 사항을 자동으로 처리합니다. |
sudo apt dist-upgrade | 전체 업그레이드와 동일 |
설치 및 제거
| 명령 | 설명 |
|---|---|
sudo apt install package-name | 패키지 설치 |
sudo apt install package-name=version | 특정 버전 설치 |
sudo apt install ./package.deb | 로컬 .deb 파일 설치 |
sudo apt reinstall package-name | 패키지 다시 설치 |
sudo apt remove package-name | 패키지 제거(구성 유지) |
sudo apt purge package-name | 패키지 제거 및 구성 파일 삭제 |
sudo apt autoremove | 더 이상 필요하지 않은 종속성을 제거합니다. |
검색 및 쿼리
| 명령 | 설명 |
|---|---|
apt search keyword | 패키지 검색 |
apt show package-name | 패키지 세부정보 표시 |
apt list --installed | 설치된 패키지 나열 |
apt list --upgradable | 업그레이드 가능한 패키지 나열 |
apt depends package-name | 종속성 표시 |
apt rdepends package-name | 역방향 종속성 표시 |
dpkg -L package-name | 패키지에 의해 설치된 모든 파일 나열 |
dpkg -S /path/to/file | 파일을 소유한 패키지 찾기 |
캐시 정리
| 명령 | 설명 |
|---|---|
sudo apt clean | 다운로드한 캐시 모두 지우기 |
sudo apt autoclean | 오래된 캐시만 지우기 |
sudo apt autoremove --purge | 종속성 제거 및 구성 제거 |
버전 고정
| 명령 | 설명 |
|---|---|
sudo apt-mark hold package-name | 패키지 버전 유지(업그레이드 방지) |
sudo apt-mark unhold package-name | 패키지 보류 해제 |
apt-mark showhold | 보류된 패키지 표시 |
수리하다
| 명령 | 설명 |
|---|---|
sudo apt --fix-broken install | 종속성 수정 |
sudo dpkg --configure -a | 중단된 패키지 재구성 |
저장소 관리
| 명령 | 설명 |
|---|---|
sudo add-apt-repository ppa:xxx/yyy | PPA 추가 |
sudo add-apt-repository --remove ppa:xxx/yyy | PPA 제거 |
cat /etc/apt/sources.list.d/ubuntu.sources | 구성된 소스 보기 |
grep -rh "^deb " /etc/apt/sources.list.d/ | 모든 소스 나열 |
타사 저장소 서명(apt-key 제거됨)
APT 3.1은 apt-key을 완전히 제거했으며 전역 키 링은 더 이상 신뢰할 수 없습니다. 타사 저장소를 추가할 때 키를 /etc/apt/keyrings/에 별도로 저장하고 소스 항목에서 Signed-By를 사용하여 명시적으로 가리킵니다.
# 1. Download the key and convert it to a binary keyring (de-armored)
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://example.com/repo.gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/example.gpg
sudo chmod 0644 /etc/apt/keyrings/example.gpg.sources과 키를 바인딩하는 deb822 형식(Signed-By 파일)을 선호합니다.
# /etc/apt/sources.list.d/example.sources
Types: deb
URIs: https://example.com/apt
Suites: noble
Components: main
Signed-By: /etc/apt/keyrings/example.gpg레거시 한 줄 형식(.list 파일)의 경우 signed-by= 옵션을 사용합니다.
# /etc/apt/sources.list.d/example.list
deb [arch=amd64 signed-by=/etc/apt/keyrings/example.gpg] https://example.com/apt noble mainTip
각 저장소에 자체 저장소만 서명하는 자체 키링을 제공하면 하나의 타사 키가 공식 패키지를 위조하는 데 사용되는 것을 방지할 수 있습니다. 이는 기존 글로벌 apt-key보다 훨씬 안전합니다.
시뮬레이션 및 다운로드
| 명령 | 설명 |
|---|---|
apt install -s package-name | 설치 시뮬레이션(모의 실행) |
apt download package-name | 설치하지 않고 다운로드 |
유용한 팁
| 명령 | 설명 |
|---|---|
apt changelog package-name | 패키지 변경 로그 보기 |
apt policy package-name | 패키지를 제공하는 저장소 표시 |
grep ^Package /var/lib/apt/lists/repo-name*_Packages | sort -u | 특정 저장소의 모든 패키지 나열 |