천재태지의 세상 돌려보기

seoz.egloos.com

- About Me... - Enlightenment, EFL - 타이젠 Tizen



[우분투] 우분투에서 강제로 패키지 제거하기 ├ 리눅스

안녕하세요? 천재태지 서주영입니다.
우분투에서 개발을 할 때 유용하게 사용할 수 있는 패키지 제거 팁을 소개합니다.

개발을 하다보면 어느 한 패키지를 지웠다 다시 설치하는 일이 빈번히 발생하는데, 다른 패키지가 이 패키지에 의존성을 가지고 있다면 패키지를 마음대로 지우지 못합니다.
이럴 때, 아래 명령어를 이용하면 의존성을 무시하고, 원하는 패키지를 깔끔하게 제거할 수 있습니다.

$ sudo dpkg --purge --ignore-depends={pkg-name} {pkg-name}

예를 들어 libelm 이라는 패키지를 제거하려고 할 때,
$ sudo apt-get remove libelm

혹은
$ sudo dpkg --remove libelm

와 같이 하면 의존성이 걸린 패키지가 있다고 경고가 나옵니다.
이 때,
$ sudo dpkg --purge --ignore-depends=libelm libelm

와 같이 하면 의존성을 무시하고 깔끔하게 libelm 패키지를 설치합니다.
물론 정상적으로 프로그램을 실행하려면 libelm 패키지를 다시 설치해야겠지만요.

조금 더 자세히 설명을 하면,
A, B, C 라는 패키지를 설치했는데,
A 는 B 에 의존하고, B 는 C 에 의존한다면
C 라는 패키지를 삭제하기 위해서 A, B 를 모두 삭제해야 깔끔하게 의존성 문제가 해결됩니다.
C 만 삭제하면 이를 이용하는 B 가 문제될 수 있고, 또한 B 를 이용하는 A 가 문제될 수 있기 때문입니다.

그런데 개발을 하다보면 C 만 깔끔하게 지우고 다시 C 를 설치해야 하는 일이 발생합니다.
꼭 이 경우가 아니더라도 의존성을 검사하지 않고 해당 패키지만 지울 일이 발생하곤 하는데
그런 경우 위에 설명한 명령어를 이용해서 간단히 패키지를 지울 수 있습니다.



핑백

덧글

댓글 입력 영역