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

Cài đặt Java bằng apt trên Ubuntu 18.04

Java và JVM (máy ảo Java) được dùng cho nhiều loại phần mềm, bao gồm Tomcat , Jetty , Glassfish , Cassandra và Jenkins ... Trong hướng dẫn này, ta sẽ cài đặt các phiên bản khác nhau của Java Runtime Environment (JRE) và Java Developer Kit (JDK) bằng cách sử dụng apt . Ta sẽ cài đặt OpenJDK cũng như các gói chính thức từ Oracle. Sau đó, ta sẽ chọn phiên bản muốn sử dụng cho các dự án. Khi hoàn tất, ta 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, ta 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 phiên bản được đóng gói với Ubuntu. Theo mặc định, Ubuntu 18.04 bao gồm OpenJDK phiên bản 11, là một biến thể mã nguồn mở của JRE và JDK.

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

  • sudo apt update

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

  • java -version

Nếu Java 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:  apt install default-jre apt install openjdk-11-jre-headless apt install openjdk-8-jre-headless 

Thực thi lệnh sau để cài Java Runtime Environment (JRE), 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

Ta 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-2ubuntu218.04) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing) 

Ta 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ài đặt bằng cách kiểm tra phiên bản 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, 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 package managers. Để cài đặt Oracle JDK, là phiên bản chính thức do Oracle phân phối, bạn phải tạo một tài khoản Oracle và tải xuống JDK để thêm một package repository mới cho phiên bản 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ừ script cài đặt của bên thứ ba .

Phiên bản JDK của Oracle mà bạn cần tải xuống phải khớp với phiên bản của script cài đặt. Để biết cần phiên bản nào, hãy truy cập trang oracle-java11-installer .

Xác định vị trí gói cho Bionic , như thể hiện trong hình sau:

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

Trong hình ảnh này, phiên bản của script là 11.0.7 . Trong trường hợp này, bạn sẽ cần Oracle JDK 11.0.7. Bạn không cần tải xuống bất cứ thứ gì từ trang này; bạn sẽ sớm tải xuống script cài đặt thông qua apt .

Sau đó, hãy truy cập trang Tải xuống và tìm phiên bản phù hợp với phiên bản bạn cần.

Oracle Java 11

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

Tải xuống Linux

Bạn sẽ thấy một màn hình yêu cầu 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 Tải xuống . Quá trình tải xuống của bạn sẽ bắt đầu. Bạn có thể cần đăng nhập vào tài khoản Oracle của bạn một lần nữa trước khi quá trình tải xuống bắt đầu.

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

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

Khi tải file lên hoàn tất, hãy quay lại server của bạn và thêm kho lưu trữ của bên thứ ba sẽ giúp 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:

  • 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 sắp cài đặt:

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

Bạn sẽ thấy đầu ra 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 package sources 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 có thể bỏ qua điều này một cách an toàn.

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 đã tải xuống trong /var/cache/oracle-jdk11-installer-local . Tạo thư mục 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ờ hãy xem cách chọn phiên bản Java nào bạn muốn sử dụng.

Quản lý Java 

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

  • sudo update-alternatives --config java

Kết quả có thể là:

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 

Chọn số được liên kết với phiên bản 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 có thể chạy bao gồm: keytool , javadocjarsigner .

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

Nhiều chương trình 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:

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. Sau đó, mở /etc/environment:

  • sudo nano /etc/environment

Ở cuối file nà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 phần /bin của đường dẫn:

/etc/environment
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ả người dùng trên hệ thống.

Lưu file.

Bây giờ 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

Ta sẽ thấy đường dẫn vừa đặt:

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

Những người dùng khác sẽ cần thực thi 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, ta đã cài đặt nhiều phiên bản Java và xem cách quản lý chúng. Bây giờ ta 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 với Apt trên Ubuntu 20.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