목차

Linux apt (Advanced Packaging Tool) 및 Debian 계열 패키지 관리

설치

sudo apt install <packagename>
 
sudo apt install <packagename>=<version>
# apt-mark hold 로 버전 고정

검색

apt-cache search keyword

apt-file / package 소유 파일 목록

sudo apt-file update
 
apt-file list <package-name>
dpkg -L <package-name>
 
# *.deb 파일의 컨텐츠 보여주기
dpkg -c <package-file.deb>

cache clean

# 캐시 삭제
sudo apt clean --dry-run # 일단 확인만
sudo apt clean
 
 
# 새 버전이 존재하는 패키지는 cache에서 지운다.
sudo apt autoclean --dry-run # 일단 확인만
sudo apt autoclean

fix-broken

sudo apt-get --fix-broken install

특정 패키지의 의존성 목록

특정 패키지의 저장소 정보

apt-cache policy [package-name]

설치된 패키지 목록

apt list --installed

Upgrade 가능 목록

apt list --upgradable

unauthorized

sudo apt-get update --allow-unauthenticated

apt-mark

# 현재 설치 버전으로 고정
sudo apt-mark hold jenkins
 
# 고정 풀기
sudo apt-mark unhold jenkins
 
# 고정 목록
sudo apt-mark showhold
# dpkg
echo "<package-name> hold" | sudo dpkg --set-selections # hold
echo "<package-name> install" | sudo dpkg --set-selections # unhold
dpkg --get-selections # 상태 조회
dpkg --get-selections <package-name> # 특정 패키지 상태조회
dpkg --get-selections | grep "\<hold$" # hold 목록
 
# aptitude
sudo aptitude hold <package-name>
sudo aptitude unhold <package-name>

Aptik

Pinning

apt-key

man apt-key 8
wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key add -
wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc

CheatSheet

Repository

가장 빠른 미러 찾기

다음 패키지를 과거 버전으로 유지합니다:

신규 패키지와 함께 업그레이드

sudo apt-get --with-new-pkgs upgrade

명시적 install

sudo apt install package1 package2 ...
 
다음의 추가 패키지가 설치될 것입니다 :
  <어쩌구 저쩌구>
다음 패키지를 지울 것입니다:
  <어쩌구 저쩌구>
계속 하시겠습니까? [Y/n] <-- 선택하면 됨.

강제 업그레이드

sudo apt dist-upgrade

참조