लिनक्स पर सॉफ्टवेयर पैकेज कैसे संकलित करें

विंडोज़(Windows) से लिनक्स(Linux) पर स्विच करने वाले उपयोगकर्ताओं के लिए सबसे कठिन समायोजनों में से एक यह विचार है कि आपके द्वारा इंस्टॉल किया जाने वाला प्रत्येक सॉफ़्टवेयर आपके लिए तैयार नहीं है। विंडोज(Windows) उपयोगकर्ताओं के विपरीत , जो (ज्यादातर मामलों में) एक EXE इंस्टॉलर या ज़िप(ZIP) फ़ाइल में सॉफ़्टवेयर को पहले से पैक करते हैं, लिनक्स(Linux) उपयोगकर्ताओं को अक्सर अपने स्वयं के सॉफ़्टवेयर पैकेजों को संकलित करना पड़ता है।

यदि आप जानना चाहते हैं कि लिनक्स(Linux) पर सॉफ्टवेयर पैकेज कैसे संकलित करें, तो आपको कुछ चरणों का पालन करना होगा। आपको सोर्स कोड डाउनलोड करना होगा, कॉन्फिगर कमांड को रन करना होगा, किसी भी जरूरी डिपेंडेंसी पैकेज को इंस्टॉल करना होगा, फिर अपने पैकेज को कंपाइल करना शुरू करने के लिए मेक कमांड को रन करना होगा। यहां बताया गया है कि यह सब Linux- आधारित ऑपरेटिंग सिस्टम पर कैसे किया जाता है।

स्रोत फ़ाइलें डाउनलोड करना(Downloading Source Files)

इससे पहले कि आप अपने नए सॉफ्टवेयर पैकेज बनाना शुरू करें, आपको सोर्स कोड की आवश्यकता होगी। यह उस पैकेज से हो सकता है जिसे आपने स्वयं विकसित किया है, इस स्थिति में आपके पास पहले से ही स्रोत कोड तक पहुंच होनी चाहिए।

हालाँकि, यह अधिक संभावना है कि आप किसी अन्य डेवलपर से Linux पर सॉफ़्टवेयर पैकेज संकलित करने का प्रयास कर रहे हैं। (Linux)Github जैसी लोकप्रिय कोड साझा करने वाली साइटें आपको संकुल के लिए स्रोत कोड देखने और डाउनलोड(view and download the source code) करने की अनुमति देती हैं, जिसे आप तब संकलित कर सकते हैं। आप अपने पीसी पर स्रोत फ़ाइलों को डाउनलोड करने के लिए लोकप्रिय संस्करण नियंत्रण प्रणाली जीआईटी का उपयोग कर सकते हैं।(GIT)

आप वीएलसी(VLC) जैसे ओपन-सोर्स प्रोजेक्ट्स से सीधे सोर्स कोड भी डाउनलोड कर सकते हैं। ये आमतौर पर TAR.GZ जैसे संपीड़ित फ़ाइल स्वरूप में आते हैं, जिसे आप (compressed file format)tar कमांड का उपयोग करके टर्मिनल पर निकाल सकते हैं । उदाहरण के लिए, tar -xzvf source.tar.gz कमांड चलाने से (tar -xzvf source.tar.gz )source.tar.gz नाम की एक टारबॉल फाइल निकल जाएगी ।

एक बार जब आपके पास स्रोत कोड उपलब्ध हो जाता है और आपके लिनक्स(Linux) पीसी पर निकाला जाता है , तो आप अपने पैकेज को संकलित करने से पहले तैयारी के अगले चरण में जा सकते हैं।

लिनक्स पर बिल्ड-एसेंशियल इंस्टॉल करना(Installing Build-Essential On Linux)

आपके स्रोत कोड की प्रोग्रामिंग भाषा की परवाह किए बिना,  लिनक्स(Linux) ऑपरेटिंग सिस्टम पर किसी भी प्रकार के सॉफ़्टवेयर संकलन के लिए बिल्ड-एसेंशियल(build-essential) पैकेज में निहित टूल और सॉफ़्टवेयर की आवश्यकता होती है।

एक आवश्यक पैकेज के रूप में, बिल्ड-एसेंशियल (या इसी तरह नामित पैकेज) आपके लिनक्स(Linux) वितरण के लिए सॉफ़्टवेयर रिपॉजिटरी में उपलब्ध होना चाहिए। आर्क (Arch) लिनक्स(Linux) - आधारित वितरण पर बिल्ड-एसेंशियल के समतुल्य को बेस-डेवेल(base-devel) कहा जाता है , जिसमें कई समान उपकरण शामिल हैं।

