วิธีการติดตั้ง openjdk-7-jdk บน Ubuntu 12.04 โดยไม่ต้องลากในแพ็คเกจ GUI และเสียงที่ไม่เกี่ยวข้อง?


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

เป็นไปได้หรือไม่ที่จะติดตั้ง JDK ที่ไม่มี Gnome และ X11 ครึ่งหนึ่ง? และธีมเสียง? นี่เป็นเซิร์ฟเวอร์ที่ไม่มีหัว (และไม่มีลำโพง)


2
มันช่วยถ้าคุณเพิ่ม--no-install-recommendsตัวเลือก?
gertvdijk

3
ทำไมคุณต้องมี Java Development Kit ในเซิร์ฟเวอร์แบบไร้หัว? หากคุณต้องการรันแอปพลิเคชัน Java โดยปกติแล้วสิ่งที่คุณต้องมีก็คือ Runtime Environment ลองดูว่าopenjdk-7-jre-headlessเหมาะสมกับความต้องการของคุณหรือไม่
Eric Carvalho

10
@EricCarvalho ต่อไปนี้เป็นกรณีการใช้งานหนึ่งกรณี: เซิร์ฟเวอร์การรวมอย่างต่อเนื่องที่สร้างซอร์ส Java การสร้างซอฟต์แวร์ Java บนเซิร์ฟเวอร์ที่ไม่มีหัวนั้นไม่ใช่เรื่องแปลกใหม่
gertvdijk

3
@gertvdijk เข้าใจแล้ว จากนั้นฉันคิดว่านี่เป็นข้อผิดพลาด ควรมีแพ็คเกจ openjdk-7-jdk-headless
Eric Carvalho

คำตอบ:


9

ปรับปรุง

ฉันพยายามหลีกเลี่ยง 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

โปรดทราบว่าคุณต้องมีวิธีแก้ปัญหาสำหรับwgetและ oracle เพื่อเล่นด้วยกัน

สร้างไดเรกทอรีที่ 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
สิ่งนี้ใช้ได้สำหรับฉัน การเปลี่ยนแปลงเดียวที่ฉันทำคือการเพิ่ม symlink จากไดเรกทอรี jdk ปัจจุบัน /usr/lib/jvm/jdk1.7.0_45 ไปยังตำแหน่งทั่วไป: / usr / lib / jvm / java-7-oracle วิธีนี้ไม่มี เพื่ออัปเดตพา ธ ใน / etc / profile (และในตำแหน่งแอปพลิเคชันอื่น ๆ ที่เป็นไปได้) ทุกครั้งที่มีการอัพเดต JDK นอกจากนี้หลายโปรแกรม (เช่น elasticsearch) มองหา java at / usr / liv / jvm / java-7-oracle เป็นหนึ่งในตำแหน่งเริ่มต้น
วิลล์

2

สิ่งเก่ามาก แต่ถ้ามีบางคนกำลังมองหาสิ่งนี้เพียงแค่ติดตั้ง openjdk-7-jre-headless หรือ openjdk-6-jre-headless


คำถามจะถามเฉพาะเกี่ยวกับรุ่น 7
David Foerster

5
jre! = jdk ไม่มี jdk-headless
Dr.Haribo

ยกเว้นไม่ใช่: "openjdk-8-jre-headless" ขึ้นอยู่กับ "libx11-6" ใน 16.04 สิ่งนี้สิ้นสุดลงด้วยการดึงทั้งหมด X11
ThisGuy

-1

ฉันคิดว่านี่ไม่ใช่ความคิดที่ดีที่จะข้ามการพึ่งพาใด ๆ เมื่อติดตั้งจากแหล่งที่มา คุณไม่สามารถข้ามได้ตลอดเวลา เมื่อคุณอัปเดตการพึ่งพาโดยใช้ apt-get มันจะถูกตรวจสอบที่นั่นด้วย


3
"เมื่อติดตั้งจากแหล่งที่มา" OP ไม่ได้ติดตั้งจากแหล่งที่มา
gertvdijk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.