यदि आपने किसी भी समय के लिए Linux का उपयोग किया है, तो आपने देखा होगा कि थर्ड-पार्टी एप्लिकेशन इंस्टॉल करने के सबसे सामान्य तरीकों में से एक .Deb पैकेज के माध्यम से है। अक्सर यह इस सॉफ्टवेयर को प्राप्त करने का एकमात्र तरीका होता है, क्योंकि डेवलपर्स Linux प्लेटफॉर्म द्वारा प्रदान किए जाने वाले दर्जनों विभिन्न प्रारूपों में पैकेजिंग की प्रक्रिया से गुजरने की जहमत नहीं उठा सकते।
कई गैर-Debian-आधारित Linux वितरणों के पास इस मुद्दे से निपटने के अपने तरीके हैं। हालांकि, सभी Linux वितरणों में से, Arch Linux के पास Debian पैकेज को काम करने के लिए सबसे दिलचस्प तरीके हैं। इस लेख में हम इसे पूरा करने के तीन तरीकों की रूपरेखा तैयार करते हैं और चर्चा करते हैं कि कौन सा सबसे अच्छा है।
नोट: नीचे दिए गए चरण किसी भी Arch-आधारित डिस्ट्रो के लिए काम करेंगे।
AUR के माध्यम से इंस्टॉल करना
AUR आधिकारिक तौर पर Arch Linux में समर्थित नहीं सॉफ्टवेयर की तलाश करते समय जांच करने वाली पहली जगह है। हमेशा यहां पहले जांचें। यह एक सेवा है जो किसी को भी PKGBUILD स्क्रिप्ट अपलोड करने की अनुमति देती है, जिसे विभिन्न स्थानों से सॉफ्टवेयर को स्वचालित रूप से लेने, उन्हें चलाने के लिए आवश्यक कुछ या सभी डिपेंडेंसी डाउनलोड करने और एक नेटिव Arch Linux पैकेज कंपाइल करने के लिए डिज़ाइन किया गया है।
AUR का उपयोग करते समय, इसके बारे में जाने के दो तरीके हैं:
1. AUR हेल्पर का उपयोग करें
यदि आप हुप्स के माध्यम से कूदे बिना जल्दी से चीजें करना चाहते हैं, तो yay या yaourt जैसे AUR हेल्पर का उपयोग करें। यह आपको .deb फाइल इंस्टॉल करने की अनुमति नहीं देगा, लेकिन आप Arch उपयोगकर्ताओं द्वारा बनाए गए Arch प्रारूप में पैकेज ढूंढने में सक्षम हो सकते हैं।
AUR हेल्पर्स के बारे में अधिक जानकारी और उन्हें कैसे इंस्टॉल करें, हमारे पांच विस्मयकारी AUR हेल्पर्स की सूची देखें। एक बार आपके पास एक हो जाने पर, बस AUR खोजें, इंस्टॉल करें और जाएं।
संभावना है कि यदि आप Manjaro, Endeavour, Garuda या अन्य Arch-आधारित डिस्ट्रो का उपयोग कर रहे हैं, तो आपके पास एक AUR हेल्पर इंस्टॉल होगा। अपने डिस्ट्रो के दस्तावेज़ीकरण को देखें कि क्या शामिल है। Garuda और Endeavour दोनों yay का उपयोग करते हैं।
यदि आप एक ग्राफिकल वातावरण पसंद करेंगे, तो आप अपने AUR हेल्पर के साथ pamac-aur पैकेज इंस्टॉल कर सकते हैं - यदि यह पहले से इंस्टॉल नहीं है। ध्यान दें कि इंस्टॉलेशन के बाद "प्राथमिकताएं -> थर्ड पार्टी" के तहत AUR समर्थन सक्षम करना होगा।
2. AUR पैकेज को मैन्युअली इंस्टॉल करना
अनौपचारिक पैकेज प्राप्त करने का एक और तरीका AUR वेबसाइट पर जाकर, सर्च बार का उपयोग करके, और "स्नैपशॉट" डाउनलोड करना है। यह एक कम स्वचालित प्रक्रिया है, लेकिन यह इसके लायक है यदि आप इस पर अधिक बारीक नियंत्रण चाहते हैं कि पैकेज कैसे बनाए या इंस्टॉल किए जाते हैं। तुरंत पैकेज इंस्टॉल करने के बजाय, यह एक नेटिव पैकेज उगल देगा जिसे आप अपने उद्देश्यों के लिए संशोधित कर सकते हैं।
इसका मतलब है कि यदि आपके पास एक कस्टम व्यक्तिगत रिपॉजिटरी सेट अप है, तो आप इन नवनिर्मित पैकेज को आसान इंस्टॉलेशन के लिए रेपो में रख सकते हैं।
नोट: यदि आप केवल Arch के बेस रिपॉजिटरी और AUR का उपयोग करने की योजना बना रहे हैं, तो AUR हेल्पर के साथ पैकेज इंस्टॉल करना मैन्युअल बिल्ड की तुलना में एक बेहतर विकल्प है।
अधिकांश (यदि सभी नहीं) प्रोग्राम जो केवल DEB फॉर्मेट में आते हैं, AUR में पाए जाएंगे। यहां बताया गया है कि इसे स्क्रैच से Arch पैकेज के रूप में कैसे कंपाइल किया जाए।
- सुनिश्चित करें कि आपके पास
gitऔर Arch के लिए बेस डेव पैकेज इंस्टॉल हैं, टाइप करके
sudo pacman -S --needed git base-devel
अपने टर्मिनल में।
- आप जिस पैकेज को डाउनलोड और इंस्टॉल करना चाहते हैं उसके AUR पेज पर "Git Clone URL" पर ध्यान दें और इसे कॉपी करें। होम डायरेक्टरी में खोले गए टर्मिनल में उस URL का उपयोग इस तरह करें:
git clone [pasted URL]
यह पैकेज के git रिपॉजिटरी को Arch के शक्तिशाली makepkg टूल के लिए एक PKGBUILD कॉन्फिगरेशन फाइल के साथ डाउनलोड करेगा।
- टाइप करें
cd [package name]
उस पैकेज के बिल्ड डायरेक्टरी पर नेविगेट करने के लिए जिसे आपने अभी डाउनलोड किया है।
- टाइप करें
makepkg -si
पैकेज बनाने और इसे स्वचालित रूप से इंस्टॉल करने के लिए।
यदि आप उत्सुक हैं, तो -s (--syncdeps) फ्लैग आधिकारिक Arch Linux रिपॉजिटरी में उपलब्ध पैकेज से संबंधित सभी डिपेंडेंसी को स्वचालित रूप से हड़प लेता है, जबकि -i (--install) फ्लैग आपके सिस्टम को न केवल पैकेज को कंपाइल करने बल्कि इसे अपने सिस्टम में एकीकृत करने के लिए कहता है (जैसे, मेनू आइटम बनाना, यदि कोई हो तो कर्नेल आर्गुमेंट में आवश्यक एकीकरण करना, आदि)।
Debtap के माध्यम से इंस्टॉल करें
यदि, किसी कारण से, आपके द्वारा आवश्यक Deb AUR में नहीं है, तो Debtap इंस्टॉल करें। यह एक प्रोग्राम है जो एक Debian पैकेज को अलग करता है और इसे एक Arch पैकेज में बनाता है जिसे आपका पैकेज मैनेजर "समझ सकता है"।
चेतावनी: इस विधि को अपने विवेक पर उपयोग करें। आपके द्वारा इंस्टॉल किया गया .deb पैकेज टूट सकता है यदि इसके द्वारा निर्भर पैकेज के अपस्ट्रीम मेंटेनर्स को ऐसे अपडेट मिलते हैं जो फीचर्स या कार्यक्षमता को हटा देते हैं। यह हर समय नहीं होता, लेकिन आपको पता होना चाहिए कि यह विधि हमेशा शानदार ढंग से काम नहीं कर सकती।
- पिछले अनुभाग में निर्देशों का पालन करके AUR के माध्यम से Debtap इंस्टॉल करना शुरू करें।
- एक बार इंस्टॉल हो जाने पर,
sudo debtap -uएक बार चलाएं ताकि debtap के अपने रिपॉजिटरी अपडेट हो जाएं। अन्यथा, एप्लिकेशन काम नहीं करेगा। - आप जिस .deb फाइल को कन्वर्ट करना चाहते हैं उसे डाउनलोड करें, उस डायरेक्टरी में
cdकरें जिसमें आपने इसे डाउनलोड किया है, और निम्न कमांड का उपयोग करें:
debtap packagetoconvert.deb
- किसी भी बिंदु पर जहां Debtap आपसे डेटा इनपुट करने के लिए कहता है, आप बस इसे अनदेखा कर सकते हैं और अपने कीबोर्ड पर Enter दबा सकते हैं।
- जब समाप्त हो जाता है, तो Debtap एक "pkg.*.zst" फाइल बनाएगा जिसे आपका पैकेज मैनेजर ऑफ़लाइन इंस्टॉलेशन प्रक्रियाओं का उपयोग करके व्याख्या और इंस्टॉल कर सकता है।
cdउस डायरेक्टरी में करें जिसमें आपने अभी .deb पैकेज को कन्वर्ट किया है और टाइप करें:
sudo pacman -U [package-name]
मैन्युअली इंस्टॉल करना
चेतावनी: यह विधि अत्यधिक असुरक्षित है और केवल तब उपयोग की जानी चाहिए जब कोई अन्य विकल्प न हो और आपको पहले से ही इस बात की उन्नत समझ हो कि कुछ पैकेज कैसे काम करते हैं और कुछ व्यवहार जो Arch अपेक्षा करता है। उदाहरण के लिए, कुछ एप्लिकेशन (जैसे Plymouth, Virtualbox, आदि) को कर्नेल में हुक की आवश्यकता हो सकती है जिन्हें केवल कॉन्फिगरेशन फाइलों को संपादित करके और उन हुक के साथ कर्नेल को रीबिल्ड करके किया जा सकता है। इससे भी अधिक, इस विधि का उपयोग करने से नहीं आपके पैकेज की डिपेंडेंसी भी इंस्टॉल होती हैं।
हालांकि यह सबसे सुंदर समाधान नहीं है, जब .deb फाइल को Debtap से कन्वर्ट करने या AUR pkgbuild से कंपाइल करने का कोई तरीका नहीं है, तो सबसे अच्छी विधि Debian पैकेज को स्वयं निकालना और फाइलों को वहां रखना है जहां वे होनी चाहिए।
हालांकि इसमें पिछली विधियों की तुलना में बहुत अधिक मेहनत शामिल हो सकती है, यह अधिक प्लेटफॉर्म-स्वतंत्र है, जिसका अर्थ है कि आप इस विधि को Void Linux, Fedora, और openSUSE जैसे कई अन्य वितरणों में उपयोग कर सकते हैं। मैंने इसे Gentoo और Slackware में टेस्ट नहीं किया है, इसलिए उन दोनों डिस्ट्रो के साथ आपका अनुभव भिन्न हो सकता है क्योंकि दोनों डिस्ट्रो पैकेज इंस्टॉल करने को संभालना पसंद करते हैं।
Debian पैकेज बाइनरी के साथ आर्काइव हैं, इसलिए कोई कंपाइलिंग आवश्यक नहीं है। किसी भी Deb पैकेज में फाइलों को Arch पर इंस्टॉल करने के लिए, पहले इसे एक फोल्डर में निकालें। ध्यान रखें कि आपको उस फोल्डर के अंदर "डेटा" के रूप में जाने जाने वाले आर्काइव को भी निकालना होगा।
उदाहरण के लिए, Google Chrome इंस्टॉल करने के लिए, आप पहले निकाले गए Deb फोल्डर में cd करेंगे जिसमें अंदर "data.tar.xz" की निकाली गई सामग्री है।
cd ~/Downloads/google-chrome-stable_current_amd64
फिर, उन सभी फोल्डर्स को प्रकट करने के लिए ls कमांड चलाएं जो Deb पैकेज के अंदर डेटा आर्काइव में रहते हैं। इन फोल्डर्स के नामों को ध्यान में रखें। प्रत्येक डायरेक्टरी में cd करें और इन डायरेक्टरी की सामग्री को वहां ले जाएं जहां वे सिस्टम पर हैं।
उदाहरण के लिए:
cd ~/Downloads/google-chrome-stable_current_amd64/etc sudo mv * /etc/ cd ~/Downloads/google-chrome-stable_current_amd64/opt sudo mv * /opt/
अक्सर पूछे जाने वाले प्रश्न
1. Debtap इतना समय क्यों ले रहा है?
Debtap .deb फाइल में उपलब्ध मेटाडेटा को हड़प लेता है ताकि सबसे वफादार Arch पैकेज संभव बनाया जा सके ताकि मुद्दों को कम किया जा सके और पैकेज मैनेजर को प्रासंगिक जानकारी प्रदान की जा सके कि pacman को पैकेज के अलावा किन डिपेंडेंसी को इंस्टॉल करना चाहिए। इसमें केवल एक टारबॉल को डीकंप्रेस करने से कहीं अधिक मेहनत शामिल है।
इसके अलावा, Debtap जिस स्क्रिप्ट का उपयोग करता है वह फाइलों को केवल एक CPU कोर के साथ कन्वर्ट करता है, जिससे सिंगल-कोर प्रदर्शन वह निर्धारक कारक बन जाता है जो प्रभावित करता है कि आपका सिस्टम ऑपरेशन को पूरा करने में कितना समय लेगा। बड़े पैकेज के लिए कुछ मिनट तक का समय लगने की उम्मीद करें।
2. क्या Debtap चलाने के बाद मैं ग्राफिकल इंस्टॉलर का उपयोग कर सकता हूं?
हां! यदि आपके पास pamac का कोई भी संस्करण इंस्टॉल है, तो आप Debtap द्वारा जनरेट की गई tar-zst फाइल को अपने फाइल मैनेजर के माध्यम से चला सकते हैं। प्रोग्राम के रूप में pamac को चुनकर फाइल चलाने के लिए, आप इसे किसी .deb पैकेज की तरह डबल-क्लिक कर सकते हैं ताकि इसे और इसकी सभी डिपेंडेंसी को स्वचालित रूप से इंस्टॉल किया जा सके।
3. Debtap AUR के साथ कैसे तुलना करता है?
आपको Debtap को किसी ऐसी चीज़ के लिए अंतिम-खाई "गंदी" विधि के रूप में देखना चाहिए जिसकी आपको वास्तव में आवश्यकता है और किसी तरह AUR में नहीं मिल सकती। यदि आप AUR में कुछ ढूंढ सकते हैं, तो .deb फाइल का उपयोग करने की तुलना में उस पैकेज को इंस्टॉल करना हमेशा एक बेहतर विकल्प होगा।
समापन
Arch Linux की सबसे अच्छी चीजों में से एक यह है कि उपयोगकर्ता पैकेज इंस्टॉल करने के कितने तरीके हैं - AUR से, कस्टम रिपॉजिटरी से, अन्य वितरणों के पैकेज को डीकंपाइल करके ताकि वे चलें। हालांकि यह जानकारी नई नहीं है, यह निश्चित रूप से Arch में नए लोगों के लिए और अपने पसंदीदा प्रोग्राम इंस्टॉल करने के तरीकों की तलाश करने वालों के लिए एक अच्छा संसाधन है।
Arch Linux में AUR का उपयोग कैसे करें, यह जानने के लिए आगे पढ़ें।