Làm cách nào để bỏ qua trang giấy phép để tải xuống Oracle / Sun Java trên máy chủ với wget?


10

Tôi đang cố gắng cài đặt Liferay trên Ubuntu Server 12.04, yêu cầu JRE và khuyến nghị phiên bản 6.

Tôi không thể tìm thấy JRE6 trong kho lưu trữ có thẩm quyền và tôi không thể tìm ra cách vượt qua thỏa thuận cấp phép cho tải xuống thủ công (wget).

Tôi có thể thêm một giá trị để quên chấp nhận thỏa thuận cấp phép của Oracle và tải xuống tệp không?

Cảm ơn


Đối với những người tìm kiếm trong tương lai, hãy kiểm tra điều này: stackoverflow.com/a/10959815/2184122
Robert Lugg

Câu trả lời:


10

Tải xuống Java Java "tự động" (JRE / JDK 6/7 và những người khác ...)

Bạn sẽ cần cài đặt sqlite3 ; Đó là một gói nhỏ, sử dụng sudo apt-get install sqlite3nếu bạn cần.

  1. Mở Firefox, đi đến trang tải xuống Java cho phiên bản / biến thể bạn cần và nhấp vào nút radio Chấp nhận Giấy phép Thỏa thuận .

    nhập mô tả hình ảnh ở đây

  2. Mở một thiết bị đầu cuối và dán cái này để trích xuất các cookie phiên Oracle cần thiết từ cơ sở dữ liệu cookie Firefox SQLite vào một cookiestệp văn bản định dạng wgetcó thể sử dụng ( nguồn cho tập lệnh ):

    tiếng vang ".mode tab
    chọn máy chủ, trường hợp khi máy chủ lưu trữ toàn cầu '. *' rồi 'TRUE' khác 'FALSE' end, path,
    trường hợp khi isSecure sau đó 'TRUE' khác 'FALSE' kết thúc, hết hạn, tên, giá trị
    từ moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Bây giờ sử dụng wgetđể tải xuống với các cookie phiên:

    wget --load-cookies=/tmp/oracle-cookies.txt wget http://download.oracle.com/otn-pub/java/jdk/6u14-b08/jdk-6u14-linux-x64.bin
  4. Ghi chú:

    • Bạn có thể sử dụng các cookie này cho bất kỳ tải xuống nào của Oracle miễn là nó đến từ otn-pubthư mục
    • Bạn có thể dán tập lệnh vào tệp .sh để sử dụng dễ dàng hơn
    • Các cookie không được liên kết với IP, vì vậy, đối với máy chủ không đầu / CLI, chỉ cần SCP hoặc chuyển cookiestệp và bạn có thể tải xuống từ bất kỳ máy tính nào (nhưng có thời gian chờ 30 phút trên cookie, vì vậy hãy cẩn thận)
    • Liên quan: Làm cách nào để sử dụng wget / curl để tải xuống từ trang tôi đang đăng nhập?

1
Có hợp pháp 100% không?
Tachyons

@tachyons Vâng, bạn phải mở một trình duyệt trên một số máy tính và bấm vào "Chấp nhận thỏa thuận cấp phép" trước khi bạn có thể làm bất cứ điều này ...
ish

Thủ thuật tuyệt vời, nhưng bất kỳ ý tưởng nếu nó vẫn hoạt động? Tôi tiếp tục dùng thử nhưng nó chỉ tải xuống một nội dung trang html có nội dung "Xin lỗi! Để tải xuống các sản phẩm từ OTN, bạn phải đồng ý với các điều khoản cấp phép OTN". Hoặc là tôi đang làm sai hoặc Oracle đã khôn ngoan với điều này ...
Kurtosis

Bạn luôn có thể vừa qua url đó vào trình duyệt :)
Dreamwalker

Trong khi câu trả lời này là tuyệt vời, thì câu tôi vừa đăng dưới đây dễ dàng hơn nhiều . Tất nhiên, bạn có thể cần phải quay lại cái này nếu cái của tôi ngừng hoạt động.
Periata Breatta

6

Có một câu hỏi tương tự trên stackoverflow: Làm cách nào để tự động tải xuống và cài đặt Java JDK trên Linux?

Câu trả lời bằng wget là:

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz"

Đối số cuối cùng là url để tải xuống từ. Lưu trữ phiên bản java khác nhau không chỉ khác nhau về phiên bản, mà cả phần mở rộng.


2
Công việc ngắn hạn.
Roger Dahl

vâng, điều này không hiệu quả, hãy chuyển hướng tôi đến login.oracle.com
Alexander Mills

6

Một mẹo từ mkyong.com : bạn có thể sử dụng wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]để tải xuống mà không cần trích xuất cookie từ trình duyệt của mình.


Điều này rõ ràng là tốt hơn so với các câu trả lời khác miễn là nó hoạt động. Nó vẫn là trường hợp tại thời điểm viết bài này.
Ludovic Kuty

1

Ngoài câu trả lời cho izx, có một plugin chrome bạn có thể sử dụng để xuất cookie, vì vậy bạn không phải sử dụng sqlite.


Câu trả lời của @ izx thật tuyệt. Nhưng tôi rất thích đề xuất của Pushy về việc sử dụng "xuất khẩu Cookie.txt" để lấy nội dung cookie (tương ứng với bước 2 trong câu trả lời của izx) hơn là sử dụng sqlite3.
mdahlman

0

Một cách nhanh chóng với cookie ra:

  • Bắt đầu tải xuống trong trình duyệt của bạn
  • Tạm dừng tải xuống
  • Sao chép url đang được sử dụng để tải xuống
  • Sử dụng url với wget: wget --no-check-certificate URL_FOR_DOWNLOAD

URL có lẽ chỉ hợp lệ trong một khoảng thời gian giới hạn (thường là 30 phút).


0

Trên thực tế, chỉ cần lấy nội dung được cung cấp bởi tiện ích chrome được đề cập bởi Pushy trong một tệp trên linux của bạn. Sau đó sao chép dl adresse từ trang oracle và thêm nó vào lệnh wget của bạn. Ví dụ: để dl Cơ sở dữ liệu Oracle 11g Phiên bản 2 (11.2.0.1.0):

vagrant@vagrant-ubuntu-trusty-64:~/download$ wget -x --load-cookies cookies.txt http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.