Linux / 명령어 / dpkg - 로컬 DEB 패키지 설치와 설치 정보 조회

dpkg는 Debian 계열의 로컬 .deb 패키지와 설치된 패키지 데이터베이스를 다룹니다. 저장소에서 의존성을 찾아 내려받는 상위 도구는 apt입니다.

dpkg 명령어란?

dpkg -i는 로컬 DEB 파일을 설치하지만 필요한 의존 패키지를 저장소에서 자동으로 받아 해결하지는 않습니다. 설치된 패키지 상태는 dpkg -s, 파일 목록은 dpkg -L로 확인할 수 있습니다. 로컬 파일을 의존성과 함께 설치해야 한다면 배포판의 apt install ./파일.deb 사용을 우선 검토하세요.

기본 문법

dpkg [옵션] 동작 [패키지 또는 파일]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man dpkg으로 현재 시스템의 설명을 확인하세요.

사용 예제

설치 상태 조회

설치 여부, 버전과 설명을 확인합니다.

dpkg -s bash

패키지 소속 파일 확인

설치된 패키지가 제공한 파일 목록을 봅니다.

dpkg -L bash

로컬 DEB 설치

파일의 출처와 버전·의존성을 확인하고 설치합니다.

sudo dpkg -i ./example.deb

설치 상태와 저장소 관리 구별하기

dpkg -s는 로컬 패키지 데이터베이스에 기록된 상태를 보여줍니다. 다음은 bash가 설치된 Debian 계열 시스템의 예시입니다.

dpkg -s bash

출력 형식의 일부:

Package: bash
Status: install ok installed
Version: ...

install ok installed는 설치 상태가 정상이라는 뜻입니다. dpkg -i 파일.deb는 로컬 DEB 파일을 설치하지만 의존성을 저장소에서 자동으로 해결하는 용도는 아닙니다. 의존성 문제가 생기면 무작정 파일을 다시 설치하기보다 apt의 복구·의존성 해결 절차를 확인하세요.

주요 옵션과 형식

옵션·형식 설명
-i 파일.deb 로컬 DEB 패키지를 설치합니다.
-s 패키지 설치된 패키지 상태를 표시합니다.
-L 패키지 해당 패키지가 설치한 파일 목록을 표시합니다.
-S 경로 경로를 소유한 패키지를 찾습니다.
-r / -P 패키지 패키지를 제거하거나 설정 파일까지 제거합니다.

사용할 때 주의할 점

신뢰할 수 없는 DEB 파일은 설치하지 마세요. 패키지 설치 스크립트가 관리자 권한으로 실행될 수 있습니다. dpkg -i가 의존성 오류를 내면 무작정 강제 옵션을 쓰지 말고 패키지 출처와 필요한 의존성을 확인하세요. -P는 설정 파일까지 제거하므로 복구가 필요한 경우 백업하세요.

자주 묻는 질문

dpkg -i와 apt install ./file.deb의 차이는 무엇인가요?

dpkg는 로컬 파일을 직접 처리하며 저장소 의존성을 자동으로 내려받지 않습니다. apt는 가능한 경우 저장소에서 의존성을 해결합니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 dpkg 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / ls - 파일과 디렉터리 목록 확인

Linux / 명령어 / ls - 파일과 디렉터리 목록 확인

Linux ls 명령어로 파일과 디렉터리 목록, 숨김 파일, 권한과 소유자, 크기 및 수정 시간을 확인하는 방법을 설명합니다. 자주 쓰는 옵션 조합과 정렬 방법, 스크립트에서 ls 출력을 안전하게 다루는 기준도 정리합니다.

Linux 강좌 / 현재 위치 확인하고 이동하기 - pwd, ls, cd, tree

Linux 강좌 / 현재 위치 확인하고 이동하기 - pwd, ls, cd, tree

pwd, ls, cd, tree를 연결해 현재 위치를 확인하고 디렉터리를 탐색합니다. 절대·상대 경로의 차이와 안전하게 돌아오는 방법도 실습합니다.

Linux / 명령어 / nice - 새 명령의 CPU 우선순위 조정

Linux / 명령어 / nice - 새 명령의 CPU 우선순위 조정

Linux nice 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / nohup - 로그아웃 후에도 명령 계속 실행

Linux / 명령어 / nohup - 로그아웃 후에도 명령 계속 실행

Linux nohup 명령어로 로그아웃 후에도 작업을 계속 실행하는 방법을 설명합니다. 백그라운드 실행, 입출력 리디렉션, PID 확인과 종료, 로그 관리 및 systemd·tmux와의 차이를 정리합니다.

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux rpm 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / ping - 호스트 응답과 왕복 시간 확인

Linux / 명령어 / ping - 호스트 응답과 왕복 시간 확인

Linux ping 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

Linux unzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux tail 명령어로 파일의 마지막 행과 바이트를 확인하고 새로 추가되는 로그를 추적하는 방법을 설명합니다. -n, -f, -F 차이와 로그 로테이션, 필터링 및 여러 파일 모니터링 예제를 정리합니다.

Linux / 명령어 / reboot - 시스템 안전하게 재시작

Linux / 명령어 / reboot - 시스템 안전하게 재시작

Linux reboot 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / modinfo - 커널 모듈의 설명과 매개변수 확인

Linux / 명령어 / modinfo - 커널 모듈의 설명과 매개변수 확인

Linux modinfo 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.