[리눅스 일반] 패키지 관리 – dpkg, apt

package-management-300x257

잘 알다시피 우분투의 패키지 관리 시스템은 데비안 계열에서 사용되는 같은 시스템에서 파생 되었다.
패키지의 파일은 여러분의 우분투 컴퓨터 상에 특정 기능을 구현하거나 소프트웨어 프로그램을 실행하기 위해 필요한 모든 파일, 메타 데이터, 명령 지시들 등을 포함하고 있다.
데비안 패키지 파일은 일반적으로 ‘.deb’ 확장자를 사용하고(레드햇 계열의 패키지 파일의 확장자는 ‘.rpm’), 보통 CD-ROM이나 온라인과 같은 다양한 매체를 통하여 패키지 모음인 저장소(repositories)를 제공한다. 또한, 패키지는 일반적으로 사전에 컴파일된 바이너리 형식이기 때문에 설치가 쉽고 빠르며 별도의 컴파일 과정이 필요없고, 복잡한 패키지들의 의존성을 자동으로 수행하는 등의 여러가지 편리성을 제공한다.

1. dpkg

dpkg는 데비안 기반 시스템용 패키지 관리자이다. dpkg는 설치, 제거와 패키지 빌드 등을 할 수 있지만, 다른 패키지 관리시스템(apt)과 달리 의존성을 자동으로 다운로드 하고 설치할 수는 없다.

1) 패키지 설치

2) 패키지에 포함된 파일목록을 출력

3) 패키지 정보를 출력

4) 패키지 제거 (설치된 데이타와 실행파일만 삭제)

5) 패키지 설치시 추가된 각종 설정파일까지 모두 삭제

6) 패키지를 통해 시스템에 설치된 모든 파일 목록을 출력

7) 시스템에 설치된 패키기에 관한 정보를 출력

8) 이미 설치된 패키지가 debconf를 사용하는 경우 이를 통하여 다시 설정

9) 지정한 파일을 패키지 데이터베이스에서 검색하여 해당 파일을 포함하고 있는 패키지들을 출력한다.

10) 설치된 패키지 리스트 확인

 

2. apt

apt(Advanced Packaging Tool) 명령어는 패키지의 설치, 기존 설치된 패키지의 업그레이드, 패키지 목록 색인 업데이트와 전체 Ubuntu 버젼 업그레이트와 같은 기능을 수행하는 강력한 명령줄 명령줄 도구(command-line tool)이다.

1) 패키지 설치
– 지정된 패키지와 더불어 의존성이 있는 패키지들까지 함께 다운로드하여 설치한다.

2) 패키지 삭제
– 지징된 패키지와 더불어 의존서잉 있는 패키지들까지 함께 삭제한다. –purge 옵션은 ‘dpkg -P’ 옵션과 마찬가지로 설치시 추가된 각종 설정파일까지 모두 함께 삭제한다.

3) 패키지 목록갱신
– 미러서버의 패키지 목록정보를 갱신한다. 또는 /etc/apt/sources.list 내용을 변경하였을 때 최소한 한번은 실행시켜줘야 한다.

4) 패키지 업그레이드
– 설치된 모든 패키지들을 최신 버젼으로 업그레이드하며, 새로 올라온 패키지를 설치하거나 오래된 패키지를 삭제하지는 않는다. 만약 특정 패키지의 의존성에 변화가 생겼거나 새 패키지 설치를 필요로 하는 경우라면 해당 패키지를 업그레이드 하지 않고 대신 hold 상태로 바꾼다.
‘apt-get upgrade’는 hold 상태인 패키지는 업그레이드 하지 않는다.

5) 의존성이 있는 패키지들을 새로 설치하거나 삭제하면서 패키지 업그레이드

6) 지정된 문자열이 포함된 패키지와 설명(description)을 검색하여 출력

7) 의존성 오류 수정
– apt-get install 또는 upgrade 과정에서 오류로 종료되었을 때 실행하면 스스로 의존성 문제를 해결한다.

 

3. dpkg, apt VS rpm, apt

명령 내용 Debian 계열 (dpkg, apt) RedHat 계열 (rpm, apt)
저장소에서 패키지 설치
패키지 파일 설치
dpkg -i package.deb
apt-get install package
rpm -ivh package
yum install package
패키지 제거 dpkg -r package.deb
apt-get remove package
rpm -e package
yum remove package
패키지 업데이트 확인 apt-get update yum update
전체 패키지 업그레이드 apt-get upgrade yum upgrade
저장소에서 패키지 검색 apt-cache search string yum search string
설치된 패키지 리스트 확인 dpkg -l rpm -qa
패키지 정보 확인 dpkg –info package.deb
apt-cache show package
rpm -qip package.rpm
yum info package
설치된 패키지 정보 확인 dpkg -s package rpm -qi package
특정파일을 포함한 설치된 패키지 확인 dpkg -S path/filename rpm -qf path/filename
설치된 패키지 정보 확인 dpkg -s package rpm -qi package
설치된 패키지에 포함된 파일 확인 dpkg -L package rpm -ql package

 

[참고자료]
1. 우분투 서버 가이드>>패키지 관리

 


댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다