Tips

apt vs apt-get vs apt-cache차이, remove vs purge vs auto-remove 차이

Hyunie 2023. 1. 30. 11:56
728x90
반응형

apt란?

나는 VM 운영체제로 주로 우분투를 사용하는데, ubuntu에서는 패키지를 관리할 때 apt를 사용한다.

apt는 advanced package tool의 줄임말로, 데비안 계열의 운영체제들의 패키징 시스템 관리 도구다.

CICD파이프라인을 짜다보면 패키지 업데이트나 삭제를 해야할 일들이 많은데, 이 때 사용되는 명령어들의 차이가 궁금해져 한 번에 정리해보려고 한다.

 

1. apt vs apt-get vs apt-cache

apt-get패키지를 설치, 업데이트, 제거하는데 사용하며, apt-cache새 패키지를 검색하는데 사용한다.

 이 외에도 dpkg라고 시스템에 이미 설치되어있는 패키지를 조회하는 명령어가 있는데, 이 세 개에서 각각 자주 사용되는 명령어들을 합쳐서 최종 사용자들이 한 번에 편리하게 사용할 수 있도록 하는 것이 apt 명령어이다.

 

즉, APT 패키지 관리자가 있고, 모두 이 APT 패키지 관리자와 호환하는 명령어들인데 apt-get, apt-cache는 각각 사용 용도가 다르고, 이 둘을 일부씩 담고 있는 것이 apt 명령어라고 이해하면 된다.

 따라서 aptapt-get, aptapt-cache의 내부 동작 차이는 거의 없다고 보면 되지만 (무엇을 쓰는 것이 더 낫냐는 질문이 무의미하다), apt는 최종 사용자를 더 고려해 만들어졌기 때문에 설치 및 제거 진행 률, 설치 예정 패키지 목록 나열 등 사용자에게 필요한 정보들을 더 많이 보여주긴 한다. 또한 apt list(특정 기준을 만족하는 패키지 리스트 출력 (--upgradable/--installed/--all-versions)), apt edit-sources(source.list 편집 및 무결성 검사) 등 추가 기능을 제공한다.

 

2. remove vs purge vs auto-remove

위 명령어들은 삭제 명령어이므로 apt 또는 apt-get으로 사용할 수 있다.

  • remove : 명시한 패키지만 삭제한다 (환경설정 그대로).
  • purge : 명시한 패키지와 관련 구성파일(환경설정)을 삭제한다.
  • auto-remove: 예전에 다른 패키지의 종속성 때문에 설치된 패키지를 삭제한다.

 

auto-removeremovepurge의 옵션으로 줄 수 있다. 즉, apt remove nginx 로 삭제하면 nginx만 삭제되지만, apt remove nginx --auto-remove 옵션을 주면 nginx와 종속된 패키지까지 모두 삭제된다. 따라서 종속된 패키지가 다른 곳에서도 사용되고 있는지 확인해야하며, 사용 될 경우 apt-mark 옵션을 통해 목록에서 제외할 수 있다.

 

apt
apt-get/ apt-cache/ dkpg
Description
apt update apt-get update 소스 리스트 업데이트
apt install [package] apt-get install [package] 패키지 설치
apt upgrade apt-get upgrade 시스템에 설치된 전체 패키지 업그레이드 (종속성이 있는 경우, 새 패키지가 설치 되지만 기존 패키지를 제거하지는 않음)
apt full-upgrade apt-get dist-upgrade 시스템에 설치된 전체 패키지 업그레이드 (종속성이 있는 경우, 기존 패키지 제거하고 새 패키지 설치)
apt remove [package] apt-get remove[package] 패키지 제거 (사용자 구성파일은 제거하지 않음)
apt purge [package] apt-get purge [package] 패키지 제거 (사용자 구성파일 제거)
apt autoremove apt-get autoremove 종속성 때문에 설치되었다가 사용되지 않는 패키지 제거 (사용자가 수동으로(명시적으로) 설치한 패키지는 제거되지 않음)
apt search [package] apt-cache search [package] 정규식을 사용하여 패키지 검색 (이름 뿐 아니라 키워드로도 검색 가능 (e.g. 기능 등))
apt show [package] apt-cache show [package] 패키지 디테일 표시 (종속성, 크기, 저장소, 설명 등)
apt list --installed dpkg --list 설치된 패키지 리스트
728x90
반응형