2010년 1월 20일 수요일

데비안 패키지관리(Debian Package Managment)

데비안 패키지관리(Debian Package Managment)

 (1) dpkg(Debian Package)
  

   1) 개요 : 데비안 리눅스의 패키지를 관리하는 툴로 데비안 리눅스 환경에서 각종 패키지를 설치,
              삭제하고 관리한다.
  

   2) 우선순위 : 데비안 패키지는 리눅스안에 포함되어 있어아 할 필요성과 패키지의 의존성을 기준
                    으로 한 우선순위(Priority)가 있다.
   

    ㄱ. Required: 시스템이 올바르게 동작하기 위해 꼭 설치되어야 하는 패키지들
    ㄴ. Import!!ant: 대부분의 유닉스계열 운영체제에서 볼 수 있는 패키지들
    ㄷ. Standard: 표준 데비안 GNU/리눅스 시스템을 구성하는 패지지들
    ㄹ. Optional: Tex, X Window 시스템
    ㅁ. Extra: 몇몇 개인들에게만 유용한 패키지들 (예. HAM radio등)
  

   3) 데비안 패키지파일의 구조
   

    package_1.0-2.deb
     => (설명) package: 패키지이름이 온다.
               1.0: 해당 패키지의 버전을 나타낸다. 보통 밑줄로 버전을 나타낸다.
               2: 패키지 릴리즈이다.
               deb: 데비안 패키지의 확장자이다.
  

   4) 설명 : 데비안 패키지관리 명령인 dpkg는 주요 작업을 지정하는 액션과 액션 기능을 제어하는
                 옵션이 없거나 하나 이상의 옵션으로 구성되어 있다.
  

   5) dpkg의 특징 : 이 명령은 /var/lib/dpkg에 패키지 정보를 저장한다. 이 파일에는 다음과 같은
                  두가지 정보가 저장된다. 이 정보들은 사용자가 직접 수정할 필요는 없다.
   

    ㄱ. available: 사용가능한 패키지목록
    ㄴ. status: 어떤 패키지가 설치되었는지, 어떤 패키지가 삭제 표시되었는지 등의 패키지의 속
               성이다.
  

   6) 사용법
     dpkg command 파일
  

   7) command
    -i package_name : 해당 패키지를 설치한다.(--install) 구버전 파일을 백업하고 패키지를 풀어
                               새로운 파일을 설치하고 설정한다.
    -R package_directory : 주어진 디렉토리 내의 모든 패키지를 설치한다.(-i와 함께 사용)
    -l package_name       : 해당 패키지의 각종 정보를 보여준다.
    -r package_name       : 패키지를 제거한다.(--remove) 설정파일은 남긴다.
    -c package_name      : 해당 패키지에 포함되어 있는 모든 파일 목록을 보여준다.
    -l : 설치된 모든 패키지 목록을 보여준다.
    --unpack package_file : 패키지로부터 파일을 추출
    --configure package_name : 정확한 패키지 설치를 위하여 묶이지 않는 패키지를 설정한다.dpkg가
                             conf file과 같은 설정파일을 운영할 것을 요구
    --pending                    : 추출된 모든 패키지 파일들이 설치완료
    --purge package_name : 패키지와 해당 패키지의 conf file도 제거
    -s or package_name     : 상태 데이터베이스에서 패키지정보를 출력(--status)
    --force : --downgrade, --configure-any, --remove-reinstreq, --remove-essential등과 함께
              사용하는 강제옵션
    --downgrade : 설치하려는 패키지가 이미 설치되어 있는 패키지보다 이전 버전일 때도 설치한다.
    --configure-any : 해당 패키지와 의존성이 있는 다른 패키지가 파일이 추출되기만하고 구성되어
                    있지 않으면 그 패키지가지 구성한다.
    --remove-reinstreq : 패키지가 재설치하기로 status file에 표시되어 있다면 이 패키지를 제거한
                       다.
    --merge-avail package_name : 패키지에 대한 정보를 추가할 수 있다.
  

   8) 사용예
    ㄱ. dpkg -i /usr/debian/stable/binary-i386/admin/cron_3.0p11.deb
       => 시스템에 cron이라는 패키지가 설치된다.
    ㄴ. dpkg -i -R /usr/debian/stable/binary-i386/admin
       => admin 디렉토리 아래있는 모든 패키지가 설치된다.
    ㄷ. dpkg --unpack /usr/local/Debian/archive
       => 모든 패키지가 풀린다.
    ㄹ. dpkg --configure cron
       => 패키지에 알맞게 구성된 세부사항을 구성한다.
    ㅁ. dpkg --pending
       => --unpack과 --configure로 패키지를 풀고 구성한 뒤에 패키지를 조성하여 패키지 설치를
         완성한다.
    ㅂ. dpkg -r cron
       => 패키지를 제거하지만 conf file은 삭제되지 않는다.
    ㅅ. dpkg -r -a | --pending
       => status file에서 삭제 표시된 모든 패키지를 제거한다.
    ㅇ. dpkg --purge -a | --pending
       => status file에서 삭제 표시된 모든 패키지와 conf file을 제거한다.(status file은 dpkg
         와 dselect에 의해 유지된 파일의 모든 정보를 저장하고 있는 파일이다.)
    ㅈ. dpkg -s mc
       => 패키지 버전, 패키지 관리자, 패키지의 간단한 설명, conf file등 정보를 보여준다.

 (2) dselect
  

   1) 설명 : dpkg는 명령행(command-line)유틸리티로 사용방법이 쉽지 않아 curses메뉴 방식으로
           등장한 것이 dselect이다.
 

  2) 사용법
     dselect
 

 (3) alien
  

   1) 설명 : 데비안 패키지가 아닌 패키지를 변환하거나 설치한다.
  

   2) 사용법
     alien [option] 파일
  

   3) 사용예
    ㄱ. alien package.rpm
       => package.deb라는 파일을 생성한다.
    ㄴ. alien -i package.rpm
       => 데비안 시스템에 데비안 패키지가 아닌 패키지를 설치한다.
  

   4) 지원되는 패키지형식
    ㄱ. 레드햇의 .rpm
    ㄴ. 스탬피드(Stampede)의 .slp
    ㄷ. 슬랙웨어의 .tgz
    ㄹ. 일반 tar.gz


댓글 없음:

댓글 쓰기