Linux corelist कमांड गाइड: Perl कोर मॉड्यूल जांचें

परिचय

लिनक्स सर्वर पर काम करते समय बिना किसी अतिरिक्त CPAN या बाहरी पैकेज को डाउनलोड किए यह जानना अक्सर जरूरी होता है कि सिस्टम में पहले से कौन से Perl मॉड्यूल उपलब्ध हैं। इसके लिए corelist यूटिलिटी सबसे सटीक और त्वरित समाधान पेश करती है। इस ट्यूटोरियल में हम पैकेज इंस्टॉलेशन से लेकर वर्शन हिस्ट्री ट्रैकिंग और अलग-अलग Perl रिलीज़ के बीच कोर मॉड्यूल्स की तुलना करने के व्यावहारिक तरीकों को समझेंगे।

corelist पैकेज सेटअप और मूल लाइब्रेरी की उपलब्धता जांचना

Ubuntu सिस्टम पर इस टूल का उपयोग शुरू करने के लिए Perl दुभाषिया और संबंधित libmodule-corelist-perl पैकेज को स्थापित करना आवश्यक होता है।

Ubuntu पैकेज मैनेजर के जरिए Perl और corelist टूल इंस्टॉल करना

corelist कमांड मुख्य रूप से यह ट्रैक करने के काम आता है कि कोई विशिष्ट Perl लाइब्रेरी आधिकारिक डिस्ट्रीब्यूशन का हिस्सा कब बनी। जब हम इसके साथ -v फ्लैग जोड़ते हैं, तो यह यूटिलिटी उन सभी Perl संस्करणों का विवरण सामने रख देती है जिनका डेटाबेस इसमें दर्ज है।

⚙️ [महत्वपूर्ण कमांड विकल्प]

-v : समर्थित संपूर्ण Perl संस्करणों की सूची देता है अथवा निर्दिष्ट वर्शन में मौजूद मॉड्यूल्स दिखाता है।
-a : किसी मॉड्यूल के रिलीज इतिहास और हर संस्करण में उसके आंतरिक वर्शन नंबर को प्रदर्शित करता है।
-d : यह बताता है कि किसी मॉड्यूल को आधिकारिक कोर से कब अप्रचलित (deprecated) घोषित किया गया।
-r : विभिन्न Perl संस्करणों की आधिकारिक रिलीज तारीखें दिखाता है।
--diff : दो अलग-अलग Perl रिलीज के कोर घटकों के बीच हुए बदलावों की तुलना करता है।

समर्थित Perl संस्करणों की सूची देखना

सिस्टम पाथ हैंडलिंग के लिए उपयोग होने वाले File::Spec मॉड्यूल की उपस्थिति जांचने हेतु corelist File::Spec निष्पादित किया जाता है। टर्मिनल आउटपुट स्पष्ट करता है कि यह मॉड्यूल Perl 5.00405 के बाद से ही कोर का स्थायी हिस्सा रहा है।

File::Spec मॉड्यूल का प्रारंभिक रिलीज संस्करण जांचना

इसी प्रकार शुद्ध Perl-आधारित पार्सर JSON::PP की जानकारी पाने के लिए corelist JSON::PP चलाएं। प्राप्त परिणाम दर्शाता है कि JSON प्रोसेसिंग की यह लाइब्रेरी Perl v5.13.9 से आधिकारिक तौर पर एकीकृत की गई थी।

JSON::PP मॉड्यूल का कोर इंटीग्रेशन संस्करण देखना

विभिन्न Perl रिलीज़ में मॉड्यूल के इतिहास की पड़ताल

डेटा संरचनाओं को प्रिंट और डिबग करने वाले Data::Dumper मॉड्यूल के संपूर्ण जीवनचक्र को देखने के लिए corelist -a Data::Dumper का प्रयोग करें। परिणाम से यह साफ हो जाता है कि यह टूल Perl 5.005 से लगातार शामिल रहा है और हर प्रमुख अपडेट के साथ इसके अपने सब-वर्शन में क्या क्रमिक बदलाव हुए हैं।

Data::Dumper मॉड्यूल का संस्करण इतिहास देखना

लो-लेवल नेटवर्क सॉकेट हैंडलिंग लाइब्रेरी Socket की ट्रैकिंग के लिए corelist -a Socket कमांड चलाया जाता है। इससे यह पता चलता है कि शुरुआती Perl 5 रिलीज़ से लेकर आधुनिक संस्करणों तक यह मॉड्यूल निरंतर अपडेट होता रहा है।

Socket मॉड्यूल के क्रमिक बदलावों की जानकारी

किसी तय Perl संस्करण में शामिल मॉड्यूल्स खोजना

यदि आप यह विश्लेषण करना चाहते हैं कि Perl 5.034 में कौन-कौन से घटक डिफ़ॉल्ट रूप से शामिल किए गए थे, तो corelist -v 5.034 निष्पादित करें। यह उस विशेष रिलीज में शामिल प्रत्येक मॉड्यूल और उसके सटीक वर्शन की विस्तृत तालिका स्क्रीन पर प्रस्तुत करता है।

Perl 5.034 में शामिल सभी कोर मॉड्यूल्स की सूची

यदि मॉड्यूल का पूरा नाम याद न हो, तो रेगुलर एक्सप्रेशन का सहारा लिया जा सकता है। उदाहरण के लिए, corelist /Digest/ चलाने पर नाम में ‘Digest’ शब्द रखने वाले सभी कोर मॉड्यूल्स और उनके सर्वप्रथम रिलीज वर्शन की सूची फिल्टर होकर आ जाती है।

रेगुलर एक्सप्रेशन द्वारा Digest से संबंधित मॉड्यूल खोजना

दो Perl संस्करणों के बीच मॉड्यूल अंतर (Diff) का विश्लेषण

स्क्रिप्ट माइग्रेशन या सर्वर अपग्रेड के दौरान दो वातावरणों की अनुकूलता परखने के लिए corelist --diff 5.030 5.034 कमांड बेहद उपयोगी है। यह सीधे तौर पर उन सभी मॉड्यूल्स को इंगित करता है जिनके वर्शन में इन दोनों रिलीज के बीच बदलाव हुआ है।

दो Perl संस्करणों के बीच मॉड्यूल वर्शन अंतर की तुलना

समय के साथ कुछ पुराने मॉड्यूल्स को मुख्य पैकेज से बाहर भी कर दिया जाता है। Perl 5.034 में हटाए गए घटकों की पड़ताल करने के लिए corelist --removed 5.034 निष्पादित करें। ऐसा करने से अपग्रेड के बाद स्क्रिप्ट टूटने या अधूरी निर्भरता (dependencies) जैसी समस्याओं की रोकथाम पहले ही की जा सकती है।

Perl 5.034 से हटाए गए अप्रचलित मॉड्यूल्स की सूची

इस गाइड में हमने देखा कि लिनक्स वातावरण में corelist कमांड किस तरह Perl कोर मॉड्यूल्स और उनकी वर्शन संगतता को तुरंत स्पष्ट कर देता है। इन तकनीकों का उपयोग करके आप बिना किसी अनावश्यक निर्भरता को इंस्टॉल किए एक हल्का और विश्वसनीय Perl निष्पादन ढांचा तैयार कर सकते हैं।