AnNyung Official Homepage Home > Pkgadm [ Pkgadd ]  

HOME
What is AnNyung
Documents
Packages System
  . Packages System ?
  . pkgsysupdate
  . pkgdistupdate
  . pkgdb
  . pkginfo
  . pkgadd
  . pkgdel
  . pkgchk
  . pkgkernel
  . pkgdeveltrans
White Paper
Download
Update
FAQ
Hardware
RoadMap
Gallery

  Go oops.org
  AnNyung banner 88x31

  AnNyung 1 banner 80x15
  AnNyung 2 banner 80x15
  AnNyung 3 banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15



pkgadd

이 문서는 안녕 리눅스 1.2 ~ 1.3에서 사용하는 Package 관리도구에 대한 설명 입니다. 안
녕리눅스 2 부터는 Yum Repository를 이용하여 package를 관리하므로, 안녕 리눅스 2 이상
의 사용자들은 이 문서를 참고할 필요가 없습니다.


pkgadd 는 Packages System 에서 제공하는 패키지를 설치/업데이트 관리하는 도구 입니다.
또한, pkgadd 는 원하시는 다른 rpm 패키지를 Packages System 에서 관리할 수 있게 해 줍
니다. 이 말은 다른 배포본의 패키지를 그냥 가져와서 설치할 수 있다는 것은 아니며 안녕
에서 사용 가능 하지만 안녕에서 제공하지 않은 별개의 패키지를 안녕의 Packages System
의 데이터베이스에서 같이 관리를 해 준다는 의미입니다.

다음은 pkgadd 의 사용 예제입니다.

    1. 기본 사용법
    2. 패키지 설치
    3. 버전을 지정하여 패키지 설치
    4. 패키지 업데이트
    5. 설치되어 있는 패키지만 업데이트
    6. 로컬 파일 패키지를 설치 및 업데이트
    7. 원격 파일 패키지를 설치 및 업데이트



 
1. 기본 사용법 

 Hanterm - pkgadd --help


 [oops@main dir]$ pkgadd --help
  PKGADM v.2.0.0 : 패키지 관리 툴

  사용법: /usr/sbin/pkgadd [옵션] [패키지이믈]
  Options:
      -v|--verbose        상세 출력
      -i|--install        설치 모드. 기본 값이다.
      -u|--upgrade        업그레이드 모드. 이 옵션은 rpm 의 -U 와 같다.
      -F|--freshen        설치되어 있는 패키지만 업데이트 한다. 이 옵션은 rpm 의 -F 와 같다
      -f|--force          강제 설치 옵션으로 -u 또는 -F 옵션과 같이 사용한다.
                          이 옵션은 rpm 의 --force 옵션과 같다
      -n|--noansi         안시 출력 사용 안함
      -h|--help           도움말 (현재 메세지).
 [oops@main dir]$ 


  pkgadd 를 사용할 경우 2.0.1 버전 부터는 pkgadd php* 과 같이 astrik (*) 를 사용할 수
  있습니다. 이 표현을 사용 할 경우 주의할 점은, php* 표현은 php 로 시작하는 모든 패키
  지를 의미할 수도 있지만, 만약 명령을 실행하는 current directory 에 php* 으로 시작하
  는 rpm 파일이 존재할 경우, 쉘 확장에 의하여 php 로 시작하는 모든 패키지의 의미가 아
  닌 현재 디렉토리의 php 로 시작하는 모든 패키지가 되는 것을 주의해야 합니다.

 
2. 패키지 설치 

  pkgadd 는 pkgsysupdate 가 관리하지 않는 third party 패키지 즉, Packages System 에서
  제공하는 패키지를 설치하는 명령입니다.

  아래의 예제는 nfs-utils 에 의존성이 걸린 portmap 을 같이 설치해 주는 과정입니다. 주
  의할 것은 pkgadd가 버전 의존성을 체크하지 않기 때문에, 간혹 문제가 발생할 소지가 있
  습니다. 이는 oops.org 의 QnA 게시판으로 문의를 주십시오.

  -v 옵션을 주면 좀 더 자세한 사항을 보실 수 있습니다.

 Hanterm - pkgadd


 [oops@main dir]$ pkgadd nfs-utils
  nfs-utils       : 
    ==> 의존성 패키지 portmap 성공
    ==> nfs-utils Install 성공

 [oops@main dir]$ 


 
3. 버전을 지정하여 패키지 설치 
  pkginfo -l 패키지 명령을 수행하면 해당 패키지의 Packages System에서 제공 가능한 버
  전 형식을 보여줍니다. 자세한 것은

  http://annyung.oops.org/?m=pkgadm&p=pkginfo#4

  을 참조 하십시오. 버전 정보가 없이 설치를 하면, 현재의 current (안정) 버전이 설치
  가 됩니다. current 버전에 대한 정보는 위의 pkginfo 링크에서 확인하실 수 있습니다.

  -v 옵션을 주면 상세한 내용을 확인할 수 있습니다.

 Hanterm - pkgadd php-5:4.3.8-1-i686


 [oops@main dir]$ pkginfo -l php
  PKGADM v2.0.0 : 패키지 시스템 데이터베이스 뷰어
  php             : PHP HTML - Apache와 함꼐 사용하는 embedded script 언어 [ 설치안됨 ]
  버전정보        : 5:4.3.8-1-i686
                    6:4.3.9-1-i686 *
 [oops@main dir]$ 
 [oops@main dir]$ pkgadd php-5:4.3.8-1-i686
  php             : Install 성공
 [oops@main dir]$ 
 [oops@main dir]$  pkginfo php
  php             : PHP HTML - Apache와 함꼐 사용하는 embedded script 언어 [업데이트]
 [oops@main dir]$ 


 
