مقدمة
هذا البرنامج التعليمي سيوضح لك كيفية تثبيت جافا على الإصدارات الحالية من توزيعات Linux المعتمدة على RPM: Red Hat Enterprise Linux و CentOS و Fedora و Rocky Linux. جافا هي لغة برمجة شهيرة ومنصة برمجيات تسمح لك بتشغيل العديد من تطبيقات الخادم.
يغطي هذا البرنامج التعليمي تثبيت الإصدار الأحدث والافتراضي من جافا، بالإضافة إلى اختيار أي إصدارات قديمة للتثبيت، والتبديل بين عدة إصدارات في بيئتك حسب الحاجة.
المتطلبات المسبقة
قبل البدء في هذا الدليل، يجب أن تكون لديك مستخدم عادي بدون صلاحيات جذرية مع صلاحيات sudo
مكونة على خادمك – هذا هو المستخدم الذي يجب أن تقوم بتسجيل الدخول إليه على الخادم الخاص بك. يمكنك معرفة كيفية تكوين حساب مستخدم عادي باتباع الخطوات في دليل إعداد الخادم الأولي لـ Rocky Linux 8.
الخطوة 1 – تثبيت OpenJDK
هناك ثلاث طبعات مختلفة من منصة جافا: الطبعة القياسية (SE)، الطبعة المؤسسية (EE)، والطبعة المصغرة (ME). تركز هذه الدورة التعليمية على جافا SE (منصة جافا، الطبعة القياسية). تم تصميم معظم البرمجيات مفتوحة المصدر لجافا لتعمل مع جافا SE.
هناك حزمتان مختلفتان من جافا SE يمكن تثبيتهما: بيئة تشغيل جافا (JRE) ومجموعة تطوير جافا (JDK). JRE هو تنفيذ لآلة جافا الافتراضية (JVM)، والتي تتيح لك تشغيل تطبيقات جافا المترجمة والأبلتات. يشمل JDK أيضًا JRE بالإضافة إلى برمجيات أخرى مطلوبة لكتابة وتطوير وترجمة تطبيقات جافا والأبلتات.
هناك أيضًا تنفيذان مختلفان لجافا: OpenJDK وجافا أوراكل. تعتمد كل من التنفيذات بشكل كبير على نفس الشفرة ولكن OpenJDK، التنفيذ المرجعي لجافا، مفتوح بالكامل المصدر بينما تحتوي جافا أوراكل على بعض الشفرة الممتلكات. ستعمل معظم تطبيقات جافا بشكل جيد مع أيٍ منهما ولكن يجب عليك استخدام التنفيذ الذي يتطلبه البرنامج الخاص بك.
يمكنك تثبيت مختلف الإصدارات والإصدارات من جافا على نظام واحد، ولكن معظم الناس يحتاجون إلى تثبيت واحد فقط. باعتبار ذلك، حاول تثبيت الإصدار الذي تحتاجه لتشغيل أو تطوير تطبيقاتك فقط.
سيعرض هذا القسم لك كيفية تثبيت حزم 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 تقليدًا مختلفًا باستخدام شرطة واحدة لجميع المعاملات، في هذه الحالة، -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. لتثبيت الإصدار الكامل لـ OpenJDK JDK، يجب عليك تثبيت الحزمة المقابلة بإضافة -devel
إلى اسمها. هذه هي معايير شائعة لحزم التطوير لبيئات البرمجة الأخرى، والتي يتبعها جافا أيضًا، على الرغم من اتساق المصطلحات هنا.
كما فعلنا في السابق، يمكنك تثبيت 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 ليس لديه تعارضات في الإصدارات. في القسم التالي، ستقوم بتثبيت وإدارة إصدارات أخرى من جافا.
الخطوة 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
في الشل الباش أو السيناريو مثل هذا:
ملاحظة: يفضل متغير البيئة JAVA_HOME
أن تقوم بتعيين مسار التثبيت الخاص بـ Java الذي ينتهي بالدليل /jre
. يمكن أن تتغير هذه الاتفاقية من متغير إلى آخر، لذا من الأفضل التحقق بعناية من الأمثلة عند إجراء التغييرات.
إذا كنت ترغب في ضبط متغير JAVA_HOME
لكل مستخدم على النظام افتراضيًا، أضف السطر السابق إلى ملف /etc/environment
. يمكنك إضافته إلى الملف باستخدام echo
وتوجيه الصدى >>
، من أجل تجنب الحاجة إلى تحرير ملف /etc/environment
مباشرة، عن طريق تشغيل هذا الأمر:
في الخطوة التالية، ستقوم بتثبيت Java الخاصة بـ Oracle بجانب إصدارات OpenJDK الخاصة بك.
الخطوة 4 – تثبيت Oracle Java
سيوضح لك هذا القسم من الدليل كيفية تثبيت Oracle Java JRE و JDK (64 بت) ، أحدث إصدار لهذه الحزم في وقت كتابة هذا المقال.
ملاحظة: إذا كنت تستخدم الطرفية التفاعلية على هذه الصفحة ، فلن تتمكن من تنزيل وتثبيت Oracle Java في البيئة.
طوال هذا القسم ، سنستخدم أمر wget
لتنزيل حزم برامج Oracle Java. قد لا يتم تضمين wget
افتراضيًا في توزيعة Linux الخاصة بك ، لذا لكي تتمكن من متابعة العملية ، ستحتاج إلى تثبيته عن طريق تشغيل:
يجب عليك قبول اتفاقية ترخيص رمز Oracle Binary Code لـ Java SE ، والتي هي أحد الخطوات المضمنة ، قبل تثبيت Oracle Java.
ملاحظة: لتثبيت Oracle Java ، ستحتاج إلى الانتقال إلى صفحة تنزيلات Oracle Java ، وقبول اتفاقية الترخيص ، ونسخ رابط التنزيل لحزمة Linux x86 المناسبة .rpm
. استبدل رابط التنزيل المنسوخ في مكان الجزء المظلل من أمر wget
.
قم بالتغيير إلى دليل المستخدم الخاص بك وقم بتنزيل Oracle Java RPM باستخدام هذه الأوامر:
ثم قم بتثبيت 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