64bit linux에서 RPM 삭제하기
64bit 서버에 x86_64의 리눅스를 깔고 난 후에 RPM을 삭제 할 일이 생겼다.
그런데 이상하다-!
이상한 메세지를 뿌리면서 RPM이 도무지 삭제가 되지 않는다.
rpm -qa | grep mysql 확인 해 본 결과 이상하게도 32bit와 64bit의 패키지를 가지고 있었다.
=_= 욕심쟁이..
rpm -e mysql 고 rpm -e mysql --nodeps고 안 먹힌다!
error: "mysql-x.x.x.xRHEL4" specifies multiple packages
이라면서 죽어도 삭제는 안 된다고 한다...
역시나 구글링 시작.
/etc/rpm/macros.local 라는 파일을 생성해주고 아래의 내용을 입력한다.
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
자 이제 정확한 패키지명을 적어주면 삭제가 된다.
rpm -qa | grep mysql
이렇게 해보시면
mysql-4.1.12-3.RHEL4.1.i386
mysql-4.1.12-3.RHEL4.1.x86_64
rpm -e mysql-4.1.12-3.RHEL4.1.i386 --nodeps
또다른 방법으로는
rpm -e mysql --allmatches
remove all packages which match <package>
(normally an error is
generated if <package> specified multiple packages)
옵션을 사용하는 것이지만 권장하지는
않는다. (혹시 정확히 지울수 있는 앞에 것을 추천! 혹시 모르니까 말이다.)