Nếu OpenJDK / OpenJRE hoạt động tốt cho bạn, tôi khuyên bạn nên sử dụng gói đó thay vì như được đề xuất bởi @SAM. Tuy nhiên, một số phần mềm thực sự yêu cầu JDK / JRE của Oracle. Câu trả lời này là làm thế nào để tắt câu hỏi giấy phép với gói Oracle từ PPA.
Đầu tiên, hãy nhận ra câu hỏi được hỏi là một tính năng của gói, được tạo bởi nhà phát triển.
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
Như @Nate đã chỉ ra trong câu trả lời của anh ấy, nên có một lựa chọn im lặng. Và có. Làm điều này trước khi cài đặt nó:
$ 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
Điều này đặt giá trị của khóa debconf thành true, nhưng cũng đánh dấu nó như người dùng nhìn thấy. Bây giờ câu hỏi này không nên xuất hiện!
Làm thế nào tôi tìm thấy điều này?
Trong nguồn của gói, tôi đã theo dõi điều này trong oracle-java7-installer.preinst
tệp:
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
Ràng, nó sử dụng giá trị debconf cho chìa khóa shared/accepted-oracle-license-v1-1
để kiểm tra xem người dùng đã chấp nhận giấy phép. Nếu có, tập lệnh sẽ thoát một cách duyên dáng và cho phép cài đặt tiếp tục mà không hỏi bạn câu hỏi. Bây giờ chúng ta chỉ nên nói với debconf rằng bạn đã chấp nhận Giấy phép Oracle 1.1.
Vui lòng tham khảo trang hướng dẫn để debconf-set-selections
biết thêm chi tiết, nhưng đây là ví dụ cho vấn đề của bạn và hoạt động tương tự cho các gói khác. Bạn có khóa nào khác trên hệ thống của mình trong cơ sở dữ liệu của debconf? Cài đặt debconf-utils
và làm
$ sudo debconf-get-selections
Sau đó, grep để có thêm khóa bạn cần thiết lập trong cài đặt tự động. Đây là cách linh hoạt hơn so với sử dụng -y
với apt-get
vì nó mang đến cho bạn cơ hội để thiết lập khác hơn là thiết lập mặc định về thời gian cài đặt.