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는 "실제로 업데이트 적용"입니다. 항상update→upgrade순서로 실행해야 최신 버전으로 업그레이드됩니다.
새 애플리케이션 설치
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만 사용하면 메인 패키지만 제거됩니다. 더 이상 필요하지 않은 잔여 의존성은 시스템에 남아 있습니다.