
make-jpkg 및 fakeroot를 사용하여 Debian Wheezy에 Oracle Java를 설치하는 방법은 무엇입니까?
debian wheezy에 oracle java를 설치하는 매뉴얼은 매우 명확하고 이해하기 쉽습니다.
http://wiki.debian.org/JavaPackage https://blogs.oracle.com/marigan/entry/installation_of_the_jdk_on http://www.debian-administration.org/articles/142
- 오라클에서 jdk-7u21-linux-x64.tar.gz를 다운로드하세요.
- 자바 패키지를 설치
- jdk-7u21-linux-x64.tar.gz를 사용하여 make-jpkg를 실행합니다.
루트 실행으로:
make-jpkg jdk-7u21-linux-x64.tar.gz
fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz
다음 오류가 발생합니다.
당신은 실제 루트입니다. 불행하게도 일부 Java 배포판에는 /etc를 직접 조작하는 설치 스크립트가 있어 시스템에 일부 불일치가 발생할 수 있습니다. 대신 루트가 아닌 사용자가 되어 다음을 실행해야 합니다.
fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz
이렇게 하면 시스템 파일이 손상되지 않고 Java 배포판이 성공적으로 추출될 수 있습니다.
중단하는 중입니다.
일반 사용자로 실행 중:
make-jpkg jdk-7u21-linux-x64.tar.gz
fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz
경고/오류 벽이 모두 발생합니다.
일부 오류:
dpkg-shlibdeps: warning: Can't extract name and version from library name `libverify.so'
error: couldn't find library libxslt.so.1 needed by /tmp/make-jpkg.MxvYKHyE3L/install/usr/lib/jvm/j2sdk1.7-oracle/jre/lib/amd64/libjfxwebkit.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-gencontrol: warning: Depends field of package oracle-j2sdk1.7: unknown substitution variable ${shlibs:Depends}
dpkg-shlibdeps: error: cannot continue due to the errors listed above
전체 출력: fakeroot 없음 http://pastie.org/private/r2llqa2pubqzh8krhbymw
가짜뿌리와 함께 http://pastie.org/private/kigrgcsam9pvdazbex1fa
설치가 잘 됩니다:
dpkg -i oracle-j2sdk1.7_1.7.0+update21_amd64.deb
자바 버전:
java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
오류를 무시해도 안전한가요?
답변1
우선, dpkg-shlibdeps에서 발생하는 경고를 무시할 수 있습니다. 오류는 JDK에 대한 모든 라이브러리 종속성을 충족하기 위해 설치해야 하는 패키지를 알려줍니다.
이런 일이 발생하는 이유는 바이너리 배포판, 즉 미리 컴파일된 JDK에서 deb 패키지를 빌드하기 때문입니다. 일반적으로 데비안 패키지는 바이너리가 아닌 소스에서 빌드됩니다. 그러기 위해서는 패키지를 만드는 사람이 소스가 의존하는 모든 라이브러리를 특정 파일( debian/control
)에 추가해야 합니다. 해당 라이브러리가 설치되지 않으면 소스를 컴파일할 수 없으므로 패키지가 생성되지 않습니다.
귀하의 경우 전체 JDK는 이미 Oracle에 의해 컴파일되었으며 make-jpkg
소스에서 패키지를 빌드하는 프로세스만 모방합니다. 따라서 필요한 모든 라이브러리를 미리 설치할 필요는 없습니다.
오류를 침묵시키려면 누락된 파일( , , , ...) apt-file
이 포함된 패키지를 찾아 모두 설치하는 데 사용할 수 있습니다 .libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libatk-1.0.so.0
또는 Debian Wheezy용으로 사전 패키지되어 제공되며 apt-get install openjdk-7-jdk
.