Thứ năm, 07/05/2020 | 00:00 GMT+7

Cài đặt Java với Apt trên Ubuntu 20.04

Java và JVM (máy ảo của Java) được dùng trong nhiều loại phần mềm, bao gồm Tomcat , Jetty , Glassfish , Cassandra và Jenkins . Trong hướng dẫn này, bạn sẽ cài đặt các version khác nhau của Java Runtime Environment (JRE) và Java Developer Kit (JDK) bằng cách sử dụng apt . Bạn sẽ cài đặt OpenJDK cũng như JDK chính thức của Oracle. Sau đó, bạn sẽ chọn version bạn muốn sử dụng cho các dự án. Khi hoàn tất, bạn có thể sử dụng JDK để phát triển phần mềm hoặc sử dụng Java Runtime để chạy phần mềm.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần:

Cài đặt JRE / JDK mặc định

Tùy chọn dễ nhất để cài đặt Java là sử dụng version được đóng gói với Ubuntu. Theo mặc định, Ubuntu 20.04 bao gồm Open JDK 11, là một biến thể open-souce của JRE và JDK.

Để cài đặt version này, trước tiên hãy cập nhật hệ điều hành:

  • sudo apt update

Tiếp theo, hãy kiểm tra xem Java đã được cài đặt chưa:

  • java -version

Nếu Java hiện chưa được cài đặt, bạn sẽ thấy kết quả sau:

Output
Command 'java' not found, but can be installed with:  sudo apt install default-jre              # version 2:1.11-72, or sudo apt install openjdk-11-jre-headless  # version 11.0.7+10-3ubuntu1 sudo apt install openjdk-13-jre-headless  # version 13.0.3+3-1ubuntu2 sudo apt install openjdk-14-jre-headless  # version 14.0.1+7-1ubuntu1 sudo apt install openjdk-8-jre-headless   # version 8u252-b09-1ubuntu1 

Thực thi lệnh sau để cài đặt Java Runtime Environment (JRE) mặc định, sẽ cài đặt JRE từ OpenJDK 11:

  • sudo apt install default-jre

JRE sẽ cho phép bạn chạy hầu hết các phần mềm Java.

Xác minh cài đặt với:

  • java -version

Bạn sẽ thấy kết quả sau:

Output
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing) 

Bạn có thể cần Bộ phát triển Java (JDK) ngoài JRE để biên dịch và chạy một số phần mềm dựa trên Java cụ thể. Để cài đặt JDK, hãy thực hiện lệnh sau, lệnh này cũng sẽ cài đặt JRE:

  • sudo apt install default-jdk

Xác minh JDK đã được cài đặt bằng cách kiểm tra version của javac , trình biên dịch Java:

  • javac -version

Bạn sẽ thấy kết quả sau:

Output
javac 11.0.7 

Tiếp theo, hãy xem cách cài đặt JDK và JRE chính thức của Oracle.

Cài đặt Oracle JDK 11

Thỏa thuận cấp phép của Oracle cho Java không cho phép cài đặt tự động thông qua trình quản lý gói. Để cài đặt Oracle JDK, là version chính thức do Oracle phân phối, bạn phải tạo một account Oracle và download JDK theo cách thủ công để thêm một repository mới cho version bạn muốn sử dụng. Sau đó, bạn có thể sử dụng apt để cài đặt nó với sự trợ giúp từ lệnh cài đặt của bên thứ ba .

Version JDK của Oracle mà bạn cần download phải trùng với version của tập lệnh trình cài đặt. Để biết bạn cần version nào, hãy truy cập trang oracle-java11-installer .

Tìm gói cho Focal , như thể hiện trong hình sau:

Gói trình cài đặt cho Ubuntu 2.04

Trong hình ảnh này, version của tập lệnh là 11.0.7 . Trong trường hợp này, bạn cần Oracle JDK 11.0.7. Bạn không cần download bất cứ thứ gì từ trang này; bạn có thể download lệnh cài đặt thông qua apt .

Sau đó, hãy truy cập trang Download và tìm version phù hợp với version bạn cần.

Oracle Java 11

Nhấp vào nút Download JDK và bạn sẽ được đưa đến màn hình hiển thị các version có sẵn. Nhấp vào gói .tar.gz dành cho Linux.

Download Linux

Bạn sẽ thấy một màn hình yêu cầu bạn chấp nhận thỏa thuận cấp phép Oracle. Chọn hộp kiểm để chấp nhận thỏa thuận cấp phép và nhấn nút Download . Quá trình download của bạn sẽ bắt đầu. Bạn có thể cần đăng nhập vào account Oracle của bạn trước khi quá trình download bắt đầu.

Khi file đã được download, bạn cần chuyển file đó đến server. Trên máy local của bạn, tải file lên server. Trên macOS, Linux hoặc Windows sử dụng Hệ thống con Windows dành cho Linux , sử dụng lệnh scp để chuyển file vào folder chính của user sammy của bạn. Lệnh sau giả sử bạn đã lưu file Oracle JDK vào folder Downloads trên máy local của bạn:

  • scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

Khi quá trình tải file lên hoàn tất, hãy quay lại server và thêm kho lưu trữ của bên thứ ba sẽ giúp bạn cài đặt Java của Oracle.

Cài đặt gói software-properties-common , gói này thêm lệnh add-apt-repository vào hệ thống của bạn:

  • sudo apt install software-properties-common

Tiếp theo, nhập khóa ký được sử dụng để xác minh phần mềm bạn sắp cài đặt:

  • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

Bạn sẽ thấy kết quả này:

Output
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg:               imported: 1 

Sau đó, sử dụng lệnh add-apt-repository để thêm repo vào danh sách các nguồn gói của bạn:

  • sudo add-apt-repository ppa:linuxuprising/java

