मैं RPM कैसे स्थापित और प्रबंधित करूं?


85

मेरे पास अपने Ubuntu इंस्टालेशन पर RPM इंस्टॉल करने की इच्छा है - क्या यह संभव है? क्या मैं यम - या अन्य RPM पैकेज प्रबंधन उपकरण का उपयोग कर सकता हूं?


क्यों? आप किस तरह के सॉफ्टवेयर को याद कर रहे हैं जो आप उबंटू या पीपीए में नहीं पा सकते हैं? विदेशी कार्यों के साथ rpms परिवर्तित करना, लेकिन यह वास्तव में सबसे अच्छा विकल्प नहीं है।
ℝएफ़िंक

मेरे दिन के काम में मैं एक लिनक्स सिस्टम प्रशासक हूं और मैं मुख्य रूप से रेडहैट मशीनों का प्रशासन करता हूं। मैं उबंटू से प्यार करता हूं कि मुझे अपनी नौकरी अपने साथ घर ले जाने की ज़रूरत नहीं है, लेकिन कुछ चीजें जो डेबियन कॉन्फ़िगरेशन के लिए उपयोग करती हैं (मुख्य रूप से अपाचे) वास्तव में मुझे पागल कर देती हैं। मैं बहुत पसंद करता हूं जिस तरह से आरएच अपाचे सॉफ्टवेयर को बनाए रखता है। तो दो पैकेज प्रबंधन समाधान को बनाए रखने के (वाह और योग्यता) एक अधिक आदर्श समाधान की तरह लगता है (यदि यह संभव है)
मार्को Ceppi

संबंधित जानकारी: आरपीएम और यम टैग विकिस
एलियाह कगन

जवाबों:


117

क्या मैं यम का उपयोग कर सकता हूं

मैं इसकी सिफारिश नहीं करूंगा। आप शायद इसे संकलित कर सकते हैं लेकिन आपके पास इसे संभालने के लिए कोई उबंटू-संगत पैकेज रिपॉजिटरी नहीं होगा।

आप सिंगल RPM फ़ाइलों को विदेशी के साथ DEBs में बदल सकते हैं :

sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb

नोट: यह फ़ाइल नाम को केवल विस्तार से थोड़ा अधिक बदल सकता है।

यह सब कुछ के लिए काम नहीं करेगा क्योंकि पैकेज निर्भरता को पूरा करने के लिए अन्य पैकेजों से लिंक करते हैं। जाहिर है कि Red Hat / Fedora / CentOS, उबंटू के विभिन्न पैकेज नामों का उपयोग करते हैं ताकि आप दर्द के पूरे भार में चले जाएं।

संभावना है कि यदि कोई DEB मौजूद नहीं है, तो आप स्रोत को प्राप्त करने और उसे संकलित करने से बेहतर होंगे।


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

चेक-इन का उपयोग किया जाता है make installऔर इसके आस-पास होने के लिए बहुत आसान है। संकुल हटाने में सक्षम होने के नाते निश्चित रूप से एक प्लस है!
aperson

checkinstallएक पैक वातावरण में एक स्व-निर्माण को बनाए रखने के लिए बहुत अच्छा है, लेकिन इसमें कुछ विचित्रताएं हैं जो कभी-कभी कुछ का मतलब होता है जो स्थापित make installनहीं करेगा। मैं इसका इस्तेमाल तब कर सकता हूं जब मैं कर सकता हूं।
ओली

3
आप कर सकते हैं alien --install my_package.rpm
tshepang

मैंने इस तरह से lftp के नवीनतम संस्करण को स्थापित करने की कोशिश की, लेकिन यह निर्भरता को अद्यतन नहीं करता है, इसलिए lftp के साथ लोड करने की कोशिश शुरू करने में विफल रहता है:error while loading shared libraries: libreadline.so.7
Cittenching Kitten

15

आपको ऐसा करने की आवश्यकता होगी alien

sudo apt-get install alien

यह सभी आवश्यक पैकेजों को स्थापित करेगा। अब आप अपनी .rpm फ़ाइलों को .deb पैकेजों में परिवर्तित करना शुरू कर सकते हैं।

इसके लिए उपलब्ध विकल्प alien:

Package.rpm को एक package.deb में बदलें

