강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

rpm실무11편: 패키지 설치시 발생하는 의존성문제 해결방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

rpm실무11:  패키지 설치시 발생하는 의존성문제 해결방법

 

 

 

 

 

여러분들께서도 잘알겠지만 패키지를 설치하면서 발생할 수 있는 가장 흔한 에러가 패키지 의존성 에러이다.

 

 

 

 

  패키지 의존성 에러란 패키지를 설치하거나 삭제할 때에 발생하는 에러로서 어떤 패키지를 설치(삭제)하려고 할 때에 그 패키지가 정상적으로 설치(삭제)되기 위해서는 다른 패키지를 먼저 설치(삭제)가 되어야만 하는 것을 의미한다.

 

 

 

 

  즉 특정 패키지의 설치 또는 삭제시에 다른 패키지의 선행된 설치 또는 선행된 삭제가 이루어지지 않았기 때문에 설치 또는 삭제되지 않고 에러가 발생하는 것을 의미한다.

 

 

 

 

 

 

이런 패키지 의존성 에러를 무시하고 설치 또는 삭제를 할 수 있는 옵션이 --nodeps라는 옵션이다.

 

 

 

 

  이 옵션은 패키지 설치시에도 사용하지만 패키지 삭제시에 주로 사용한다.

 

 

 

 

  하지만 현재 패키지 설치파트를 설명하고 있으므로 --nodeps옵션의 사용을 패키지 설치 부분에 맞추어 설명하고 뒤편에서 설명하는 패키지 제거(삭제)편에서 --nodeps옵션의 패키지 삭제에서 사용하는 부분을 설명하도록 하겠다.

 

 

 

 

 

 

, 그럼 먼저 패키지 설치시에 의존성 문제로 인하여 에러가 발생하는 예를 보도록하겠다.

 

 

 

 

 아래의 예는 -ivh옵션으로 classpathx-mail-1.1.1-7패키지를 설치한 예이다.

 

 

 

 

 

 

[root@sulinux Packages]# rpm -ivh classpathx-mail-1.1.1-7.1.fc10.i386.rpm

warning: classpathx-mail-1.1.1-7.1.fc10.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273

error: Failed dependencies:

        jaf >= 0:1.0 is needed by classpathx-mail-0:1.1.1-7.1.fc10.i386

[root@sulinux Packages]#

 

 

 

 

그런데 오류: Failed dependencies:”라는 에러가 발생하면서 정상적으로 설치되지 않았다.

 

 

 

 

 즉 위의 에러메시지의 전체적인 의미는 의존성 에러 메시지로서 classpathx-mail-1.1.1-7을 설치하려고 할 때에 “jaf”와 관련된 패키지가 먼저 설치되어야만 한다는 것을 의미하고있다.

 

 

 

 

  따라서 이런 경우에는 “jaf”과 관련된 패키지를 먼저 설치해 준 후에 다시 classpathx-mail-1.1.1-7패키지를 설치하면 정상적인 설치가 될 수 있을 것이다.

 

 

 

 

 

 

하지만 이런 의존성문제를 무시하고 classpathx-mail-1.1.1-7패키지를 설치하려고 한다면 앞에서 설명한 바와같이 --nodeps옵션을 사용하면 된다.

 

 

 

 

 아래의 예는 의존성문제를 무시하고 설치하기 위하여 --nodeps옵션을 사용하여 classpathx-mail-1.1.1-7패키지를 설치한 것이다.

 

 

 

 

 

 

[root@sulinux Packages]# rpm -ivh --nodeps classpathx-mail-1.1.1-7.1.fc10.i386.rpm

warning: classpathx-mail-1.1.1-7.1.fc10.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273

Preparing...                ########################################### [100%]

   1:classpathx-mail        ########################################### [100%]

[root@sulinux Packages]#

 

 

 

 

 

사실 --nodeps옵션은 패키지 설치시에 사용하는 것은 바람직하지 않다고 할 수 있다.

 

 

 

 

  왜냐하면 패키지 의존성이란 설치하고자 하는 패키지의 정상적인 작동을 위해서는 다른 패키지 설치가 선행되어야만 한다는 것을 의미하는데 --nodeps옵션을 사용하여 이를 무시하고 패키지를 설치한다면 설치된 패키지가 정상적으로 작동하지 않을 가능성이 크기 때문이다.

 

 

 

 

 

 

따라서 가능한 패키지 설치시에는 --nodeps옵션을 사용하는 것을 자제하기 바란다.

 

 

 

 

 반면 --nodeps옵션은 이미 설치되어있는 패키지를 제거(삭제)할 때에는 매우 유용하게 사용된다.

 

 

 

 

  이 부분은 패키지 제거(삭제)편에서 자세히 설명하도록 하겠다.

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,798 개
  • 현재 접속자 :  139 명