อัพเดตทางเลือก: ปัญหา“ ไม่มีเส้นทางสำรอง” ในขณะอัปเดต JDK7


10

ฉันตัดสินใจที่จะอัปเดต JDK7 ของฉันกับรุ่นล่าสุดจากที่นี่

ที่เก็บถาวร x64 tag.gz ที่สอดคล้องกันสำหรับสถาปัตยกรรมของฉันได้รับการดาวน์โหลดและแยกไป/usr/lib/jvmตามปกติ Java เวอร์ชันก่อนหน้าทั้งหมดถูกติดตั้งก่อนหน้านี้ด้วยวิธีเดียวกัน แต่ก่อนที่จะกำหนดทางเลือกใหม่สำหรับjava, javacและjavawsฉันออกทางเลือกที่มีอยู่ทั้งหมดโดยใช้คำสั่งต่อไปนี้:

sudo update-alternatives --remove-all java
sudo update-alternatives --remove-all javac
sudo update-alternatives --remove-all javaws

ตอนนี้เมื่อพยายามติดตั้งทางเลือกใหม่ฉันได้รับสิ่งต่อไปนี้:

sudo update-alternatives --install /usr/lib/jvm/jdk1.7.0_13/bin/java java /usr/bin/java 1
update-alternatives: error: alternative path /usr/bin/java doesn't exist.

แน่นอน/usr/bin/javaไม่มีอยู่จริง แต่/usr/binทำไม่ได้? มีอะไรผิดปกติและฉันจะแก้ไขได้อย่างไร


1
มีwebupd8 java ppaสำหรับการอัพเดต Oracle JDK7
BuZZ-dEE

คำตอบ:


8

มันเป็นความผิดที่ยิ่งใหญ่ของฉัน! :)

update-alternativesผมผสมขึ้นข้อโต้แย้งของ บรรทัดคำสั่งที่ถูกต้องจะต้อง:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk/bin/java 1

ฉันโพสต์มันเป็นคำตอบ 'เพราะมันแก้ไขคำถาม ฉันไม่รู้แน่ชัดว่าควรลบคำถาม (แก้ไขด้วยตัวเองในเวลาอันสั้น) หรือโพสต์คำตอบ
ezze

การโพสต์คำตอบนั้นเป็นสิ่งที่ถูกต้อง แม้ว่าปัญหานี้จะเป็นภาษาท้องถิ่นฉันไม่แน่ใจว่าใครจะพบว่ามีประโยชน์ในอนาคต ใครจะรู้ฉันอาจจะผิด :)
นาธาน JB

ครั้งต่อไปที่คุณติดตั้ง / อัพเกรด Java ผมขอแนะนำให้ใช้webup8 java ppa (ลิงค์ที่แตกต่าง) - มันทำให้ทุกอย่างง่ายขึ้นมาก
นาธาน JB

2

เนื่องจากคุณกำลังอัปเดตจาก Java เวอร์ชันก่อนหน้าซึ่งคุณลบด้วยตนเองคุณจะต้องดำเนินการคำสั่งต่อไปนี้สองครั้ง คุณได้รับข้อความแสดงข้อผิดพลาดในครั้งแรกและจะทำงานเมื่อคุณดำเนินการเป็นครั้งที่สอง

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk/bin/java" 1

ที่มา: โครงการ Linux ง่าย


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