Table of contents
Ubuntu를 사용하면서 다양한 패키지들을 설치하게 되는데..
주로 apt를 사용하여 패키지를 관리하지만 apt에서 지원되지 않는 경우
.deb 파일을 받아 dpkg 툴을 사용하여 설치하기도 한다.
여기서는 apt와 dpkg의 차이점과 사용방법에 대해 알아보려 한다.
Package관리도구, dpkg와 apt
dpkg (Advanced Package Tool)
•
저수준의 Package 관리도구
◦
개별 패키지 파일(.deb) 을 직접 설치/제거/확인 할 때 사용됨
◦
dpkg는 repository를 다루지 않으며 의존성 관리를 하지 않아 사용자가 의존성을 수동으로 해결해야 함
•
.deb 파일
◦
Debian 기반 배포판(예: Ubuntu..)에서 사용하는 소프트웨어 package 형식
◦
소프트웨어와 관련된 실행 파일, 설정 파일, 의존성 정보가 포함된 단일 파일
dpkg 주요 명령어
개별 .deb파일을 직접 다루고 있으며, 의존성은 사용자가 직접 해결해야 함
•
Install
◦
dpkg -i <pkg.deb> : 로컬에 있는 <pkg.deb> 파일을 사용하여 패키지 설치
•
Info
◦
dpkg -l : 설치된 패키지 목록 표시
◦
dpkg -L <pkg.deb> : 설치된 파일 목록 확인
◦
dpkg -s <pkg.deb> : 특정 패키지의 상태 확인
•
Check
◦
dpkg -c <pkg.deb> : <pkg.deb> 패키지 내부 파일리스트 확인
◦
dpkg -I <pkg.deb> : <pkg.deb> 패키지의 메타정보 확인
•
Remove
◦
dpkg -r <pkg.deb> : 설치된 <pkg.deb> 삭제
◦
dpkg --purge <pkg.deb> : 설치된 <pkg.deb>와 설정파일 삭제
apt (Advanced Package Tool)
•
고수준의 Package 관리도구
◦
의존성 해결 제공
◦
repository에서 직접 패키지를 검색/설치/업데이트/제거 할 수 있음
•
사용자가 더 쉽게 패키지를 관리 할 수 있도록 dpkg 명령어를 간소화하고 자동화 한 인터페이스
apt 주요 명령어Command
Repository에서 작업을 수행하며, 인터넷 연결을 통해 Package를 가져오고 관리함
•
Install
◦
apt install <pkg_name> : Repository에서 <pkg_name>를 다운로드하고 설치
◦
apt install -f : 깨진 패키지 의존성을 복구
•
Update
◦
apt update : Package 목록을 업데이트 (Repository의 최신 상태로 동기화)
◦
apt upgrade : 설치된 Package를 최신 버전으로 업그레이드
•
Info
◦
apt search <keyword> : Repository에서 특정 Package(<keyword>) 검색
◦
apt show <pkg_name> : <keyword>의 상세 정보 확인
•
Remove
◦
apt remove <pkg_name> : 설치된 <pkg_name> 삭제
◦
apt purge <pkg_name> : 설치된 <pkg_name>와 설정 파일 삭제
요약하면, 아래와 같다 !
특징 | dpkg | apt |
레벨 | 저수준 ( Package 파일 직접 작업 ) | 고수준 ( Repository 관리 ) |
의존성 관리 | 수동 | 자동 |
패키지 소스 | 로컬 .deb 파일 | Repository |
사용 용도 | 세부적이고 수동으로 작업 | 일반 사용자 친화적 작업 |
일반적으로 apt를 통해 작업하고, 특정 .deb파일을 설치하거나 문제를 해결 하고자 할 때 dpkg를 사용한다.
끝 !