הקדמה
המדריך הזה יראה לך כיצד להתקין את Java על גרסאות הלינוקס המבוססות על RPM הנוכחיות: Red Hat Enterprise Linux, CentOS, Fedora, ו-Rocky Linux. Java היא שפת תכנות פופולרית ופלטפורמת תוכנה שמאפשרת לך להריץ הרבה אפליקציות בצד השרת.
המדריך הזה מכסה את התהליך של התקנת גרסה האחרונה והמוגדרת כברירת מחדל של Java, כמו גם את בחירת גרסאות ישנות כלשהן להתקנה, והחלפה בין מספר גרסאות בסביבת הפיתוח שלך כפי שנדרש.
דרישות מוקדמות
לפני שתתחיל במדריך זה, עליך לצייד משתמש רגיל, ללא הרשאות root, עם הרשאות sudo
מוגדרות על השרת שלך – זהו המשתמש שעליו להתחבר לשרת שלך. ניתן ללמוד כיצד להגדיר חשבון משתמש רגיל על ידי עקבות השלבים במדריך התקנת השרת הראשונית שלנו עבור Rocky Linux 8 initial server setup guide for Rocky Linux 8.
שלב 1 – התקנת OpenJDK
ישנם שלושה מהדורות שונות של פלטפורמת Java: המהדורה הסטנדרטית (SE), המהדורה העסקית (EE), והמהדורה המיקרו (ME). המדריך הזה מתמקד ב-Java SE (פלטפורמת Java, מהדורת הסטנדרטית). רוב התוכנה הפתוחה של Java עוצבה להרצת Java SE.
ישנם שני חבילות שונות של Java SE שניתן להתקין: סביבת ההרצה של Java (JRE) וקיט הפיתוח של Java (JDK). JRE היא יישום של מכונת הווירטואלית של Java (JVM), שמאפשרת לך להריץ יישומי Java ממודרגים ואפלטים. ה-JDK כולל את ה-JRE כמו גם תוכנה נוספת שנדרשת לכתיבה, פיתוח והידור של יישומי Java ואפלטים.
קיימות גם שני יישומים שונים של Java: OpenJDK ו-Oracle Java. שני היישומים מבוססים בעיקר על אותו הקוד, אך OpenJDK, היישום האישור המבוסס של Java, הוא קוד פתוח לחלוטין בעוד ש-Oracle Java מכיל קוד פורפריאטרי חלקי. רוב יישומי Java יעבדו בסדר גם עם זה או זה, אך עליך להשתמש בישום המבוקש על פי התוכנה שלך.
ניתן להתקין מספר גרסאות ושחרורים של Java במערכת יחידה, אך רוב האנשים רק זקוקים להתקנה אחת. בהתבסס על כך, נסה להתקין רק את הגרסה של Java שנדרשת להרצת או פיתוח היישום שלך(ם).
הסעיף הזה יראה לך כיצד להתקין את חבילות ה-OpenJDK המוכנות מראש של JRE ו-JDK באמצעות מנהל החבילות yum
. yum
הוא מנהל החבילות הברירת מחדל עבור הפצות שמשתמשות בחבילות RPM.
להתקנת ה-OpenJDK באמצעות yum, תוכל להריץ sudo yum install java
:
בברירת מחדל, ניסיון להתקין java
בלי לציין גרסה יפתור לגרסה היציבה הכי נפוצה של OpenJDK JRE. כפי שניתן לראות מהפלט הזה, עד כה, ברגע זה, זו היא java-1.8.0-openjdk
:
OutputLast metadata expiration check: 0:02:38 ago on Tue 22 Feb 2022 04:57:59 PM UTC.
Dependencies resolved.
========================================================================================
Package Arch Version Repo Size
========================================================================================
Installing:
java-1.8.0-openjdk x86_64 1:1.8.0.322.b06-2.el8_5 appstream 341 k
Installing dependencies:
alsa-lib x86_64 1.2.5-4.el8 appstream 488 k
atk x86_64 2.28.1-1.el8 appstream 270 k
avahi-libs x86_64 0.7-20.el8 baseos 61 k
copy-jdk-configs noarch 4.0-2.el8 appstream 29 k
cups-libs x86_64 1:2.2.6-40.el8 baseos 432 k
fribidi x86_64 1.0.4-8.el8 appstream 88 k
…
גם תלויות מרובות יסופקו יחד עם Java. בעת בקשת האישור, הזן y
ואז לחץ Enter כדי להמשיך עם ההתקנה. עשויים להופיע גם בקשות לקבלת מפתחות חתימה עבור המאגרים שמתבצעת מהם ההתקנה:
OutputImporting GPG key 0x6D745A60:
Userid : "Release Engineering <[email protected]>"
Fingerprint: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
Is this ok [y/N]:
הזן y
ואז לחץ שוב על Enter.
עכשיו יש צורך בהתקנת Java תקנית. כדי לאמת זאת, ניתן להריץ java -version
, כדי לבדוק את הגרסה של Java שזמינה כעת בסביבתך:
הערה: ברוב המקרים, ארגומנטים לשורת הפקודה מוקדמים במקף אחד לארגומנטים עם אות אחת, או בשני מקפים לארגומנטים עם מילה שלמה. Java עוקבת אחר ייאוש שונה של השימוש במקף אחד לכל הארגומנטים, במקרה זה, -version
.
Outputopenjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)
האינטראקציות בין כללי הסמוך ב-Java ובין כללי אריזת Linux עשויות להיות מעט מבלבלות. במדריך הזה, פירשנו את ההבדל בין סביבת הפיתוח JDK המלאה, לבין סביבת ה-JRE להרצת יישומי Java. אף על פי ש-OpenJDK הוא השם של ההפצה הפתוחה של Java, בפועל התקנתם רק את ה-OpenJDK JRE. כדי להתקין את ה-OpenJDK JDK המלא, עליכם להתקין את החבילה התואמת עם -devel
מחובר לשמו. זוהי יישות שגרתית עבור חבילות פיתוח עבור סביבות תכנות אחרות, שבהן גם Java עוקבת, אף על פי שהמונחים מתנגשים באופן לא נעים כאן.
כמו קודם, ניתן להתקין java-devel
כדי לקבל את הגרסה הברירת מחדל, או לציין java-1.8.0-openjdk-devel
:
OutputDigitalOcean Droplet Agent 63 kB/s | 3.3 kB 00:00
Dependencies resolved.
========================================================================================
Package Arch Version Repository Size
========================================================================================
Installing:
java-1.8.0-openjdk-devel x86_64 1:1.8.0.322.b06-2.el8_5 appstream 9.8 M
Transaction Summary
========================================================================================
Install 1 Package
Total download size: 9.8 M
Installed size: 41 M
Is this ok [y/N]:
לאחר התקנת החבילה הזו, תהיה לכם סביבת OpenJDK מלאה שיכולה להידרש ולהריץ כל תוכנה ב-Java שאין לה תנגודות ספציפיות של גרסה. בחלק הבא, תתקינו ותנהלו גרסאות אחרות של Java.
שלב 2 – התקנת גרסאות אחרות של OpenJDK
לאחרונה, OpenJDK שינתה את סכימת מספור הגרסאות שלה כדי לעקוב בצורה יותר קרובה אחר גרסאות Oracle Java. כדי להתקין גרסה חדשה יותר של OpenJDK, ניתן לציין את מספר הגרסה בשם החבילה, בדיוק כמו עם 1.8.0
. לדוגמה, כדי להתקין את OpenJDK 17, ניתן להריץ yum install java-17-openjdk
:
OutputLast metadata expiration check: 0:03:36 ago on Tue 22 Feb 2022 05:42:44 PM UTC.
Dependencies resolved.
========================================================================================
Package Arch Version Repository Size
========================================================================================
Installing:
java-17-openjdk x86_64 1:17.0.2.0.8-4.el8_5 appstream 244 k
Installing dependencies:
adwaita-cursor-theme noarch 3.28.0-2.el8 appstream 646 k
adwaita-icon-theme noarch 3.28.0-2.el8 appstream 11 M
at-spi2-atk x86_64 2.26.2-1.el8 appstream 88 k
at-spi2-core x86_64 2.28.0-1.el8 appstream 168 k
colord-libs x86_64 1.4.2-1.el8 appstream 234 k
java-17-openjdk-headless x86_64 1:17.0.2.0.8-4.el8_5 appstream 41 M
lcms2 x86_64 2.9-2.el8 appstream 163 k
…
כפי שהיה קודם, ניתן להתקין את סביבת הפיתוח JDK המלאה על ידי הוספת -devel
לשם החבילה. אולם, לאחר מכן, יישמשו תוכניות הרצה של java
עדיין את גרסת OpenJDK 1.8.0 שהתקנת לפני כן כברירת מחדל, אשר ניתן לאמת זאת על ידי הרצת java -version
שוב:
Outputopenjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)
בשלב הבא, תנהלו את הגרסאות של Java שהותקנו.
שלב 3 – הגדרת גרסת Java ברירת המחדל שלך
אם התקנתם יותר מגרסה אחת של Java, עשוי להיות לכם רצון להגדיר אחת מהן כברירת המחדל שלכם (כלומר, זו שתופעל כאשר משתמש מריץ את הפקודה java
). בנוסף, ייתכן כי ישנן יישומיות מסוימת הדורשת הגדרת משתני סביבה מסוימים כדי לאתר איזו התקנה של Java להשתמש בה.
הפקודה alternatives
, אשר מנהלת פקודות ברירת המחדל באמצעות קישורים סימבוליים, ניתן להשתמש בה כדי לבחור את גרסת Java ברירת המחדל. כדי לרשום את הגרסאות הזמינות של Java שניתן לנהל על ידי alternatives
, ניתן להשתמש ב־alternatives –config java
:
הפלט צריך לרשום שתי הגרסאות של Java שהתקנתם:
outputThere are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java)
2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java)
Enter to keep the current selection[+], or type selection number:
הזן את מספר הבחירה כדי לבחור איזו ביצועים של java
יש להשתמש כברירת מחדל. הוא יערוך מחדש את הקישורים הסמליים הנדרשים במערכת שלך כדי לוודא שהפקודה java
מפנה לסט הספריות הנכון. תוכל להפעיל מחדש את הפקודה הזו ככל צורך, ופלט הפקודה java -version
ישתנה בהתאם:
Outputopenjdk version "17.0.2" 2022-01-18 LTS
OpenJDK Runtime Environment 21.9 (build 17.0.2+8-LTS)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.2+8-LTS, mixed mode, sharing)
יישומי Java רבים גם משתמשים במשתני סביבה JAVA_HOME
או JRE_HOME
כדי לקבוע איזה ביצועים של java
להשתמש בהם.
לדוגמה, אם התקנת Java ב- (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin
(כלומר, הביצוע שלך של java
נמצא ב- <^>(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java
), תוכל להגדיר את משתני הסביבה שלך JAVA_HOME
בשיא של ה- bash או סקריפט כך:
הערה: משתני הסביבה JAVA_HOME
מעדיפים שתגדיר את הנתיב של ההתקנה שלך של Java כולל סיומת הספרייה /jre
. האמנם זה משתנה ממשתנה למשתנה, לכן כדאי לבדוק בקפידה דוגמאות כאשר אתה עושה שינויים.
אם ברצונך ש- JAVA_HOME
יוגדר עבור כל המשתמשים במערכת כברירת מחדל, הוסף את השורה הקודמת לקובץ /etc/environment
. תוכל להוסיף אותו לקובץ באמצעות הפניית של תגובה של השקלולים, כדי למנוע עריכה ישירה של קובץ /etc/environment
, על ידי הפעלת הפקודה הזו:
בשלב הבא, תתקין את Java הפטנטית של Oracle לצד גרסאות ה- OpenJDK שלך.
שלב 4 – התקנת Oracle Java
חלק זה של המדריך יראה לך איך להתקין את Oracle Java JRE ו-JDK (64-ביט), הגרסה האחרונה של החבילות בזמן כתיבת זה.
הערה:
אם אתה משתמש בטרמינל אינטרקטיבי בדף זה, לא תוכל להוריד ולהתקין את Oracle Java לתוך הסביבה.
במהלך זה נשתמש בפקודת wget
כדי להוריד את חבילות התוכנה של Oracle Java. wget
עשויה לא להיות כלול בברירת המחדל של ההפצה שלך של Linux, כך שכדי להמשיך תצטרך להתקין אותו על ידי הרצת:
עליך לקבל את הסכמת רישיון קוד הבינארי של Oracle עבור Java SE, שהיא אחת השלבים הכלולים, לפני התקנת Oracle Java.
הערה: כדי להתקין את Oracle Java, יהיה עליך לעבור אל דף ההורדות של Oracle Java, לקבל את הסכמת הרישיון, ולהעתיק את קישור ההורדה של חבילת ה-Linux x86 המתאימה .rpm
. החלף את קישור ההורדה שהועתק במקום החלק המודגש בפקודת wget
.
שנה את התיקייה הביתית שלך והורד את חבילת ה-RPM של Oracle Java עם הפקודות האלה:
לאחר מכן, התקן את ה-RPM עם yum localinstall
(אם הורדת גרסה שונה, החלף את שם הקובץ כאן):
בחלון אישור, הקלד y
ולאחר מכן לחץ Enter כדי להמשיך עם ההתקנה.
ניתן למחוק את קובץ הארכיון שהורדת בשלב הקודם:
כעת ניתן להפעיל מחדש את פקודת alternatives
ותראו אפשרות שלישית להשתמש ב-Java של Oracle:
outputThere are 3 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java)
+ 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java)
* 3 /usr/java/jdk-17.0.2/bin/java
Enter to keep the current selection[+], or type selection number:
השלבים במדריך זה אמורים להיות מספיקים כדי להתקין ולהפעיל כל גרסה זמינה של Java בהתאם למקרה השימוש שלך.
מסקנה
במדריך זה, התקנת וניהולת מספר גרסאות של Java באמצעות מנהל החבילות yum
, פקודת alternatives
, ומשתני סביבה. אלה הם כללי ניהול סביבת Linux בסיסיים, ו-Java מספקת דוגמה טובה במיוחד לעבודה איתם בשל מספר הגרסאות השונות שלה.
בהמשך, ייתכן שתרצו ללמוד איך להשתמש ב-Java בהקשרים אחרים.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-java-on-centos-and-fedora