4. 패키지 업데이트 

  패키지 업데이트는 패키지 설치에 -u 옵션만 더해 주는 방식과 같습니다. 실제로 업데이
  트가 아닌 인스톨에도 -u 를 사용해도 무방하므로, 왠만하면 설치시에도 -u 옵션을 주는
  것을 권장합니다. 만약 반드시 업데이트만 하고 싶다면 다음 섹션을 참고합니다.

  만약 설치 되어 있는 버전을 재설치 하거나, 또는 하위 버전으로 다운그레이드를 하고싶
  다면, 버전 정보를 명기하고 -f 옵션을 주면 됩니다.

 Hanterm - pkgadd -u php

 [oops@main dir]$ pkginfo -l php
  PKGADM v2.0.0 : 패키지 시스템 데이터베이스 뷰어
  php             : PHP HTML - Apache와 함꼐 사용하는 embedded script 언어 [ 설치안됨 ]
  버전정보        : 5:4.3.8-1-i686
                    6:4.3.9-1-i686 *
 [oops@main dir]$ 
 [oops@main dir]$ pkgadd php-5:4.3.8-1-i686
  php             : Install 성공
 [oops@main dir]$ 
 [oops@main dir]$  pkginfo php
  php             : PHP HTML - Apache와 함꼐 사용하는 embedded script 언어 [업데이트]
 [oops@main dir]$ 
 [oops@main dir]$  pkgadd -u php
  php             : Update 성공
 [oops@main dir]$ 
 [oops@main dir]$  pkginfo php
  php             : PHP HTML - Apache와 함꼐 사용하는 embedded script 언어
 [oops@main dir]$ 
 [oops@main dir]$  pkgdel php
  php             : 삭제 성공
 [oops@main dir]$ 
 [oops@main dir]$  pkgadd -F php
  php             : 설치 안됨
 [oops@main dir]$ 


  pkgadd -u 를 사용해야 하는 가장 큰 이유는, pkgadd -u 명령은 업데이트가 실행 될때에
  이 전의 설정파일을 /var/lib/pkgadm/conf 디렉토리에 백업을 하게 됩니다.  필자가 rpm
  을 사용하면서 가장 열받는 경우가 spec 파일에 noreplace 라고 지정을 했음에도 불구하
  고 그냥 덮어쓰는 경우가 있었는데, 이를 해결할 수 있기 때문입니다. 만약 설정 파일이
  초기화 되었다고 판단이 들면 /var/lib/pkgadm/conf 에서 찾으시면 됩니다.

 
5. 설치되어 있는 패키지만 업데이트 

  현재 시스템에 설치가 되어 있는 패키지만 업데이트를 하고 싶다면, -u 옵션 대신 -F 옵
  션을 사용하면 됩니다.  -F 옵션을 사용하면 아래의 예와 같이 시스템에 설치가 되지 않
  은 패키지는 업데이트 하지 않습니다.

 Hanterm - pkgadd -F php

 [oops@main dir]$ pkginfo -l php
  PKGADM v2.0.0 : 패키지 시스템 데이터베이스 뷰어
  php             : PHP HTML - Apache와 함꼐 사용하는 embedded script 언어 [ 설치안됨 ]
  버전정보        : 5:4.3.8-1-i686
                    6:4.3.9-1-i686 *
 [oops@main dir]$ 
 [oops@main dir]$ pkgadd -F php
  php             : 설치 안됨

 [oops@main dir]$ 


 
6. 로컬 파일 패키지를 설치 및 업데이트 

  pkgadd 는 Packages System 의 패키지 뿐 아니라 로컬 파일을 설치할 수도 있습니다. 이
  경우에는 pkginfo 에서 개별 설치 데이터 베이스로 따로 관리 및 출력을 합니다. 단, 설
  치 가 완료되면 원본 파일은 삭제가 되니 주의 하십시오.

  업데이트는 기본 업데이트와 같이 -u 나 -F 옵션을 사용하면 됩니다.

  참고할 것은, 일단 개별 설치로 설치된 패키지를 나중에 official 용으로 설치를 하더라
  도 이는 계속 개별 패키지로 관리가 됩니다.  이를 official 목록으로 넣고 싶다면 삭제
  를 한 후에, 재 설치를 해야 합니다.

 Hanterm - pkgadd -u

 [oops@main dir]$ pkgadd ./w3m-0.4.1-8,1.i686.rpm
  w3m             : Install 성

 [oops@main dir]$ pkginfo w3m
  w3m             : A pager with Web browsing abilities. [ 유저 ]
 [oops@main dir]$ 
 [oops@main dir]$ pkginfo

  -- [ 개별 설치 패키지 목록 ] -----------------------------

  w3m             : A pager with Web browsing abilities.[ USER ]

  -- [ 설치된 패키지 목록 ] -----------------------------

  sqlite-devel    : sqlite 를 이용한 개발시 필요한 헤더파일과 라이브러리들
  sqlite          : 향상된 내장 SQL 데이터베이스 엔진 C 라이브러리
  dejagnu         : 다른 프로그램을 테스트 하기 위한 프론트엔드
  pkgconfig       : A tool for determining compilation options.
  dietlibc        : A small libc implementation
 [oops@main dir]$ 


 
7. 원격 파일 패키지를 설치 및 업데이트

  원격 파일 패키지는 로컬 파일 패키지와 동일합니다. 다만 파일 경로를 ftp 또는 http URL
  을 사용한다는 점만 차이입니다.

  또한, 이는 개별 설치 목록에서 다루어 집니다.



    



 Home > Pkgadm [ Pkgadd ]

Copyright 2017 OOPS Development Organization 
LAST MODIFIED: 2016/04/26