Jak ominąć stronę licencji, aby pobrać Oracle / Sun Java na serwer z wget?


10

Próbuję zainstalować Liferay na Ubuntu Server 12.04, który wymaga środowiska JRE i zaleca wersję 6.

Nie mogę znaleźć JRE6 w autorytatywnym repozytorium i nie mogę wymyślić, jak ominąć umowę licencyjną w celu pobrania ręcznego (wget).

Czy mogę dodać wartość do wget, aby zaakceptować umowę licencyjną Oracle i pobrać plik?

Dzięki


Dla przyszłych poszukiwaczy sprawdź to: stackoverflow.com/a/10959815/2184122
— Robert Lugg

Odpowiedzi:


10

„Zautomatyzowane” pobieranie plików Oracle Java (JRE / JDK 6/7 i inne ...)

Będziesz musiał zainstalować sqlite3 ; to malutka paczka, użyj, sudo apt-get install sqlite3jeśli potrzebujesz.

  1. Otwórz Firefoksa, przejdź do strony pobierania Java dla potrzebnej wersji / wariantu i kliknij przycisk radiowy Akceptuj umowę licencyjną .

    wprowadź opis zdjęcia tutaj

  2. Otwórz terminal i wklej go, aby wyodrębnić niezbędne pliki cookie sesji Oracle z bazy danych plików cookie Firefox SQLite do cookiesformatu pliku tekstowego, którego wgetmożna użyć ( źródło skryptu ):

    echo ".mode zakładki
    wybierz host, wielkość liter, gdy host glob ”. *”, a następnie „PRAWDA”, w przeciwnym razie „FAŁSZ” koniec, ścieżka,
    w przypadku gdy isSecure to „PRAWDA”, w przeciwnym razie „FAŁSZ” koniec, wygaśnięcie, nazwa, wartość
    from moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Teraz użyj, wgetaby pobrać pliki cookie sesji:

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

    • Możesz używać tych plików cookie do każdego pobrania Oracle, o ile pochodzi ono z otn-pubkatalogu
    • Aby wkleić skrypt, możesz go wkleić do pliku .sh
    • Pliki cookie nie są powiązane z adresem IP, więc w przypadku serwera bezgłowego / CLI wystarczy po prostu SCP lub przesłać cookiesplik i można go pobrać z dowolnego komputera (ale plik cookie ma 30-minutowy limit czasu, więc uważaj)
    • Powiązane: Jak używać wget / curl do pobierania ze strony, na której jestem zalogowany?

1
Czy to jest w 100% legalne?
— Tachyons,

@tachyons Tak, musisz otworzyć przeglądarkę na jakimś komputerze i kliknąć „Zaakceptuj umowę licencyjną”, zanim będziesz mógł wykonać którąkolwiek z tych czynności ...
— is

Fajna sztuczka, ale masz pomysł, czy nadal działa? Wciąż próbuję, ale pobiera tylko treść strony HTML z napisem „Przepraszamy! Aby pobrać produkty z OTN, musisz wyrazić zgodę na warunki licencji OTN”. Albo robię to źle, albo Oracle zrozumiała to ...
— Kurtosis,

Zawsze możesz też
— wkleić

Chociaż ta odpowiedź jest świetna, ta, którą właśnie zamieściłem poniżej, jest znacznie łatwiejsza. Oczywiście może być konieczne cofnięcie się do tego, jeśli moje przestanie działać.
— Periata Breatta

6

Podobne pytanie dotyczy stackoverflow: Jak zautomatyzować pobieranie i instalację Java JDK w systemie Linux?

Odpowiedź za pomocą wget to:

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"

Ostatnim argumentem jest adres URL do pobrania. Różne archiwa wersji Java różnią się nie tylko wersją, ale także rozszerzeniem.


2
Nie działa.
— Roger Dahl

tak, to nie działa, ciągle przekierowuje mnie na login.oracle.com
— Alexander Mills

6

Wskazówka od mkyong.com : możesz użyć wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]do pobrania bez konieczności pobierania plików cookie z przeglądarki.


Jest to wyraźnie lepsze niż inne odpowiedzi, o ile działa. W chwili pisania tego nadal tak jest.
— Ludovic Kuty

1

Jako dodatek do odpowiedzi na izx istnieje chromowana wtyczka , za pomocą której możesz eksportować swoje pliki cookie, więc nie musisz używać narzędzia sqlite.


Odpowiedź @ izx jest świetna. Ale zdecydowanie wolę sugestię Pushy'ego, aby użyć „eksportu Cookie.txt”, aby uzyskać zawartość cookie (odpowiadającą krokowi 2 odpowiedzi Izx), zamiast używać sqlite3.
— mdahlman,

0

Szybki sposób bez plików cookie:

  • Rozpocznij pobieranie w przeglądarce
  • Wstrzymaj pobieranie
  • Skopiuj adres URL używany do pobrania
  • Użyj adresu URL z wget: wget --no-check-certificate URL_FOR_DOWNLOAD

Adres URL jest prawdopodobnie ważny tylko przez ograniczony czas (często 30 minut).


0

Właściwie, po prostu pobierz zawartość podaną przez rozszerzenie chrome wspomniane przez pushy w pliku na twoim Linuxie. Następnie skopiuj adres dl ze strony oracle i dodaj go do polecenia wget. Na przykład, aby dl Oracle Database 11g Release 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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.