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

rpm실무9편: 다른 패키지의 파일과 중복문제 해결방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

rpm실무9: 다른 패키지의 파일과 중복문제 해결방법

 

 

 

 

RPM패키지를 설치할 때에 현재 설치하는 패키지의 파일중 어떤 하나와 이미 시스템에 설치되어있는 다른 패키지의 파일 중 하나가 중복되는 경우가 흔하지는 않지만 가끔씩 발생한다.

 

 

 

 

  실제로는 하나의 파일뿐아니라 여러개의 파일에서 중복되어 충돌이 발생할 수 있으며 동일한 패키지의 중복설치시에도 파일중복으로 충돌에러가 발생할 수 있다.

 

 

 

 

   이런 경우에 패키지명 conflicts with file from 패키지명이라는 메시지를 출력하면서 설치되지 않다.

 

 

 

 

 

 

이런 경우, 즉 현재 설치하려고하는 패키지의 일부 파일과 이미 설치되어 있는 다른 패키지의 일부 파일이 중복되어 설치되지 않을 경우에 --replacefiles라는 옵션을 사용하면 기존의 파일을 무시하고 새 파일로 설치하게 된다.

 

 

 

 

 

 

아래의 예는 openssl-0.9.8패키지 설치를 -ivh옵션을 사용하여 설치하였다.

 

 

 

 

 하지만 보는 바와같이 이미 설치되어 있는 다른 패키지의 파일과 중복되어 충돌이 발생하였다.

 

 

 

 

 아래의 에러메시지를 잘확인하기 바란다.

 

 

 

 

 

 

[root@sulinux Packages]# rpm -ivh openssl-0.9.8g-11.fc10.i386.rpm

warning: openssl-0.9.8g-11.fc10.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273

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

        package openssl-0.9.8g-11.fc10.i386 is already installed

        file /lib/libcrypto.so.0.9.8g from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /lib/libssl.so.0.9.8g from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/bin/openssl from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/lib4758cca.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/libaep.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/libatalla.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/libchil.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/libcswift.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/libnuron.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/libsureware.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

        file /usr/lib/openssl/engines/libubsec.so from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686

[root@sulinux Packages]#

 

 

 

 

 

위의 예에서 보면 “file /lib/libcrypto.so.0.9.8g from install of openssl-0.9.8g-11.fc10.i386 conflicts with file from package openssl-0.9.8g-11.fc10.i686”와 함께 이와 유사한 메시지들이 계속 출력되면서 패키지설치가 되지 않았음을 알 수 있다.

 

 

 

 

  위의 예에서 발생한 원인은 동일한 패키지를 중복 설치하려고 할 경우에 이미 설치되어있는 파일들과의 중복으로 인하여 충돌이 발생한 경우이다.

 

 

 

 

 

 

이런 경우에 --replacefiles라는 옵션을 사용하면 기존의 파일들을 무시하고 설치를 한다.

 

 

 

 

  아래의 예는 --replacefiles옵션을 사용하여 설치한 예이다.

 

 

 

 

 

 

[root@sulinux Packages]# rpm -ivh --replacefiles openssl-0.9.8g-11.fc10.i386.rpm

warning: openssl-0.9.8g-11.fc10.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273

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

        package openssl-0.9.8g-11.fc10.i386 is already installed

[root@sulinux Packages]#

 

 

 

 

 

위의 경우에는 동일한 패키지의 중복설치와 이미 설치되어 있는 동일한 패키지의 파일들의 중복으로 인한 충돌문제가 동시에 발생한 경우이다.

 

 

 

 

 이 경우에는 아래와 같이 --replacepkgs옵션과 함께 --replacefiles옵션을 함께 사용하면 기존에 설치되어있던 패키지를 무시하고 새로 설치하게 된다.

 

 

 

 

 

 

[root@sulinux Packages]# rpm -ivh --replacepkgs --replacefiles openssl-0.9.8g-11.fc10.i386.rpm

warning: openssl-0.9.8g-11.fc10.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273

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

   1:openssl                ########################################### [100%]

[root@sulinux Packages]#

 

 

 

 

 

위의 결과를 보는 바와같이 패키지의 중복과 중복된 패키지로 인한 파일들간의 충돌이 동시에 발생할 경우에는 --replacepkgs옵션과 --replacefiles옵션을 동시에 사용하여 설치하면 강제로 설치가 이루어진다.

 

 

 

 

 

 

다음 예에서 설명하겠지만 이런 경우에는 --force옵션을 사용하면 --replacepkgs옵션과 --replacefiles옵션 두개의 옵션을 동시에 사용하는 것과 같은 효과를 얻을 수 있다.

 

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


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