2011. 8. 4. 19:22

♧ 실질적으로 APT는 dpkg와 함께 동작하지만, 데비안 시스템에서 필요한

소프트웨어 검색, 다운로드, 설치, 업그레이드 그리고 확인 등

대부분의 패키지 관리 작업은 APT 유틸리티만으로도 충분하다.

 

▶ APT(Advenced Package Tool) 일반적 사용

APT 명령어

설 명

apt-get - APT package handling utility

sudo apt-get update

/etc/apt/sources.list 를 참조해 사용할 수 있는

패키지 데이터베이스를 업데이트한다.

(source.list 파일을 변경했다면 반드시 이 명령을 실행)

sudo apt-get check

시스템 무결성 검사.

sudo apt-get install <package>

주어진 패키지명을 데이터베이스에서 찾을 수 있다면,

해당 패키지를 다운로드받아 설치.

(APT 버전 0.6부터, 이 명령어는 자동적으로 GPG키를 사용해

패키지의 신뢰성을 검증)

sudo apt-get -f install

깨진 패키지를 위해 정상여부를 검사.

(이 명령어는 의존성 문제에 대한 메시지 수정을 시도)

sudo apt-get -d install <package>

패키지를 설치하지 않고 /var/cache/apt/archives

디렉토리에 다운로드만 받음.

sudo apt-get clean

디스크 공간 확보를 위해 /var/cache/apt/archives

디렉토리에 캐시되어 있는 패키지들을 모두 삭제.

sudo apt-get autoclean

불완전하게 다운로드된 패키지나 오래된 패키지를

삭제하고자 할 때 실행.

(부분적으로 디스크 공간을 절약할 수 있다)

sudo apt-get upgrade

설치되어 있는 모든 패키지에 대한 최신 업데이트를

검사한 후, 다운로드 받아 설치.

sudo apt-get dist-upgrade

전체 시스템을 새로운 버전으로 업그레이드 한다.

여기에는 패키지 삭제도 포함되어 있다. (이 방법은

시스템을 업데이트하는 방법으로는 잘 사용되지 않음)

sudo apt-get --purge remove <package>

주어진 패키지와 그 설정파일을 삭제.

(--purge 옵션을 사용하면 설정파일까지 삭제)

apt-cache - query the APT cache

apt-cache search <keyword>

패키지 데이터베이스에서 주어진 키워드를

대소문자 구분 없이 검색.

(결과로 키워드를 포함하고 있는 패키지명과 설명이 출력)

apt-cache showpkg <package>

단일 패키지에 대한 일반적인 정보 출력.

apt-cache show <package>

주어진 패키지명에 해당하는 소프트웨어에 대한 정보 출력.

apt-cache stats

설치된 모든 패키지에 대한 상태정보를 출력.

apt-cache dump

캐시에 있는 모든 패키지를 간단한 형식으로 출력.

apt-cache dumpavail

표준출력으로 유효한 파일들을 출력.

apt-cache depends

패키지가 설치되어 있는지 여부에 관계없이,

패키지에 대한 의존성을 출력.

apt-cache pkgnames

시스템에 설치되어 있는 모든 패키지 목록을 보여줌.

apt-config - APT Configuration Query program

apt-config -v

설치된 APT 유틸리티의 버전정보 출력.

apt-key - APT key management utility

sudo apt-key list

APT가 알고 있는 gpg 키 목록을 출력.

sudo apt-key add <file>

APT에 서명키 등록.

sudo apt-key del <keyid>

신뢰할수 있는 키 리스트에서 키를 제거.

 

 

■ APT리포지토리와 써드파티 서명키 추가

Google에서 만들어 공개한 디지털 사진 공유 및 관리도구인

Picasa 프로그램(http://picasa.google.com/)을 설치해 보자.

 

① 구글 리포지토리를 사용하기 위해 텍스트 에디터로 /etc/apt/sources.list 파일 하단에 두 라인 추가.

$ sudo vi /etc/apt/sources.list

#cn - added for google software

deb http://dl.google.com/linux/deb/ stable non-free

▷ 변경에 대한 코멘트를 남기고 싶다면 다음에 보이는 바와 같이 #cn을 사용.

첫번째 필드 - deb : 빌드된 패키지, deb-src: 소스 패키지

▷ 두번째 필드 - 배포판에 대한 Repository의 URL 주소.

▷ 세번째 필드 - 배포(distribution)

▷ 나머지 필드 - 소프트웨어 컴포넌트 기술

② Google Package에 대한 인증을 위해 먼저 서명키를 다운.

wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/key.pub

▷ wget 명령으로 Google 사이트로부터 파일을 다운로드 받아 저장.

(공개 암호화 키는 구글 사이트로부터 다운로드 받은 패키지 검증에 사용)

③ 다음 apt-key 명령어를 사용해 APT에 서명키를 등록.

$ sudo apt-key add /tmp/key.pub

[sudo] password for devanix:

OK

④ Google 디지털 서명키가 정상적으로 등록되었는지 확인.

$ sudo apt-key list

/etc/apt/trusted.gpg

-------------------------

…[중략]…

pub 1024D/7FAC5991 2007-03-08

uid Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com>

sub 2048g/C07CB649 2007-03-08

⑤ 다음으로, APT 패키지 업데이트를 통해 새로운 리포지토리를 활성화 한다.

$ sudo apt-get update

 

■ APT를 사용하여 패키지 검색 & 설치 & 업그레이드

위 과정에서 마치고 새로운 리포지토리가 준비되었다면

해당 리포지토리에서 제공하는 새로운 소프트웨어를 검색, 설치할 수 있다.

## 패키지 검색 ##

$ apt-cache search picasa

…[중략]…

picasa - Image management application from Google

## 패키지 정보 확인 ##

$ apt-cache show picasa

Package: picasa

Version: 2.7.3736-15

Architecture: i386

Depends: libc6 (>= 2.2), libasound2, zlib1g, bash

…[중략]…

## 패키지 의존성 확인 ##

$ apt-cache depends picasa

picasa

의존: libc6

의존: libasound2

liboss-salsa-asound2

…[중략]…

 

## 패키지 설치 ## (이미 설치 되어 있는 경우 - 자동적으로 최신 버전으로 업데이트)

$ sudo apt-get install picasa

Reading package lists… Done

…[중략]…

 

## 업데이트 목록 확인 ##

$ sudo apt-get update

## 설치되어 있는 패키지 모두 업그레이드 ##

$ sudo apt-get upgrade

 

■ APT를 사용하여 패키지 삭제 & 캐시정보 삭제

## 패키지 삭제 ##

$ sudo apt-get rermove picasa

 

## 패키지 캐시정보 검색&삭제 ##

$ find /var/cache/apt/ -name \*.deb

/var/cache/apt/archives/picasa_2.7.3736-15_i386.deb

…[중략]…

$ sudo apt-get clean

▷ 다운로드한 패키지는 /var/cache/apt/에 캐시해 두는데,

이들 패키지가 다시 필요할 경우 다운로드 시간을 절약할 수 있다.

패키지 캐시는 결과적으로 많은 디스크 공간을 사용하게 된다.

물론 이 캐시도 삭제할 수 있지만, 나중에 의존성 문제 등 삭제된 패키지가 필요하게 되면

다시 다운로드받아야 한다는 단점이 있다.

Posted by devanix