rpm실무11편: 패키지 설치시 발생하는 의존성문제 해결방법
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,062 조회
- 0 추천
- 목록
본문
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옵션은 이미 설치되어있는 패키지를 제거(삭제)할 때에는 매우 유용하게 사용된다.
이 부분은 “패키지 제거(삭제)편에서 자세히 설명하도록 하겠다.
관련자료
-
이전
-
다음