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 / 명령어 / lsmod - 로드된 커널 모듈 확인

Linux / 명령어 / lsmod - 로드된 커널 모듈 확인

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

Linux / 명령어 / bunzip2 - bzip2 압축 파일 풀기

Linux / 명령어 / bunzip2 - bzip2 압축 파일 풀기

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

Linux / 명령어 / wget - URL에서 파일 내려받기

Linux / 명령어 / wget - URL에서 파일 내려받기

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

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

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

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

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

Linux / 명령어 / command - 명령어 검색과 별칭 우회 실행

Linux / 명령어 / command - 명령어 검색과 별칭 우회 실행

셸 command 명령어로 함수 검색을 건너뛰어 원래 명령을 실행하고, command -v로 명령 존재 여부를 확인하는 방법을 설명합니다. -p·-V 옵션과 builtin·exec·env의 차이도 정리합니다.

Linux / 명령어 / bzip2 - 파일을 bzip2 형식으로 압축하기

Linux / 명령어 / bzip2 - 파일을 bzip2 형식으로 압축하기

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

Linux / 명령어 / nmap - 허가된 호스트의 포트와 서비스 조사

Linux / 명령어 / nmap - 허가된 호스트의 포트와 서비스 조사

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

Linux / 명령어 / realpath - 절대 경로와 실제 경로 확인

Linux / 명령어 / realpath - 절대 경로와 실제 경로 확인

Linux realpath 명령어로 상대 경로와 심볼릭 링크를 정규화하고 절대·상대 경로를 출력하는 방법을 설명합니다. 경로 존재 조건과 보안상 주의점도 함께 정리합니다.

Linux / machine-id 확인 방법과 시스템 복제 시 주의사항

Linux / machine-id 확인 방법과 시스템 복제 시 주의사항

machine-id의 역할과 확인 방법, 복제용 이미지에서 파일을 삭제·비우거나 uninitialized로 설정할 때의 차이를 설명합니다. 운영 중인 서버의 ID 중복을 안전하게 처리하기 위한 점검 사항도 다룹니다.