`ทางเลือกการอัพเดท 'ทำอะไรกันแน่?


99

คำสั่งupdate-alternativesใช้ทำอะไร

ใช้ตัวอย่างนี้:

sudo update-alternatives --install /usr/bin/java java /usr/local/java/jre1.7.0_09/bin/java 1

มันทำอะไร? มันแตกต่างจากการเพิ่ม jdk ในเส้นทางอย่างไร?

สมมุติว่าฉันรันคำสั่งแล้ว ฉันจะเปลี่ยนกลับไปใช้สถานะเดิมได้อย่างไร


2
นอกจากนี้คุณยังสามารถใช้sudo update-alternatives --config javaและjavacและjavawsจะเลือกระหว่างรุ่นที่ติดตั้ง
Shayan

คำตอบ:


73

มันอัปเดตลิงก์/etc/alternativesให้ชี้ไปที่โปรแกรมเพื่อจุดประสงค์นี้ มีตัวอย่างมากมายเช่นx-www-browser, editorฯลฯ ที่จะเชื่อมโยงไปยังเบราว์เซอร์หรือแก้ไขที่คุณต้องการ สคริปต์หรือเครื่องมือระบบบางอย่างอาจต้องการให้คุณแก้ไขไฟล์ด้วยตนเอง (เช่นความขัดแย้งของการกำหนดค่าdpkg) และพวกเขาจะพิจารณาทางเลือกอื่นเพื่อให้คุณได้รับการแก้ไข สำหรับjavaนี่คือสภาพแวดล้อมรันไทม์ของ Java - ของ Oracle, OpenJRE เป็นต้น

ลิงค์ใน/etc/alternativesเป็นเพียงสัญลักษณ์เชื่อมโยง คุณสามารถเห็นพวกเขาใช้เป็นตัวอย่าง

ls -l /etc/alternatives

นอกจากนี้/usr/binไบนารีปกติยังมีการเชื่อมโยง เช่น:

ls -l /usr/bin/java
  lrwxrwxrwx 1 root root 22 Aug 14 10:33 /usr/bin/java -> /etc/alternatives/java
ls -l /etc/alternatives/java
  lrwxrwxrwx 1 root root 46 Aug 14 10:33 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java

ดังนั้นไม่PATHจำเป็นต้องแก้ไข มันใช้ลิงก์สัญลักษณ์


ดังนั้นในคำอื่น ๆ ฉันสามารถพิมพ์คำสั่งเดียวและมันจะทำให้ฉันเลือก นั่นเป็นข้อได้เปรียบที่เพิ่มเข้ามาเพียงอย่างเดียวในการตั้งค่าเส้นทางที่ถูกต้อง นอกจากนี้ยังบอกว่าฉันมีผู้จำหน่ายจาวาที่แตกต่างกันและฉันจะอัปเดตจาวาให้ชี้ไปที่ผู้ขายที่ต่างกันสองคนได้อย่างไร
นักพัฒนาซอฟต์แวร์ Android

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

1
ถูก ที่ล้างสิ่งต่าง ๆ ฉันรู้ว่าฉันกลับมาสู่เส้นทาง แต่ฉันต้องการเข้าใจความแตกต่างระหว่างพวกเขา ในกรณีของพา ธ เราต้องระบุตำแหน่งอย่างชัดเจน แต่ในกรณีนี้มันเป็นเพียงลิงค์ sym ดังนั้นเมื่อเราพิมพ์ java มันจะค้นหา / etc / ทางเลือกแรก หรือฉันผิดในการทำสมมติฐานนี้
นักพัฒนา Android
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.