आपके लिनक्स(Linux) वितरण के आधार पर बिल्ड-एसेंशियल के लिए इंस्टॉलेशन निर्देश भी अलग-अलग होंगे । उदाहरण के लिए, उबंटू(Ubuntu) और डेबियन-आधारित ऑपरेटिंग सिस्टम पर, आप टर्मिनल विंडो खोलकर और sudo apt install बिल्ड-आवश्यक(sudo apt install build-essential) टाइप करके बिल्ड-एसेंशियल इंस्टॉल कर सकते हैं ।

बिल्ड-एसेंशियल इंस्टॉल करने से इसकी निर्भरताएं भी स्थापित हो जाएंगी, जैसे कि g++ पैकेज। एक बार यह प्रक्रिया पूरी हो जाने के बाद, आप इसे संकलित करने से पहले अपने लिनक्स(Linux) स्रोत पैकेज को कॉन्फ़िगर करने के लिए आगे बढ़ सकते हैं ।

कॉन्फ़िगर कमांड चलाएँ(Run The Configure Command)

प्रमुख पैकेजों के स्रोत कोड में आमतौर पर एक कॉन्फ़िगर(configure) स्क्रिप्ट होती है। इस स्क्रिप्ट को चलाने से आपके लिनक्स(Linux) वितरण की जांच उन आवश्यक पैकेजों के लिए होगी जिन्हें आपके स्रोत कोड को सही ढंग से संकलित करने में सक्षम होने की आवश्यकता है।

कॉन्फ़िगर स्क्रिप्ट चलाने के लिए, सीडी(cd) कमांड का उपयोग करके अपने निकाले गए स्रोत कोड के लिए फ़ोल्डर दर्ज करें । वहां से, टर्मिनल में ./configure टाइप करें, इसे चलाने के लिए एंटर दबाएं।

यदि कॉन्फ़िगर स्क्रिप्ट एक लापता पैकेज का पता लगाता है, तो यह आपको सूचित करेगा कि स्क्रिप्ट के अंत में क्या करना है। उदाहरण के लिए, वीएलसी(VLC) मीडिया प्लेयर को संकलित करने से पहले, ऊपर दिखाए गए कॉन्फ़िगर स्क्रिप्ट ने पता लगाया है कि लुआ(Lua) प्रोग्रामिंग भाषा स्थापित नहीं है।

कुछ मामलों में, आप अभी भी सॉफ़्टवेयर पैकेज़ों को संकलित और कॉन्फ़िगर कर सकते हैं, भले ही कॉन्फ़िगर स्क्रिप्ट ने अनुपलब्ध पैकेज या सुविधा का पता लगाया हो। वीएलसी(VLC) के लिए कॉन्फ़िगर स्क्रिप्ट (ऊपर दिखाया गया है) ने लापता लुआ(Lua) प्रोग्रामिंग भाषा पैकेजों के समाधान की पेशकश की है, यह सुझाव देकर कि आप इसे बायपास करने के लिए -डिसेबल-लुआ(–disable-lua ) ध्वज के साथ फिर से चलाएं।

जारी रखने से पहले आपको इन त्रुटियों को बायपास करने के लिए किसी भी अनुपलब्ध पैकेज को स्थापित करना होगा जिसे कॉन्फ़िगर स्क्रिप्ट ने पता लगाया है या किसी भी सुझाए गए अक्षम झंडे का उपयोग करना होगा।

यदि कॉन्फ़िगरेशन स्क्रिप्ट बिना (या केवल मामूली) त्रुटियों के साथ पूर्ण हो गई है, तो आपके पैकेज के लिए कॉन्फ़िगर किया गया मेकफ़ाइल बनाया जाएगा। (makefile)यह आपके पैकेज को संकलित करने के लिए निर्देश बनाता है, जिससे आप अंतिम सॉफ़्टवेयर संकलन चरण में जा सकते हैं। 

गुम निर्भरता पैकेज स्थापित करें(Install Missing Dependency Packages)

कॉन्फ़िगर स्क्रिप्ट किसी भी पैकेज की मदद से पहचान करती है जिसे आपके लिनक्स(Linux) वितरण को आपके नए सॉफ़्टवेयर पैकेज को सही ढंग से संकलित और स्थापित करने में सक्षम होने की आवश्यकता होती है।

इन्हें आपके कॉन्फ़िगर स्क्रिप्ट त्रुटि संदेश या उस स्क्रिप्ट को चलाने की प्रक्रिया के माध्यम से आगे स्पष्ट रूप से पहचाना जा सकता है। यदि त्रुटि संदेश ने इसे स्पष्ट नहीं किया है, तो लापता पैकेज की कोशिश करने और पहचानने के लिए अपने टर्मिनल इतिहास पर वापस स्क्रॉल करें।

