أردت اختيار عقل شخص آخر بشأن مشكلة أواجهها ولا تصلني إلى أي مكان.

لدينا خادم Linux أقدم في بيئتنا وأنا أتطلع إلى تصحيح openjdk الخاص بنا إلى أحدث الإصدارات ولكن لا يبدو أنه يلف رأسي حول العملية.

نحن على Centos 7 ، ونشغل openjdk 11.0.14 ، ونريد الانتقال إلى 11.0.15 وما بعده في النهاية بمجرد أن نتمكن من اختبار استقرار تطبيقاتنا مع كل قفزة رئيسية.

تعرض قائمة yum المتاحة java * فقط ما يصل إلى 11.0.14 ثم تنتقل مباشرة إلى 17.0.2 ولكني أريد فقط التصحيح إلى الإصدار الأعلى من الإصدار 11.0.2.

ينتج Java -version: إصدار openjdk "11.0.14.1" 2022-02-08 LTS OpenJDK Runtime Environment 18.9 (الإصدار 11.0.14.1 + 1-LTS) OpenJDK 64-Bit Server VM 18.9 (الإصدار 11.0.14.1 + 1-LTS ، مختلط الوضع والمشاركة)

في البداية فكرت في إجراء تثبيت بديل حتى أتمكن من التبديل بين الإصدارات حسب الحاجة لذلك قمت بتنزيل 11.0.15 من oracle واستخرجته في موقع التثبيت الحالي وقمت بتشغيل البدائل - أمر التثبيت ولكنه فشل مع الرسالة: الرابط الأساسي لجافا يجب أن يكون usr / bin / Java.

عندما أقوم بتشغيل "أي Java" أحصل على bin / Java ولكن الرابط الرمزي يكون تحت usr / lib / Java.

لست متأكدًا من كيفية المتابعة ، هل يجب إزالة الإصدار السابق قبل المتابعة؟ لست متأكدًا أيضًا مما إذا كنت أقوم بالترقية باستخدام إصدار Openjdk الصحيح لتجنب أي مشكلات. هل أحصل على التنزيل من Oracle أم أستخدم أرشيفات opendjk؟

answer

تتطلب Oracle Java ترخيصًا مدفوعًا ، وهم بصدد التحقق من الامتثال . لا يعد Server Fault مكانًا لمناقشة شروط الترخيص ، ولكن يجب أن تعرف ما الذي ستدخل فيه.

حزم CentOS أو Enterprise Linux هي بناء Red Hat لـ OpenJDK. ميزة استخدام نفس طريقة التثبيت مثل الأشياء الأخرى في التوزيعة ، من الأشخاص الذين جلبوا لك RHEL. من العيوب أنه قد يتأخر عن المنبع ، حيث يستغرق الأمر بعض الوقت حتى يصل المشرفون إلى تحديث مجدول ، وينجزوا إنشاء RHEL و CentOS.

اقرأ ملاحظات إصدار Java 11.0.15 لترى بالضبط ما الذي تفتقده. هناك فرصة أنه ليس كبيرا. قد تتمكن من إجراء التحديث الطفيف عند حدوثه كجزء من تصحيح البرامج المنتظم ، مع اختبار موجز.

إذا كنت بحاجة إلى إصدار بديل عن حزمة rpm ، فلا داعي لمغادرة Red Hat. تتضمن خيارات تثبيت OpenJDK الخاصة بهم أرشيف tar. ومع ذلك ، لا تقم بتثبيت أرشيفات tar في نفس مكان rpm. استخراج حزم غير rpm في مكان ما مثل / opt والتي لا تؤثر على حزم النظام.

Java 8 و 11 و 17 هي إصدارات دعم طويلة المدى. مرجع خارطة طريق الدعم عبر endoflife.date . في الوقت الحالي لديك خيار من أي منهما ، وكلها معبأة في CentOS وفي المنبع. يسمح لبعض الوقت بإعداد ترقية إلى 17 أو ربما 21.