मैं किसी ऐसे मुद्दे पर किसी और के दिमाग को चुनना चाहता हूं जो मुझे हो रहा है और कहीं नहीं मिल रहा है।

हमारे पास हमारे वातावरण में एक पुराना लिनक्स सर्वर है और मैं अपने ओपनजेडके को नवीनतम संस्करणों में पैच करना चाहता हूं लेकिन प्रक्रिया के आसपास अपना सिर लपेट नहीं सकता।

हम Centos 7 पर हैं, openjdk 11.0.14 चला रहे हैं, जो 11.0.15 तक बढ़ना चाहते हैं और अंततः एक बार हम परीक्षण कर सकते हैं कि हमारे एप्लिकेशन प्रत्येक बड़ी छलांग के साथ स्थिर हैं।

यम सूची उपलब्ध जावा * केवल 11.0.14 तक प्रदर्शित होती है, फिर सीधे 17.0.2 पर कूद जाती है, हालांकि मैं केवल उच्चतम v11 पर पैच करना चाहता हूं।

जावा-संस्करण उत्पन्न करता है: ओपनजेडके संस्करण "11.0.14.1" 2022-02-08 एलटीएस ओपनजेडीके रनटाइम एनवायरनमेंट 18.9 (बिल्ड 11.0.14.1+1-एलटीएस) ओपनजेडीके 64-बिट सर्वर वीएम 18.9 (बिल्ड 11.0.14.1+1-एलटीएस, मिश्रित मोड, साझा करना)

प्रारंभ में मैंने एक वैकल्पिक इंस्टॉल करने के बारे में सोचा ताकि मैं आवश्यकतानुसार संस्करणों के बीच स्विच कर सकूं इसलिए मैंने ऑरैकल से 11.0.15 डाउनलोड किया और इसे वर्तमान इंस्टॉल स्थान में निकाला और विकल्पों को चलाया - कमांड इंस्टॉल करें हालांकि यह संदेश के साथ विफल रहता है: प्राथमिक लिंक जावा के लिए usr/bin/Java होना चाहिए।

जब मैं "कौन सा जावा" चलाता हूं तो मुझे बिन/जावा मिलता है लेकिन प्रतीकात्मक लिंक usr/lib/Java के अंतर्गत होता है।

मुझे यकीन नहीं है कि कैसे आगे बढ़ना है, क्या मुझे आगे बढ़ने से पहले पिछले संस्करण को हटा देना चाहिए? मैं इस बारे में भी निश्चित नहीं हूं कि क्या मैं किसी भी मुद्दे से बचने के लिए सही openjdk verison के साथ अपग्रेड कर रहा हूं। क्या मुझे Oracle से डाउनलोड मिलता है या क्या मैं opendjk अभिलेखागार का उपयोग करता हूं?

answer

Oracle Java को एक सशुल्क लाइसेंस की आवश्यकता है, और वे अनुपालन के लिए जाँच कर रहे हैं । सर्वर फॉल्ट लाइसेंसिंग शर्तों पर चर्चा करने का स्थान नहीं है, लेकिन आपको पता होना चाहिए कि आप क्या कर रहे हैं।

CentOS या Enterprise Linux संकुल Red Hat का OpenJDK का निर्माण है। डिस्ट्रो में अन्य चीजों के रूप में स्थापित करने की उसी विधि का उपयोग करने का लाभ, जो आपको आरएचईएल लाए थे। नुकसान यह है कि यह अपस्ट्रीम से पीछे रह सकता है, क्योंकि अनुरक्षकों को एक निर्धारित अद्यतन तक पहुंचने में कुछ समय लगता है, आरएचईएल और सेंटोस के लिए एक निर्माण किया जाता है।

आप वास्तव में क्या याद कर रहे हैं यह देखने के लिए जावा 11.0.15 के रिलीज नोट्स पढ़ें। एक मौका है कि यह महत्वपूर्ण नहीं है। जब यह नियमित सॉफ़्टवेयर पैचिंग के एक भाग के रूप में होता है, तो संक्षिप्त परीक्षण के साथ आप मामूली अपडेट लेने में सक्षम हो सकते हैं।

क्या आपको rpm संकुल के अलावा किसी वैकल्पिक संस्करण की आवश्यकता है, आपको Red Hat को छोड़ने की जरूरत नहीं है. उनके OpenJDK इंस्टाल विकल्पों में एक टार आर्काइव शामिल है। हालाँकि, टार आर्काइव्स को आरपीएम के समान स्थान पर स्थापित न करें। गैर rpm संकुल को कहीं ऐसे निकालें जैसे /opt जो सिस्टम संकुल को प्रभावित नहीं करता है.

जावा 8, 11 और 17 दीर्घकालिक समर्थन रिलीज़ हैं। endoflife.date के माध्यम से संदर्भ समर्थन रोडमैपफिलहाल आपके पास दोनों में से कोई एक विकल्प है, सभी को CentOS और अपस्ट्रीम में पैक किया गया है। 17 या शायद 21 में अपग्रेड तैयार करने के लिए कुछ समय देता है।