sudo alien -d package-name.rpm

package.rpmएक में परिवर्तित करें package.deb, और उत्पन्न पैकेज स्थापित करें।

alien -i package-name.rpm

यदि आप संस्करण संख्या को बदलने से एलियन को रखना चाहते हैं, तो निम्न कमांड का उपयोग करें

alien -k rpm-package-file.rpm

7

संक्षिप्त उत्तर है, नहीं!

यदि आपको एक RPM मिला है जो इतना महत्वपूर्ण है कि आपको इसकी आवश्यकता है, तो शायद उबंटू पैकेज भी है; और, यदि नहीं, तो यह संभवतः स्रोत से इसे डेबियन पैकेज प्रारूप में संकलन करने की परेशानी से गुजरने के लायक है (जो उबंटू उपयोग भी करता है)। अब, ऐसे कुछ समय हैं जब आप केवल सॉफ्टवेयर को फिर से नहीं जमा कर सकते हैं (यदि यह ओपनसोर्स नहीं तो असंभव है) और उस स्थिति में आप alienप्रोग्राम का उपयोग कर सकते हैं । लेकिन, RPM से इंस्टॉल करना डीजल कार में पेट्रोल डालने जैसा है - यह काम कर सकता है, लेकिन लंबे समय में आपको इससे कोई फायदा नहीं होगा!

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


वास्तव में सवाल का जवाब नहीं, इसलिए -1
डी

3

यदि आपको वास्तव में अपने सिस्टम पर RPM इंस्टॉल करने की आवश्यकता है, तो आपको वास्तव में 'एलियन' का उपयोग करके उन्हें बदलने की कोशिश करनी चाहिए।

कृपया ध्यान रखें कि डिफ़ॉल्ट रूप से 'एलियन' पैकेज के वर्जन नंबर के साथ मेडल करेगा। यदि आप चाहते हैं कि संस्करण संख्या समान रहे, तो रूपांतरण करते समय विकल्प '-k' पास करें।

आपको यम या RPM को स्थापित करने के किसी अन्य तरीके का उपयोग करने की कोशिश नहीं करनी चाहिए, जैसे कि apt-rpm, मौजूदा DEB संकुल के बगल में। DEB और RPM सिस्टम इंस्टॉल किए गए सॉफ़्टवेयर की सूची को अलग से प्रबंधित करते हैं और इसलिए यह नहीं जानते हैं कि अन्य सिस्टम द्वारा पहले क्या पैकेज स्थापित किए गए थे। यदि, उदाहरण के लिए, आप RPM- आधारित पैकेज प्रबंधन प्रणाली के साथ GUI- असर अनुप्रयोग स्थापित करने का प्रयास करेंगे, तो यह महत्वपूर्ण सिस्टम घटकों को स्वयं स्थापित करने का प्रयास करेगा, क्योंकि यह सोचता है कि वे अभी तक स्थापित नहीं हैं। यह या तो स्थापना को बुरी तरह से विफल करने का कारण होगा, या महत्वपूर्ण सिस्टम फ़ाइलों को अधिलेखित करेगा।


3

एक GUI पैकेज मैनेजर का नाम रिपॉजिट पर SmartPM है, यह .deb AND .RPM को हैंडल कर सकता है। इस परियोजना में नवंबर 2009 तक कैननिकल ने योगदान दिया।

प्रोजेक्ट्स होम पेज यहाँ है https://github.com/smartpm/smart


