Skip to content

얼마전 저는 Ubuntu 12.04를 설치 후에 개발환경 구축을 위해서 JAVA JDK 7을 설치했습니다.

ppa에 Oracle-java7-installer를 추가하고, 설치를 하려고 했는데, 인스톨 스크립트에서 에러가 나는지 계속 설치가 않되는 것이다.

뭐, 반대로 삭제는 두말할 것도 없이 삭제가 않되었습니다.

01.jpg 프로그램을 설치하거나 삭제시에 나타나는 메세지 화면


그래서 이것 저것 찾다가 강제로 삭제하는 방법을 알아 내서 이렇게 Posting을 합니다.

첫째는 dpkg 폴더에 있는 status파일을 수정합니다.


$ cd /var/lib/dpkg

$ sudo vi status


그리고 삭제하려고 하는 패키지의 이름을 찾습니다.(vi 에디터에서 글자 찾기는 "/"를 누르고 /다음에 prompt가 뜨면 찾고자 하는 글귀를 치고 엔터를 누릅니다.)


02.jpg status 파일에서 삭제하고자하는 Package를 찾습니다.


그리고 찾아지는 패키지에대한 내용들이 있으면 삭제를 합니다. 삭제방법은 다음과 같이 하시면 됩니다.


03.jpg 패키지를 삭제하는 예시


위의 내용은 우분투 한국커뮤니티에 올라와있는 그림을 참고해온 것입니다.

삭제시 주의점은 간단합니다. 삭제를 할 때 저의 경우에는 vi 에디터에서 줄을 하나씩 지울 때 "d"키를 두 번씩 눌르면 됩니다. 그런데 지우실 때 어디까지 지워야 할지 모를 수가 있습니다. 그래서 다음 설명을 잘 보셔야 합니다.

지우는 부분은 Package에서 부터 다음 Package라는 구문이 나오기 전까지 입니다.

Package: oracle-java7-installer <==여기서 부터
-내용-
-내용-
-내용-
-내용-
-내용-
-내용-<==여기까지

Package: qt4-qtconfig

위와 같이 Package정보가 여러가지가 존재 합니다. 그 중에 강제로 삭제를 하려고하는 Package만 삭제하시면 됩니다.

위의 설명 처럼 Package만 삭제하면 됩니다. 저의 경우에는 oracle-java7-installer를 지워야 하기 때문에 oracle-java7-installer package에 대한 내용을 모두 삭제하고 저장하고 vi에디터를 빠져 나옵니다. 다음으론 available파일도 수정을 합니다.


$ sudo vi available


이 파일에서도 위에서 status파일에서 했던 것과 동일하게 지우시고자 하는 Package를 찾아서 삭제하고 저장하고 파일에서 나옵니다.

다음은 설치되어있는 것들을 찾아내서 삭제해야 합니다. 저는 패키지 이름이 oracle-java7-installer이기 때문에 아래와 같이 {패키지 이름}.list를 찾아서 내용을 확인합니다. 여기서 어디에 oracle-java7-installer에 관련된 파일들이 깔려 있는지를 볼 수가 있습니다.

$ sudo vi /var/lib/dpkg/info/oralce-java7-installer.list


이렇게하면 아래와 같이 해당 패키지의 리스트 정보를 보여 줍니다.<아래는 단지 참고 화면입니다.>


04.jpg dpkg info에 깔려 있는 패키지의 Deploy정보


주의 하셔야 할 것은 폴더는 삭제하시면 안된다는 것입니다. /usr/share/doc/ 아래에 있는 것만 빼고요.....^^

*.desktop 파일이나 *.png, *.xpm등은 물론 tar파일 zip, gzip 파일들을 모두 삭제합니다. 찾아서 삭제하셔야 합니다.

자 이제는 *.list와 같은 것들을 찾아 삭제합니다.


$ sudo rm oracle-java7-installer.list oracle-java7-installer.postinst oracle-java7-installer.prerm oracle-java7-installer.md5sums oracle-java7-installer.postrm


자 이것만 하고 나면 일단 모든 것을 수동으로 삭제했습니다. 자 이제는 apt-get 명령어를 이용해서 패키지에 대해서 clean을 해줍니다.