एक बार जब आप जान जाते हैं कि लापता पैकेज क्या है, तो इसे स्थापित करने के लिए अपने लिनक्स(Linux) वितरण के लिए पैकेज इंस्टॉलर का उपयोग करें । उदाहरण के लिए, उबंटू(Ubuntu) और डेबियन-आधारित ऑपरेटिंग सिस्टम पर, sudo apt install package-name चलाना एक पैकेज स्थापित करेगा।

किसी भी लापता निर्भरता को स्थापित करना अंतिम चरण है जिसे आपको अपने नए सॉफ़्टवेयर पैकेज को संकलित और स्थापित करने से पहले पूरा करना होगा। इस प्रक्रिया को पूरा करने के बाद, आप संकलन शुरू करने के लिए तैयार हैं।

लिनक्स पर कंपाइल कैसे करें(How to Compile on Linux)

बिल्ड-एसेंशियल(build-essential) पैकेज में मेक(make) शामिल है , स्वचालित टूल जिसका उपयोग आपके सोर्स कोड को सॉफ़्टवेयर में संकलित करना शुरू करने के लिए किया जाता है जिसे आप अपने पीसी पर चला सकते हैं। यह मेकफ़ाइल(makefile ) फ़ाइल का उपयोग करता है, जिसे पहले कॉन्फ़िगर(configure) कमांड द्वारा कॉन्फ़िगर और बनाया गया है, जिसमें आपके पैकेज को संकलित करने के लिए आवश्यक विशिष्ट निर्देश शामिल हैं।

अपने स्रोत कोड को संकलित करना शुरू करने के लिए, एक टर्मिनल खोलें और सही फ़ोल्डर दर्ज करने के लिए सीडी कमांड का उपयोग करें। (cd)जब आप तैयार हों, तो अपने पैकेज का संकलन शुरू करने के लिए मेक टाइप करें।(make)

पैकेज के आकार और आपके उपलब्ध सिस्टम संसाधनों के आधार पर इसे पूरा होने में थोड़ा समय लगेगा। यदि आपके सॉफ़्टवेयर पैकेज के संकलित होने के बाद कोई त्रुटि नहीं दिखाई देती है, तो आप अपना पैकेज स्थापित कर सकते हैं।

ऐसा करने के लिए, टर्मिनल में sudo make install टाइप करें। (sudo make install)पैकेज आपके लिनक्स(Linux) पीसी पर स्थापित किया जाएगा, जो आपके लिए किसी भी अन्य सॉफ़्टवेयर की तरह खोलने और उपयोग करने के लिए तैयार है।

लिनक्स पर नया सॉफ्टवेयर स्थापित करना(Installing New Software On Linux)

लिनक्स(Linux) पर सॉफ़्टवेयर पैकेजों को संकलित करने का तरीका जानने से आपको कम ज्ञात सॉफ़्टवेयर स्थापित करने में मदद मिल सकती है। उबंटू(Ubuntu) और डेवियन(Devian) जैसे प्रमुख ऑपरेटिंग सिस्टम में उपयोगकर्ताओं के लिए बड़े सॉफ़्टवेयर रिपॉजिटरी उपलब्ध हैं, इसलिए यदि आप अपने सॉफ़्टवेयर को संकलित नहीं करना चाहते हैं, तो इसके बजाय पैकेज मैनेजर का उपयोग करके नए सॉफ़्टवेयर को खोजने और स्थापित करने का प्रयास करें।

यदि आप विंडोज़(Windows) से आगे बढ़ रहे हैं, तो आप अपने पसंदीदा विंडोज़-केवल ऐप्स का उपयोग जारी रखने के लिए लिनक्स पर विंडोज़ सॉफ़्टवेयर(install Windows software on Linux) भी इंस्टॉल कर सकते हैं।



About the author

मैं एक सॉफ्टवेयर इंजीनियर हूं जिसे क्रोम और गेमिंग एप्लिकेशन दोनों में अनुभव है। मैं पिछले 4 वर्षों से Google क्रोम ब्राउज़र के समाधान पर काम कर रहा हूं और कई अलग-अलग प्लेटफार्मों के लिए गेम पर भी काम किया है। मेरा कौशल सॉफ्टवेयर परियोजनाओं की डिजाइनिंग, परीक्षण और प्रबंधन में निहित है। एक सॉफ्टवेयर इंजीनियर के रूप में अपने काम के अलावा, मुझे गोपनीयता, उपयोगकर्ता खातों और पारिवारिक सुरक्षा के मुद्दों का भी अनुभव है।



Related posts