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

설치하려고 하는 패키지의 파일이 이미 설치되어있는 다른 패키지의 파일과 중복될 경우에 무시하고 설치하기 : --replacefiles 옵션 사용

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

설치하려고 하는 패키지의 파일이 이미 설치되어있는 다른 패키지의 파일과 중복될 경우에 무시하고 설치하기 : --replacefiles 옵션 사용

 




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

 

 

 

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

 

 

 

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

 

 

 

 

 

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

 

 

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

 

 

[root@su250 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@su250 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@su250 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@su250 Packages]#





 

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

 

 

 

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

 

 

 

 

 

[root@su250 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@su250 Packages]#




 

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

 

 

 

 

 

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

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,056 명
  • 현재 강좌수 :  35,908 개
  • 현재 접속자 :  222 명