$ sudo apt-get clean

$ sudo apt-get update

$ sudo apt-get upgrade


여기까지 했으면 수동으로 잘못된 패키지를 모두 삭제한 것입니다.

뭐 저에 경우에는 이 이후로 에러메세지는 않뜨네요^^ ㅋㅋㅋㅋㅋ

그런데 조금 문제가 있네요. 리눅스가 발전하기 위해서는 이런 부분들이 조금더 편하게 할 수 있도록 바꾸는 것이 필요 한 것 같네요.

'2' 댓글

Admin

2013.10.30
11:21:20
(*.93.90.9)


[Linux] 우분투에서 강제로 패키지 제거하기


우분투에서 개발을 할 때 유용하게 사용할 수 있는 패키지 제거 팁을 소개합니다.

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

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


예를 들어 libelm 이라는 패키지를 제거하려고 할 때,

$ apt-get remove libelm


혹은

$ dpkg --remove libelm


와 같이 하면 의존성이 걸린 패키지가 있다고 경고가 나옵니다.
이 때,

$ dpkg --purge --ignore-depends=libelm libelm


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

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

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

Admin

2013.10.30
11:24:25
(*.93.90.9)


우분투 패키지 깔끔하게 제거


의존성에 문제가 생겨 패키지의 설치/제거가 안되는 경우

$ sudo apt-get -f install

패키지 제거시 설정파일까지 깨끗히 삭제 하고 싶은 경우

$ sudo apt-get remove --purge 패키지명

시스템의 전체적인 업그레이드

$ sudo apt-get dist-upgrade

패키지 검색 : apt-cache search 패키지명

패키지 정보 : apt-cache show 패키지명

$ apt-cache search amarok | grep amarok

문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
옵션 :
:
:
:
:
List of Articles
번호 제목 글쓴이 날짜 조회 수
57 Ubuntu에서 Bind9 DNS Server 설치하기 Admin 2014-01-06 1223
56 Ubuntu vmware-tools 설치 Admin 2013-11-17 1309
55 USB 외장 하드로부터 Ubuntu 설치하려면 ... Admin 2013-11-12 1238
54 [Linux]우분투 (리눅스) 에서 vmware tools 설치하기 file Admin 2013-11-02 1260
53 [linux] 윈도우 PC -> 리눅스 PC 원격 접속하기 [1] file Admin 2013-11-02 1509
52 우분투 서버에 한글을 기본 언어로 설정하는 방법 file Admin 2013-11-02 1241
51 우분투에서 root로 로그인하기 [1] Admin 2013-11-02 1217
50 우분투 서버 설치하기, http, ftp 설정하기 Admin 2013-11-01 1282
49 저비용 고효율 리눅스 서버 설치 및 운영 가이드 - Ubuntu Server 설치 [1] file Admin 2013-11-01 1379
48 [리눅스] 우분투 root 비밀번호 설정 Admin 2013-10-31 1231
47 USB에 우분투 설치하기 Admin 2013-10-31 1354
46 [스크랩] usb에 우분투 설치하여 휴대용(?)으로 사용하기 [1] file Admin 2013-10-31 1551
45 Linux-Ubuntu 유용한 정보 4 - mount 명령어 [1] Admin 2013-10-30 1332
44 [Ubuntu] 설치 중 파티션에 대한 이모저모 file Admin 2013-10-30 1257
» Ubuntu package delete - 우분투 패키지 강제 삭제 [2] file Admin 2013-10-30 1281
42 500 OOPS: vsftpd: refusing to run with writable root inside chroot() [2] Admin 2013-10-30 1215
41 [Ubuntu] vsftpd 설치 및 설정 [2] file Admin 2013-10-30 1002
40 우분투 vsftpd 설치하기 [3] Admin 2013-10-29 988
39 Ubuntu에 APM 설치 및 설정, 제로보드 XE 설치하기 [2] Admin 2013-10-29 968
38 우분투 12.04 서버세팅 [필독] [2] file Admin 2013-10-28 845

Copyrightⓒ Restart™ All rights Reserved. 2013. June

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5