Java를 완전히 제거하는 방법?


답변:


311
  1. 모든 Java 관련 패키지 (Sun, Oracle, OpenJDK, IcedTea 플러그인, GIJ)를 제거하십시오.

    dpkg-query -W -f='${binary:Package}\n' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e '^java-common' | xargs sudo apt-get -y remove
    sudo apt-get -y autoremove
    
  2. 구성 파일 제거 (주의)이 명령은 libsgutils2-2 및 virtualbox 구성 파일도 제거했습니다.

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Java 구성 및 캐시 디렉토리를 제거하십시오.

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. 수동으로 설치된 JVM을 제거하십시오.

    sudo rm -rf /usr/lib/jvm/*
  5. 대안 에서 Java 항목이 여전히 있으면 제거하십시오 .

    for g in ControlPanel java java_vm javaws jcontrol jexec keytool mozilla-javaplugin.so orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200 appletviewer apt extcheck HtmlConverter idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc xulrunner-1.9-javaplugin.so; do sudo update-alternatives --remove-all $g; done
  6. 가능한 나머지 Java 디렉토리를 검색하십시오.

    sudo updatedb
    sudo locate -b '\pack200'
    

    이 명령은 위와 같이 모든 출력 생산하는 경우 /path/to/jre1.6.0_34/bin/pack200의 부모 디렉토리 제거 이 등을 : sudo rm -rf /path/to/jre1.6.0_34.


6
이 답변을 테스트 했습니까? 나는 당신이 모든 것을 가지고 있다고 확신하지만, 이중 검사 만하면됩니다. :)
Jorge Castro

10
@JorgeCastro, 절대적으로. 이러한 명령을 하나씩 빌드 한 다음 모두 함께 파이프하고 작업중인 일부 워크 스테이션에서 테스트 목적으로 사용하는 다른 Java 설치 시나리오에서 모든 명령을 실행했습니다. 필자 grep는 파이프 출력에 관심을 기울였으며 apt-get remove, deb 패키지로 설치하는 것과 관련된 거의 모든 가능성을 다루고 있다고 생각합니다.
Eric Carvalho

2
제시된 명령 시퀀스가 ​​대부분의 경우 작동하지만 내 대답에는 약간의 개선이 필요하다고 생각합니다. 모든 사람은 각 명령에 대한 더 나은 설명이나 다루지 않는 시나리오를 지적하는 등 개선 할 수있는 변경 사항을 제안하십시오.
Eric Carvalho

3
답변은 +1입니다. 최근에 openjdk를 제거하면 다른 Java 패키지가 설치되는 시나리오가 발견되었습니다. 이 문제의 해결 방법은 모든 저장소를 비활성화 한 다음 제거 명령을 실행하는 것입니다.
Anwar

1
@EricCarvalho 명령을 실행할 때 sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf터미널의 응답이 유효하지 않은 것으로 표시되었습니다.
n00b

38

Ubuntu 11.10에서 OpenJDK를 완전히 제거하려면 (다른 버전의 Ubuntu에서는 충분하거나 충분하지 않을 수 있음) 다음을 실행하십시오.

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

독점 Oracle ( "Sun") 버전의 Java를 제거하기위한 지침을 원하는 경우 설치 방법을 지정해야합니다. (이를 나타 내기 위해 질문을 편집 하고이 답변에 의견을 남기면 해당 질문을 제거하는 방법에 대한 정보를 추가하려고 시도합니다.)


위의 방법을 시도했지만 우분투 11에서 오류없이 완료되었지만 여전히 Java -version을 실행하고 openjdk 버전 "11.0.3"을 다시 가져올 수 있습니다 2019-04-16
John Little

17

문제를 해결하기 위해 OpenJDK를 완전히 제거하지 않아도됩니다. sun-java6 패키지를 설치하십시오. 그런 다음을 사용 update-java-alternatives하여 Sun Java 패키지로 전환하십시오.

OpenJDK를 완전히 제거하려면 default-jdk 및 / 또는 default-jre 패키지를 제거하십시오. 일부 Java 패키지를 제거해야 할 수도 있지만 Sun JDK 패키지를 설치 한 후에는 대부분 만족해야합니다.

패키지 제거가 완료되면 이러한 정리 팁 중 하나를 수행 할 수 있습니다 .


나는 이미 update-java-alternatives를 수행했습니다. 그것을 언급 했어야했다. 나는 또한 업데이트 대체 -config java를 수행했습니다. 이제 크롬과 파이어 폭스는 자바 플러그인이 오래되어 차단되었다고 알려줍니다 ...
CaldwellYSR

--plugin 옵션으로 update-java-alternatives를 실행하고 원래 값으로 다시 설정하십시오. 이 도구를 사용하여 기본값을 혼합하고 일치시킬 수 있습니다. 11.10과 함께 설치된 브라우저는 sun-java7을 기대할 수 있습니다.
BillThor

13

Oracle Java 7을 제거하려면 키보드에서 Ctrl+ Alt+ T를 눌러 터미널을 엽니 다. 열리면 아래 명령을 실행하십시오.

sudo update-alternatives --display java

Java를 제거하기 전에 설정을 확인하십시오.

다음으로 심볼릭 링크를 제거하십시오

((version)이라는 단어를 Java 버전으로 바꾸십시오. 버전 java -version을 얻으려면 DO 를 사용하십시오. 따라서 버전이 1.7.0_03 인 경우 type sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk1.7.0_03/bin/java")

sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk<version>/bin/java"
sudo update-alternatives --remove "javac" "/usr/lib/jvm/jdk<version>/bin/javac"
sudo update-alternatives --remove "javaws" "/usr/lib/jvm/jdk<version>/bin/javaws"

심볼릭 링크가 제거되었는지 확인

java -version
javac -version
which javaws

시스템을 영구적으로 파괴하지 않으려면 다음 2 개의 명령을 완벽하게 입력해야합니다 .

cd /usr/lib/jvm
sudo rm -rf jdk<version>

그런 다음

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

그런 다음

sudo vi  /etc/environment

JAVA_HOME 1로 줄 삭제



OpenJDK를 설치 제거합니다 (설치된 경우). 먼저 설치된 OpenJDK 패키지를 확인하십시오.

sudo dpkg --list | grep -i jdk

openjdk를 제거하려면 다음을 수행하십시오.

sudo apt-get purge openjdk*

OpenJDK 관련 패키지를 설치 제거하십시오.

sudo apt-get purge icedtea-* openjdk-*

모든 OpenJDK 패키지가 제거되었는지 확인하십시오.

sudo dpkg --list | grep -i jdk

1 출처 : akbarahmed.com


/usr/lib/jvm폴더도 제거 할 수 없습니까? 내가 아는 한 Java에서만 사용됩니다.
njallam

나는 당신이 거기에 그것을 추가 할 수 있다고 생각합니다.
Mitch

3

이 명령을 시도하십시오 :

java -version

1.6 *이 오면 다음을 시도하십시오.

sudo apt-get autoremove openjdk-6-jre

1.7 *이 오면 다음을 시도하십시오.

sudo apt-get autoremove openjdk-7-jre

시스템에 jdk가 없다고 가정합니다. 이 명령을 사용한 경우 :

sudo apt-get autoremove openjdk-`<version>`-jdk

이전 예에서와 같이 버전으로 바꿉니다.


2

시냅틱을 사용하는 것이 더 쉽습니다.

탭 "섹션"을 클릭하여 java로 스크롤하십시오. 녹색 상자로 표시된 각 항목을 선택하고 완전히 제거 표시하십시오. 모든 Java 섹션 및 모든 파일에 대해 반복하십시오.


1

엘리아와 동의 함. "apt-get purge"명령은 해당 패키지를 완전히 제거 할 수 있습니다.

이전에 java-6-sun 패키지 사본을 설치했다고 가정하면 후속 조치를 수행하면 깨진 심볼릭 링크를 제거하는 데 도움이됩니다.

sudo update-alternatives --config java

그런 다음 기본 Java 호출 경로로 연결할 올바른 경로를 선택하십시오.

그런 다음이 명령으로 Java 버전을 확인하십시오.

java -version

1

JDK 또는 JRE의 모든 파일을 제거하십시오. 예를 들어 일반적으로 다음 위치에 설치됩니다.

/usr/lib/jvm/java-7-oracle

따라서 루트 권한이있는 "java-7-oracle"폴더에있는 모든 파일을 제거하고 최신 JDK 또는 JRE 파일을 추출하십시오. 이제 최신 Java 버전이 설치되었습니다.

PS 디렉토리 이름이 java-7-oracle 과 다를 수 있습니다 .

참조 : Oracle의 공식 설치 지침

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.