Aller au contenu principal

49. Manage Software with the Package Manager


패키지 데이터베이스 업데이트

소프트웨어 설치 또는 업그레이드 전에 로컬 패키지 데이터베이스를 갱신합니다:

sudo apt update

이 명령은 공식 저장소에서 최신 패키지 정보를 다운로드합니다.

설치된 패키지 업그레이드

업데이트 후 설치된 패키지를 업그레이드합니다:

sudo apt upgrade

두 명령어를 함께 실행:

sudo apt update && sudo apt upgrade
apt update vs apt upgrade 차이점
명령어역할
apt update패키지 목록(인덱스) 을 최신화 — 실제로 아무것도 설치/변경하지 않음
apt upgrade이미 설치된 패키지를 최신 버전으로 실제 업그레이드

apt update는 "어떤 버전이 있는지 확인"이고, apt upgrade는 "실제로 업데이트 적용"입니다. 항상 updateupgrade 순서로 실행해야 최신 버전으로 업그레이드됩니다.

새 애플리케이션 설치

Nginx 설치 예시:

sudo apt install nginx

업데이트와 설치를 함께:

sudo apt update && sudo apt install nginx

설치 중 필요한 의존성과 라이브러리가 자동으로 설치됩니다.

패키지 이해

패키지는 "바이너리, 설정 파일, 문서를 포함하여 소프트웨어에 필요한 모든 것을 담고 있는 아카이브"입니다.

패키지가 제공하는 파일 목록:

dpkg --listfiles <패키지명>
dpkg --listfiles 란?

특정 패키지가 시스템에 설치한 모든 파일 경로를 나열합니다.

dpkg --listfiles nginx

출력 예시:

/etc/nginx
/etc/nginx/nginx.conf
/usr/sbin/nginx
/usr/share/doc/nginx
/usr/share/man/man8/nginx.8.gz
  • dpkg --search → 파일 → 패키지 (역방향)
  • dpkg --listfiles → 패키지 → 파일 목록 (정방향)

특정 파일을 제공하는 패키지 찾기:

dpkg --search /usr/sbin/nginx
dpkg --search 란?

시스템에 이미 설치된 패키지 중에서, 특정 파일이 어느 패키지에 속하는지 역추적하는 명령어입니다.

dpkg --search <파일 경로>

예시:

dpkg --search /usr/sbin/nginx
# 출력: nginx: /usr/sbin/nginx

dpkg --search /bin/ls
# 출력: coreutils: /bin/ls
  • apt search → 저장소에서 설치 가능한 패키지 검색
  • dpkg --search → 로컬에 설치된 파일의 출처 패키지 역추적

상세 패키지 정보 확인:

apt show libnginx-mod-stream

패키지 검색

원하는 패키지를 키워드로 검색:

apt search "find_what_you_want"

예시 — Apache HTTP 서버 찾기:

apt search "apache http server"
# 또는 짧게
apt search apache2

이름만 검색 (설명 제외):

apt search --names-only apache2

여러 키워드로 검색:

apt search nginx-module-image
검색 결과 예시 (apt search apache2)
apache2/jammy-updates 2.4.52-1ubuntu4.10 amd64
Apache HTTP Server

apache2-bin/jammy-updates 2.4.52-1ubuntu4.10 amd64
Apache HTTP Server (modules and other binary files)

apache2-dev/jammy-updates 2.4.52-1ubuntu4.10 amd64
Apache HTTP Server (development headers)

패키지명 / 저장소 / 버전 / 아키텍처 / 설명 순으로 표시됩니다.

패키지 제거

패키지 제거:

sudo apt remove nginx

패키지와 사용되지 않는 의존성 함께 제거:

sudo apt autoremove nginx
apt remove만 사용하면 메인 패키지만 제거됩니다. 더 이상 필요하지 않은 잔여 의존성은 시스템에 남아 있습니다.