Bạn sẽ thấy thông báo này:

Output
 Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian.  Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required.  The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java  Created for users of https://www.linuxuprising.com/  Installation instructions (with some tips), feedback, suggestions, bug reports etc.:  . . .  Press [ENTER] to continue or ctrl-c to cancel adding it 

Nhấn ENTER để tiếp tục cài đặt. Bạn có thể thấy thông báo về việc no valid OpenPGP data found , nhưng bạn có thể bỏ qua điều này.

Cập nhật danh sách gói để làm cho phần mềm mới có sẵn để cài đặt:

  • sudo apt update

Trình cài đặt sẽ tìm Oracle JDK mà bạn đã download trong /var/cache/oracle-jdk11-installer-local . Tạo folder này và di chuyển kho lưu trữ Oracle JDK vào đó:

  • sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  • sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

Cuối cùng, cài đặt gói:

  • sudo apt install oracle-java11-installer-local

Trước tiên, trình cài đặt sẽ yêu cầu bạn chấp nhận thỏa thuận cấp phép Oracle. Chấp nhận thỏa thuận, sau đó trình cài đặt sẽ giải nén gói Java và cài đặt nó.

Bây giờ ta hãy xem cách chọn version Java nào bạn muốn sử dụng.

Quản lý Java

Bạn có thể cài đặt nhiều version Java trên một server. Bạn có thể cấu hình version nào là mặc định để sử dụng trên dòng lệnh bằng cách sử dụng lệnh update-alternatives .

  • sudo update-alternatives --config java

Đây là kết quả kết quả sẽ trông như thế nào nếu bạn đã cài đặt cả hai version Java trong hướng dẫn này:

Output
There are 2 choices for the alternative java (providing /usr/bin/java).    Selection    Path                                         Priority   Status ------------------------------------------------------------   0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      auto mode   1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode * 2            /usr/lib/jvm/java-11-oracle/bin/java          1091      manual mode  Press <enter> to keep the current choice[*], or type selection number: 

Chọn số được liên kết với version Java để sử dụng nó làm mặc định hoặc nhấn ENTER để giữ nguyên cài đặt hiện tại.

Bạn có thể thực hiện việc này đối với các lệnh Java khác, chẳng hạn như trình biên dịch ( javac ):

  • sudo update-alternatives --config javac

Các lệnh khác mà lệnh này có thể được chạy bao gồm: keytool , javadocjarsigner .

Đặt biến môi trường JAVA_HOME

Nhiều chương trình được viết bằng Java sử dụng biến môi trường JAVA_HOME để xác định vị trí cài đặt Java.

Để đặt biến môi trường này, trước tiên hãy xác định nơi cài đặt Java. Sử dụng lệnh update-alternatives :

  • sudo update-alternatives --config java

Lệnh này hiển thị từng cài đặt Java cùng với đường dẫn cài đặt của nó:

Output
There are 2 choices for the alternative java (providing /usr/bin/java).    Selection    Path                                         Priority   Status ------------------------------------------------------------   0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      auto mode   1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode * 2            /usr/lib/jvm/java-11-oracle/bin/java          1091      manual mode  Press <enter> to keep the current choice[*], or type selection number: 

Trong trường hợp này, các đường dẫn cài đặt như sau:

  1. OpenJDK 11 được đặt tại /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. Oracle Java được đặt tại /usr/lib/jvm/java-11-oracle/jre/bin/java .

Sao chép đường dẫn từ cài đặt bạn muốn. Sau đó, mở /etc/environment bằng nano hoặc editor yêu thích của bạn:

  • sudo nano /etc/environment

Ở cuối file này, hãy thêm dòng sau, đảm bảo thay thế đường dẫn được đánh dấu bằng đường dẫn được sao chép của bạn, nhưng không bao gồm bin/ phần của đường dẫn:

/etc/enviroment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64" 

Việc sửa đổi file này sẽ đặt đường dẫn JAVA_HOME cho tất cả user trên hệ thống.

Lưu file và thoát khỏi trình chỉnh sửa.

Bây giờ reload (tải-lại) file này để áp dụng các thay đổi cho phiên hiện tại của bạn:

  • source /etc/environment

Xác minh biến môi trường được đặt:

  • echo $JAVA_HOME

Bạn sẽ thấy đường dẫn mình vừa đặt:

Output
/usr/lib/jvm/java-11-openjdk-amd64 

Những user khác sẽ cần chạy lệnh source /etc/environment hoặc đăng xuất và đăng nhập lại để áp dụng cài đặt này.

Kết luận

Trong hướng dẫn này, bạn đã cài đặt nhiều version Java và học cách quản lý chúng. Đến đây bạn có thể cài đặt phần mềm chạy trên Java, chẳng hạn như Tomcat, Jetty, Glassfish, Cassandra hoặc Jenkins...


Tags:

Các tin trước

Cài đặt Java bằng apt trên Ubuntu 18.04 2020-05-07
Cài đặt và cấu hình VNC trên Ubuntu 18.04 2020-05-07
Cài đặt Nginx trên Ubuntu 18.04 2020-05-06
Cài đặt và bảo mật phpMyAdmin trên Ubuntu 20.04 2020-05-04
Cài đặt và bảo mật Redis trên Ubuntu 18.04 2020-04-30
Bảo mật apache với let-s-encrypt trên Ubuntu 20.04 2020-04-29
Cài đặt Linux Apache MySQL PHP (LAMP) trên Ubuntu 20 04 2020-04-29
Cài đặt LEMP Linux Nginx MySQL PHP (LEMP ) trên Ubuntu 20 04 2020-04-29
Cài đặt Apache Web Server trên Ubuntu 20.04 2020-04-27
Cài đặt Nginx trên Ubuntu 20.04 2020-04-24