関連のないGUIおよびサウンドパッケージをドラッグせずにUbuntu 12.04にopenjdk-7-jdkをインストールする方法は?


16

Ubuntu 12.04.2 LTS

何が起きてる?

# apt-get install openjdk-7-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  consolekit cryptsetup-bin dbus-x11 dconf-gsettings-backend dconf-service
  gconf-service gconf-service-backend gconf2 gconf2-common gvfs gvfs-common
  gvfs-daemons gvfs-libs libatasmart4 libavahi-glib1 libbonobo2-0
  libbonobo2-common libcairo-gobject2 libcanberra0 libck-connector0
  libcryptsetup4 libdconf0 libfontenc1 libgconf-2-4 libgconf2-4 libgdu0
  libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgnome-keyring-common
  libgnome-keyring0 libgnome2-0 libgnome2-bin libgnome2-common libgnomevfs2-0
  libgnomevfs2-common libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0
  libidl-common libidl0 libllvm3.0 libltdl7 liblvm2app2.2 liborbit2
  libpam-ck-connector libpolkit-agent-1-0 libpolkit-backend-1-0 libsgutils2-2
  libtdb1 libvorbisfile3 libx11-xcb1 libxaw7 libxcb-glx0 libxcb-shape0 libxmu6
  libxpm4 libxv1 libxxf86dga1 libxxf86vm1 mtools openjdk-7-jre policykit-1
  policykit-1-gnome sound-theme-freedesktop udisks x11-utils

GnomeとX11の半分なしでJDKをインストールすることは可能ですか?サウンドのテーマは?これは、ヘッドレス(およびスピーカーレス)サーバーです。


2
--no-install-recommendsオプションを追加すると役立ちますか?
gertvdijk

3
ヘッドレスサーバーでJava Development Kitが必要なのはなぜですか?通常、Javaアプリケーションのみを実行する場合は、ランタイム環境のみが必要です。openjdk-7-jre-headlessあなたのニーズに合うかどうか試してみてください。
エリック

10
@EricCarvalhoここに1つの使用例があります:Javaソースを構築する継続的統合サーバー。ヘッドレスサーバーでJavaソフトウェアを構築することは、それほどエキゾチックではありません。
gertvdijk

3
@gertvdijkわかった。次に、これはバグだと思います。openjdk-7-jdk-headlessパッケージがあるはずです。
エリック

回答:


9

更新しました

私の意見ではJavaは非常に不器用なので、私は個人的にJavaを避けるようにしています。これらの手順はさまざまなソースからまとめられているので、最近Javaをインストールする必要がありましたが、これでうまくいくはずです。

ライセンス要件で許可されている場合は、Oracle Javaをインストールします。ここからjavaをダウンロードし、インストールした内容に基づいて必要なものを選択する必要があります。

JDK x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz

JDK x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz

JRE x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-x64.tar.gz

JRE x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-i586.tar.gz

wgetoracleと一緒に再生するには、回避策が必要なことに注意してください。

Javaが存在するディレクトリを作成します。

sudo mkdir -p /usr/lib/jvm

ダウンロードしたJavaを移動します。

sudo mv jdk-7u51-linux-x64.tar.gz /usr/lib/jvm

Javaの抽出:

sudo tar zxvf jdk-7u51-linux-x64.tar.gz

UbuntuにJavaが存在することを伝えます。

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_51/bin/java 1
sudo update-alternatives --set javac /usr/lib/jvm/jdk1.7.0_51/bin/javac
sudo update-alternatives --set java /usr/lib/jvm/jdk1.7.0_51/bin/java

システムプロファイルにjavaパスを追加して、Javaバイナリがどこにあるかをマシンが認識できるようにします。

sudo nano /etc/profile

ファイルの最後にこれを追加します:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH

保存して再起動します。

Javaインストールをテストします。

java -version

1
これは私のために働いた。私が行った唯一の変更は、現在のjdkディレクトリ/usr/lib/jvm/jdk1.7.0_45から一般的な場所へのシンボリックリンクを追加することでした:/ usr / lib / jvm / java-7-oracleこの方法ではありませんJDKが更新されるたびに/ etc / profile(および可能な他のアプリケーションの場所)のパスを更新します。また、多くのプログラム(elasticsearchなど)は、デフォルトの場所の1つとして/ usr / liv / jvm / java-7-oracleでjavaを探します。
ヴィル14年

2

非常に古いものですが、まだ誰かがこれを探している場合は、openjdk-7-jre-headlessまたはopenjdk-6-jre-headlessをインストールしてください


質問はバージョン7については、特に求めている
デビッド・フェルスター

5
JRE = JDKなしのjdk-ヘッドレスはありません!
Dr.Haribo

ただし、「openjdk-8-jre-headless」は16.04の「libx11-6」に依存していますが、これは最終的にX11全体を取り込むことになります。
ThisGuy

-1

これは、ソースからインストールするときに依存関係をスキップするのは得策ではないと思います。これを常にスキップすることはできません。apt-getを使用して依存関係を更新すると、そこでもチェックされます。


3
「ソースからインストールする場合」 OPはソースからインストールしません。
gertvdijk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.