UPDATE : instalacja bez uprawnień roota poniżej
Radzę nie instalować pakietów ręcznie w systemie ubuntu, jeśli istnieje już (półoficjalne) repozytorium, które może rozwiązać Twój problem. Ponadto używaj Oracle JDK do programowania, aby uniknąć (bardzo sporadycznych) problemów ze zgodnością (próbowałem wiele lat temu, z pewnością teraz jest lepiej).
Dodaj repozytorium webupd8 do swojego systemu:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Zainstaluj preferowaną wersję jdk (dostępne wersje od java-6 do java-9):
sudo apt-get install oracle-java8-installer
Możesz także zainstalować wiele wersji jdk, mieszając wersje openjdk i oracle. Następnie możesz użyć polecenia update-java-alternatives, aby przełączyć się między zainstalowaną wersją:
# list available jdk
update-java-alternatives --list
# use jdk7
sudo update-java-alternatives --set java-7-oracle
# use jdk8
sudo update-java-alternatives --set java-8-oracle
Wymagania
Jeśli masz add-apt-repository: command not found
pewność, że masz software-properties-common
zainstalowane:
sudo apt-get install software-properties-common
Jeśli używasz starszej wersji Ubuntu:
sudo apt-get install python-software-properties
Instalacja JDK bez uprawnień roota
Jeśli nie masz uprawnień administratora na komputerze docelowym, najprostszym rozwiązaniem jest sdkman
zainstalowanie certyfikowanego przez Zulu openjdk:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java
UWAGA : sdkman pozwala na zainstalowanie również oficjalnego Oracle JDK, chociaż nie jest to opcja domyślna. Zobacz dostępne wersje z:
sdk ls java
Zainstaluj wybraną wersję za pomocą:
sdk install java <version>
Na przykład:
sdk install java 9.0.1-oracle
Słowniczek poleceń
sudo <command> [command_arguments]
: wykonaj polecenie z uprawnieniami superużytkownika.
add-apt-repository <PPA_id>
: Ubuntu (podobnie jak wszystkie pochodne Debiana i ogólnie rzecz biorąc każda dystrybucja Linuksa) ma główne repozytorium pakietów, które obsługują takie rzeczy, jak zależności i aktualizacje pakietów. W Ubuntu istnieje możliwość rozszerzenia repozytorium głównego za pomocą PPA (Personal Package Archive), które zazwyczaj zawiera pakiety niedostępne w systemie (podobnie jak oracle jdk) lub zaktualizowane wersje dostępnych (przykład: LibreOffice 5 w LTS jest dostępny tylko przez to PPA ).
apt-get [install|update|upgrade|purge|...]
: jest to "" program obsługi pakietów w linii poleceń używany do manipulowania stanem każdego repozytorium w systemie (instalowanie / aktualizowanie / aktualizowanie może być postrzegane jako zmiana bieżącego stanu repozytorium).
W naszym przypadku : poleceniem sudo add-apt-repository ppa:webupd8team/java
informujemy system, że kolejna aktualizacja repozytorium musi pobrać informacje o pakietach również z repozytorium webupd8.
W sudo apt-get update
rzeczywistości aktualizujemy repozytorium systemowe (wszystkie te operacje wymagają uprawnień superużytkownika, więc dodajemy sudo do poleceń).
sudo apt-get install oracle-java8-installer
update-java-alternatives (konkretna wersja alternatywy dla aktualizacji java ): w Ubuntu kilka pakietów zapewnia tę samą funkcjonalność (przeglądanie Internetu, kompilowanie poczty, edycja pliku tekstowego lub udostępnianie plików wykonywalnych java / javac ...). Aby system pozwala wybrać ulubione narzędzie użytkownik podane konkretne zadanie mechanizm używając dowiązania pod /etc/alternatives/
służy. Spróbuj zaktualizować jdk, jak wskazano powyżej (przełącz między java 7 i java 8) i zobacz, jak zmienić wyjście tego polecenia:
ls -l /etc/alternatives/java*
W naszym przypadku : sudo update-java-alternatives --set java-8-oracle
zaktualizuj dowiązania symboliczne w / etc / alternatives, aby wskazywały na pliki wykonywalne java-8-oracle.
Dodatki:
man <command>
: zacznij używać man do czytania naprawdę dobrze napisanej i szczegółowej pomocy na temat (prawie) każdego polecenia powłoki i jego opcji (każde polecenie, o którym wspominam w tej małej odpowiedzi, ma stronę podręcznika, spróbuj man update-java-alternatives
).
apt-cache search <search_key>
: wysyłaj zapytanie do pamięci podręcznej APT, aby wyszukać pakiet powiązany z podanym kluczem search_key (może to być nazwa pakietu lub słowo w opisie pakietu).
apt-cache show <package>
: dostarcza informacji APT dla konkretnego pakietu (wersja pakietu, zainstalowana lub nie, opis).