หาก OpenJDK / OpenJRE ทำงานได้ดีสำหรับคุณฉันแนะนำให้ใช้แพ็คเกจนั้นแทนตามที่ @SAM แนะนำ อย่างไรก็ตามซอฟต์แวร์บางตัวจำเป็นต้องใช้ JDK / JRE ของ Oracle จริงๆ คำตอบนี้เป็นวิธีการเงียบคำถามใบอนุญาตกับแพ็คเกจ Oracle จาก PPA
ก่อนอื่นมารู้จักคำถามที่ถามกันว่าเป็นคุณลักษณะของแพ็คเกจที่สร้างโดยนักพัฒนา
oracle-java7-installer (7u7-0~webupd8~4) maverick; urgency=medium
* removed cookie file use or else the PPA stays disabled
* request the user to accept the Oracle license before installation
-- Alin Andrei <webupd8@gmail.com> Tue, 04 Sep 2012 14:18:29 +0200
ตามที่ @Nate ระบุไว้ในคำตอบของเขาควรมีตัวเลือกแบบไม่มีเสียง และก็มี ทำสิ่งนี้ก่อนติดตั้ง:
$ echo debconf shared/accepted-oracle-license-v1-1 select true | \
sudo debconf-set-selections
$ echo debconf shared/accepted-oracle-license-v1-1 seen true | \
sudo debconf-set-selections
สิ่งนี้ตั้งค่าของคีย์ debconf เป็นจริง แต่ยังทำเครื่องหมายว่าผู้ใช้เห็นเช่นกัน ตอนนี้คำถามนี้ไม่ควรปรากฏขึ้น!
ฉันพบสิ่งนี้ได้อย่างไร
ในที่มาของแพ็คเกจฉันติดตามสิ่งนี้ลงในoracle-java7-installer.preinst
ไฟล์:
license=oracle-license-v1-1
# snip
db_get shared/accepted-$license
if [ "$RET" = "true" ]; then
echo "$license license has already been accepted" >&2
exit 0
fi
เห็นได้ชัดว่ามันใช้ค่าของ debconf สำหรับคีย์shared/accepted-oracle-license-v1-1
เพื่อตรวจสอบว่าผู้ใช้ได้ยอมรับใบอนุญาตแล้ว หากเป็นเช่นนั้นสคริปต์จะออกจากระบบอย่างสุภาพและอนุญาตให้การติดตั้งดำเนินการต่อโดยไม่ถามคำถามคุณ ตอนนี้เราควรบอก debconf ว่าคุณยอมรับ Oracle License 1.1 แล้ว
โปรดดูdebconf-set-selections
รายละเอียดเพิ่มเติมในmanpage แต่นี่เป็นตัวอย่างสำหรับปัญหาของคุณและใช้งานได้กับแพ็คเกจอื่น ๆ คุณมีปุ่มอื่นในระบบของคุณในฐานข้อมูลของ debconf อย่างไร ติดตั้งdebconf-utils
และทำ
$ sudo debconf-get-selections
จากนั้น grep สำหรับคีย์เพิ่มเติมที่คุณต้องตั้งค่าในการติดตั้งอัตโนมัติของคุณ นี่เป็นวิธีที่มีความยืดหยุ่นมากกว่าการใช้-y
ด้วยapt-get
เนื่องจากจะให้โอกาสคุณในการตั้งค่าอื่นนอกเหนือจากการตั้งค่าเริ่มต้นในเวลาการติดตั้ง