उबंटू पूछने के लिए आपका स्वागत है! मैं सलाह देता हूं कि इस जवाब को संपादित करें कि यह कैसे करें, इस बारे में विशिष्ट विवरण के साथ इसका विस्तार करें। (यह भी देखें कि मैं एक अच्छा उत्तर कैसे लिख सकता हूं? सामान्य सलाह के लिए
उकबे

2

एलियन एक ऐसा उपकरण है जो एक प्रारूप (.deb या .rpm) से दूसरे (.deb, .rpm या तारक) में परिवर्तित होता है।

एलियन को .deb से .rpm में परिवर्तित करने के लिए उपयोग करने की सलाह नहीं दी गई है। इसका उपयोग कन्वर्ट करने के लिए .deb में उपयोग करने के लिए सही है।

रूपांतरित करते समय मेटा-डेटा को संरक्षित करने के लिए एलियन के प्रयासों ने लेकिन यह अभी भी मेटाडेटा और निर्भरता की समस्याओं को पैकेज को कम विश्वसनीय बना देगा और इस तरह भविष्य में डिस्टर्बेंस पैकेज को जोड़ने या हटाने का विरोध करेगा।


2

वास्तव में सबसे छोटा विकल्प है

sudo alien -i -k packagename.rpm

एक विदेशी नहीं है? एक पाओ!

sudo apt-get install alien

विदेशी rpm पैकेज को डेब्यू पैकेज में परिवर्तित करता है, -i विकल्प का अर्थ है परिवर्तित होने के बाद परिवर्तित पैकेज को स्थापित करना और रूपांतरण के बाद -k विकल्प सुनिश्चित करना कि संस्करण +1 नहीं है।


2

इन निर्देशों का पालन करें:

alien -k avg71lms-r30-a0782.i386.rpm

अब आपके पास avg71lms-r30-a0782.i386.debफ़ाइल होनी चाहिए ।

.Deb फ़ाइल स्थापित करने के लिए:

dpkg -i avg71lms-r30-a0782.i386.deb

यदि आप -kविकल्प का उपयोग नहीं करते हैं, तो आपको avg71lms_r30-1_i386.debफ़ाइल को देखना चाहिए अंतर यह है कि यह 1 जोड़ देगा।

Ubuntu में विदेशी स्थापित करें:

sudo apt-get install alien

आप उपलब्ध विकल्पों के लिए उपरोक्त अनुभाग की जांच कर सकते हैं


1

एलियन के साथ मैं सिर्फ .rpm फाइल को .deb फाइल में बदल सकता हूं और बस उस एक को इंस्टॉल कर सकता हूं।

एलियन सामान्य डेबियन रिपॉजिटरी में उपलब्ध है, इसलिए हम इसे इस तरह स्थापित कर सकते हैं:

sudo apt-get install alien

इसे -deb पैकेज में बदलने के लिए, हम बस चलाते हैं

alien *.rpm

आप विदेशी के साथ कुछ झंडे का उपयोग करना चाहते हैं। कम से कम, यह आपको स्पष्ट रूप से निर्दिष्ट किए बिना लिपियों को परिवर्तित नहीं करने के बारे में चेतावनी देगा --scripts(या -c)
रान्डेल

0

विदेशी का उपयोग करें जो आरपीएम को डिबेट में परिवर्तित करता है और बाद में डिब को स्थापित करता है।


उबंटू पूछने के लिए आपका स्वागत है! मैं सलाह देता हूं कि इस उत्तर को संपादित करने के लिए इसे विशिष्ट विवरण के साथ विस्तारित करें कि यह कैसे करना है। (यह भी देखें कि मैं एक अच्छा उत्तर कैसे लिख सकता हूँ? सामान्य सलाह के लिए किस प्रकार के उत्तर उबंटू पूछने पर सबसे अधिक मूल्यवान माने जाते हैं।)
डेविड फ़ॉस्टर

0

यहां विदेशी के लिए एक GUI है (विदेशी आरपीएम को डिबेट में बदलने के लिए एक एप्लिकेशन है)

http://code.google.com/p/foxoman/wiki/PackageConverter


-1 "एलियन" क्या है और यह उबंटू में आरपीएम की स्थापना से कैसे संबंधित है?
डेविड फ़ॉस्टर

1
@DavidFoerster एलियन आरपीएम को डिबेट में बदलने के लिए एक एप्लीकेशन है
अनवर

2
मुझे मत बताइए, अपने उत्तर को उन लोगों को बताने के लिए संपादित करें , जो इसका लाभ उठाना चाहते हैं। इसके अलावा, मैं यह सलाह देता हूं कि इस उत्तर को संपादित करें कि इसे कैसे करें के बारे में विशिष्ट विवरणों के साथ इसका विस्तार करें। (यह भी देखें कि मैं एक अच्छा उत्तर कैसे लिख सकता हूँ? सामान्य सलाह के लिए किस तरह के उत्तर उबंटू उकसावे पर सबसे अधिक मूल्यवान माने जाते हैं।)
डेविड फ़ॉस्टर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.