본문 바로가기
운영체제/Linux

Ubuntu ] dpkg, dpkg-deb 유용한 명령어

by eteo 2025. 3. 15.

 

 

 

dpkg란?

 

APT가 고수준 패키지 관리(의존성 해결, 저장소 관리 등)를 담당한다면 dpkg는 직접 .deb 패키지를 설치/제거/확인할 수 있는 툴이다. 직접적으로 .deb파일을 다루어야 할 때는 dpkg 명령어를 사용하는게 더 유용하며, APT 명령도 내부적으로는 dpkg를 활용해 실제 설치/제거 작업을 수행한다.

 

 

 

 

dpkg 유용한 명령어 사용법

 

.deb 파일 설치

sudo dpkg -i package.deb

 

 

의존성을 포함해 .deb 파일 설치

sudo apt install ./package.deb

 

 

.deb 파일 설치 시뮬레이션 (실제로 설치하지 않으면서 설치 과정에서 무엇을 하는지 로그를 확인할 수 있다.)

sudo dpkg -i --simulate package.deb

 

 

시스템에 설치된 패키지 목록 확인

dpkg -l | grep package_name

 

 

시스템에 설치된 파일이 어느 패키지에 속해 있는지 검색

# dpkg -S /[파일 경로]
$ dpkg -S /usr/bin/dpkg-deb

 

 

 


dpkg-deb란?

 

dpkg 패키지에 포함된 명령어로 .deb 패키지 파일의 구성을 확인하거나 추출할 때 사용하는 도구이다. .deb 파일 내부를 살펴볼 때 유용한 명령어다.

 

 

 

.deb 파일의 구성

 

.deb 패키지에는 크게 두 가지 아카이브가 포함된다.

 

  • 데이터 아카이브 : 실제 설치될 파일(프로그램, 라이브러리 등)
  • 컨트롤 아카이브 : 패키지 생성시 디렉토리 구조에서 DEBIAN/ 디렉토리 안에 존재하는 파일로 패키지 메타데이터와 설치 스크립트 등을 포함한다.
    • control : 패키지의 메타데이터(패키지 이름, 버전, 의존성, 유지보수자 등)를 정의하는 필수 파일
    • postinit : 패키지 설치 후(post-installation) 실행되는 스크립트. 보통 커널 모듈 등록, 환결 설정 변경, 서비스 재시작 등의 작업을 수행한다.
    • postrm : 패키지 제거 후(post-removal) 실행되는 스크립트. 보통 남은 설정 파일이나 로그 파일을 정리하거나 필요 없는 링크를 제거하는 등의 작업을 수행한다.

 

 

 

 

 

 

dpkg-deb 유용한 명령어 사용법

 

패키지 메타 정보 확인

dpkg-deb -I package.deb

 

 

패키지 내부 파일 목록 확인 (데이터 아카이브 파일만 보여준다.)

dpkg-deb -c package.deb

 

 

데이터 파일 추출

# dpkg-deb -x [.deb 파일] [디렉토리 경로]
$ dpkg-deb -x package.deb ./extracted_pkg/

 

 

컨트롤 스크립트 추출

# depkg-deb -e [.deb 파일] [디렉토리 경로]
$ dpkg-deb -e package.deb control_files/