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

tomtomnz
źródło
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?
ish
źródło
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.

Draco Ater
źródło
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.

Periata Breatta
źródło
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.

natrętny
źródło
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).

użytkownik104502
źródło
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

Nicolas Mas
źródło