Table of Contents

No table of contents

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

Posted on: 20 tháng 6 năm 2023

Ubuntu

Giới thiệu

Java và JVM (máy ảo của Java) được yêu cầu 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, bạn 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. Bạn sẽ cài đặt OpenJDK cũng như JDK chính thức từ Oracle. Sau đó, bạn sẽ chọn phiên bản bạn muốn sử dụng cho các dự án của mình. Khi hoàn tất, bạn sẽ 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.

Điều kiện tiên quyết

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

  • Một máy chủ Ubuntu 20.04 được thiết lập bằng cách làm theo hướng dẫn hướng dẫn thiết lập máy chủ ban đầu Ubuntu 20.04, bao gồm a sudo non-root user và tường lửa.

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

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

Để cài đặt phiên bản này, trước tiên hãy cập nhật chỉ mục gói:

  1. sudo apt update

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

  1. java -version

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

Output
Command 'java' not found, but can be installed with: sudo apt install openjdk-11-jre-headless # version 11.0.11+9-0ubuntu2~20.04, or sudo apt install default-jre # version 2:1.11-72 sudo apt install openjdk-13-jre-headless # version 13.0.7+5-0ubuntu1~20.04 sudo apt install openjdk-16-jre-headless # version 16.0.1+9-1~20.04 sudo apt install openjdk-8-jre-headless # version 8u292-b10-0ubuntu1~20.04

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

  1. 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:

  1. java -version

Bạn sẽ thấy đầu ra tương tự như sau:

Output
openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing))

Bạn có thể cần Java Development Ki (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:

  1. sudo apt install default-jdk

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

  1. javac -version

Bạn sẽ thấy đầu ra sau:

Output
javac 11.0.11

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, phiên bản chính thức do Oracle phân phối, bạn phải tạo tài khoản Oracle và tải xuống JDK theo cách thủ công để thêm kho lưu trữ gói 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ừ tập lệnh 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 tập lệnh cài đặt. Để biết bạn 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 Focal, như thể hiện trong hình dưới đây:

description image

Trong hình ảnh này, phiên bản của tập lệnh là 11.0.7. Trong trường hợp này, bạn sẽ cần Oracle JDK 11.0.7. Số phiên bản của bạn có thể thay đổi tùy thuộc vào thời điểm bạn cài đặt phần mềm.

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 tập lệnh cài đặt thông qua apt.

Sau đó truy cập trang Downloads và tìm phiên bản phù hợp với phiên bản bạn cần.

description image

Nhấp vào nút JDK Download 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 cho Linux.

description image

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

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

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

Sau khi quá trình tải tệp lên hoàn tất, hãy quay lại máy chủ của bạn 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 sẽ thêm lệnh add-apt-repository vào hệ thống của bạn:

  1. 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:

  1. 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 nguồn gói của bạn:

  1. sudo add-apt-repository ppa:linuxuprising/java

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

Output
Oracle Java 11 (LTS) and 16 installer for Ubuntu (21.04, 20.10, 20.04, 18.04, 16.04 and 14.04), Pop!_OS, 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, 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 một thông báo về no valid OpenPGP data found, nhưng bạn có thể bỏ qua điều này một cách an toàn.

Cập nhật danh sách gói của bạn để cung cấp phần mềm mới để cài đặt:

  1. sudo apt update

Trình cài đặt sẽ tìm Oracle JDK mà bạn đã 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 ở đó:

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  2. 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:

  1. sudo apt install oracle-java11-installer-local

Trình cài đặt trước tiên sẽ yêu cầu bạn chấp nhận thỏa thuận cấp phép của 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 bạn muốn sử dụng.

Quản lý Java

Bạn có thể có nhiều cài đặt Java trên một máy chủ. Bạn có thể định 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 cách sử dụng lệnh update-alternatives.

  1. sudo update-alternatives --config java

Đây là kết quả đầu ra sẽ như thế nào nếu bạn đã cài đặt cả hai phiên bản 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 phiên bản Java để sử dụng nó làm số mặc định hoặc nhấn ENTER để giữ nguyên cài đặt hiện tại.

Bạn có thể làm điều này cho các lệnh Java khác, chẳng hạn như trình biên dịch (javac):

  1. sudo update-alternatives --config javac

Các lệnh khác có thể chạy lệnh này bao gồm, nhưng không giới hạn ở: 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 vị trí cài đặt Java. Sử dụng lệnh update-alternatives:

  1. 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, đườ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 ưa thích của bạn. Sau đó mở /etc/environment bằng nano hoặc trình soạn thảo văn bản yêu thích của bạn:

  1. sudo nano /etc/environment

Ở cuối tệp 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 đã sao chép của riêng 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 tệp này sẽ đặt đường dẫn JAVA_HOME cho tất cả người dùng trên hệ thống của bạn.

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

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

  1. source /etc/environment

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

  1. echo $JAVA_HOME

Bạn sẽ thấy đường dẫn bạ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 rồi đă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 phiên bản Java và học cách quản lý chúng. Bây giờ 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.

0 replies