>> Delete No. 1705 article
No. rpm 설치시 의존성에러때문를 피하는 팁

등록 2001-09-29 10:36:00     조회 5
이름 영태    

		1원이 될지는 모르겠지만,
 rpm으로 설치할려고할때 화면을 넘어가는 의존성에러때문에 포기했던적이 있어 글쓰게 됐
습니다.  새로운 프로그램이 최신 glibc를 쓴다면 막막하더라구요.^^
 우선 에러가 나는걸 잘보고,
 이에러가 프로그램 업그레이드로 인해 lib가 변하여 다른프로그램들이 못쓰게된다는건지,
 아님 lib가 없으니까 lib가 있는걸 먼저 깔라는것인지 구분하야합니다.  간단히 구분하는건
(다아시죠?) 에러문장 오른쪽에 나오는 rpm이름이 내가 지금설치할려고하는거라면, 왼쪽에
있는 rpm을 먼저찾아 깔아야하는거고, 오른쪽이 모르는거(현재 설치되어있는거)라면 오른
쪽rpm이 왼쪽lib를 사용하기때문에 의존성에러가 나는거구요.  아래서 설명하는건 후자쪽입
니다.  만약 gtk를 업그레이드한다면 이걸 공유하고 쓰고 있는 libgtk.so.0(예) 를 쓰는 프로그
램들때문에 의존성에러 난다고 가정합시다.  /usr/lib로 가 libgtk.so.0 을 잘살펴보면  ls -al libg
tk*  libgtk.so.0을 자세히 보면 링크가 걸려있죠. libgtk.so.0.0.0 과 같이요.  우선 libgtk.so.0.0.0을 l
ibgtk.so.0.0.0.old와 같이 파일을 이름다르게 해서 복사를 합니다. 그리고 나서 업그레이드할 
프로그램을 업그레이드합니다. --nodeps(의존성무시)란 옵션을 줘서요.  cp libgtk.so.0.0.0 libgtk.s
o.0.0.0.old  rpm -Uvh --nodeps gtk-1.2.10-i386.rpm  그리고 나서 /usr/lib/ 안을 봅시다.
  libgtk.so.0(링크)가 만약깨져있으면(업그레이드 하면서 libgtk.so.0.0.0가 삭제되었으므로) libg
tk.so.0을 새로 libgtk.so.0.0.0.old에 링크 겁니다.  rm -f libgtk.so.0
ln -s libgtk.so.0.0.0.old libgtk.so.0
 이렇게 만들어놓으면 기존의 libgtk.so.0을 쓰는 프로그램들이 이전과 같이 그대로 라이브러
리를 쓸수있기때문에 됐고, gtk를 업그레이드하면서 새로운 파일 libgtk.so.1 를 이용하는 새
로운 프로그램도 설치해서 사용할수있죠.  ps. 위에서 예를 든 gtk에 libgtk.so.0이라든지 libgtk.
so.1은 예로 제가 생각핸낸거라서 실제론 다른이름일겁니다. 혼동하지 마세요.^^
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved