मेरे पास एक आरपीएम फ़ाइल है। मुझे उस आरपीएम में कुछ बदलाव करना है, इसे दोबारा बनाना और टेस्ट करना है। क्या कोई मेरी मदद कर सकता है?एक आरपीएम फ़ाइल को अनपॅक करना और इसे रीपैक करना
उत्तर
मुझे लगता है कि पैच नामक एक अवधारणा है। मैंने इस link का उपयोग करके पहले srpm को पैच करना शुरू कर दिया। लेकिन बुनियादी विचार यह है कि, srpm प्राप्त करें, srpm इंस्टॉल करें, उस क्षेत्र क्षेत्र निर्देशिका के अंदर अपना पैच बनाएं और spec फ़ाइल में पैच फ़ाइल% patch0 -p1 निर्दिष्ट करें। फिर आरपीएम बिल्ड करें। हैप्पी पैचिंग!
का सबसे अच्छा तरीका एक RPM को संशोधित करने के लिए निम्न चरणों का पालन करने के लिए है के लिए आप स्रोत नहीं है:
- अनपैक rpm2cpio कमांड के साथ एक निर्देशिका में आरपीएम
- अंदर आवश्यक परिवर्तन करें कि उपनिर्देशिका
- एक "डमी" spec फ़ाइल बनाएं और इसे बनाएं।
डमी कल्पना फ़ाइल इस प्रकार दिखाई देंगे कि:
Name: blah
Version: 1.0
Release: 1
Summary: blah
License: blah
Distribution: blah
Group: blah
Packager: me
BuildRoot: /path/to/dir/with/mods
%description
blah
%files
/path/to/dir/with/mods/*
(rpm -qpi rpm file
का उपयोग मूल्यों को प्राप्त करने के लिए) वास्तविक मूल्य के साथ यहाँ में हर "blah" बदलें। BuildRoot को उस निर्देशिका में बदलें जिसे आपने संशोधित आरपीएम अनचाहे किया है। फिर rpmbuild -bb dummy.spec
चलाएं।
चूंकि कोई प्रीपे/सेटअप/बिल्ड/स्थापित चरणों को स्थापित नहीं किया गया है, तो यह केवल बिल्ड्रूट में क्या होगा और आरपीएम बनायेगा।
यदि आरपीएम पैकेज में स्क्रिप्ट फाइलें हैं, तो आपको उन्हें इस डमी स्पेक फ़ाइल में भी रखना होगा। यह देखने के लिए कि क्या पैकेज में कोई स्क्रिप्ट है, चलाएं: rpm -qp --scripts rpm file
। निर्भरता, prereqs, आदि के लिए एक ही बात है
अन्य विवरण हो सकते हैं जो मुझे याद आ रही है, लेकिन यह आपको शुरू करने के लिए पर्याप्त होना चाहिए।
अद्यतन: क्या इसके लायक है के लिए, वहाँ भी http://rpmrebuild.sourceforge.net/
- 1. आरपीएम को एक ओएस से दूसरे में कॉपी करना
- 2. आरपीएम निर्भरताओं में विकल्प निर्दिष्ट करना
- 3. आईफोन - एक वीडियो फ़ाइल से ऑडियो अलग करना और इसे एक अलग फ़ाइल में सहेजना
- 4. स्ट्रीम से ज़िप फ़ाइल बनाना और इसे डाउनलोड करना
- 5. CentOS 5.5 - आरपीएम कल्पना फ़ाइल
- 6. एक टीएसवी फ़ाइल को पढ़ने और पार्स करना, फिर इसे CSV (* कुशलता से *)
- 7. log4net का उपयोग करना और इसे कार्यान्वित करना और elmah के साथ उपयोग करना?
- 8. रूबी - एक पाठ फ़ाइल को पार्स करना
- 9. एक जार फ़ाइल को संशोधित करना
- 10. एक ग्रहण फ़ाइल को एक चेकस्टाइल फ़ाइल में परिवर्तित करना
- 11. एक .jar फ़ाइल के अंदर एक फ़ाइल को एक्सेस करना
- 12. आरपीएम अपग्रेड आरपीएम
- 13. System.IO.File.Create फ़ाइल को लॉक करना
- 14. डिलिमिटर पर एक फ़ाइल को विभाजित करना
- 15. लुआ में सी ++ विधि को ओवरराइड करना और इसे सी ++
- 16. अनसोर्ट: क्रमपरिवर्तन को याद रखना और इसे पूर्ववत करना
- 17. कनवर्ट करना .mov फ़ाइल को .h264 फ़ाइल
- 18. सी ++ से सी # में एक char * प्राप्त करना, और इसे फिर से पास करना
- 19. वेटपिड अवरुद्ध करना जब इसे
- 20. पर्ल मॉड्यूल स्थापित करना: सीपीएन शैल बनाम आरपीएम/डेब
- 21. PHP फ़ाइल को एक फ़ाइल में पास करना?
- 22. एक आरपीएम को प्रोग्रामिंग रूप से एक spec चरण
- 23. एक तत्व को प्रतिस्थापित करना और jQuery
- 24. एक जेएआर फ़ाइल को एक आरपीएम के रूप में पैकेजिंग ठीक से
- 25. एक निजी संग्रह को साफ़ करना या इसे शून्य पर सेट करना?
- 26. ईमेल पर एक टेक्स्ट फ़ाइल संलग्न करना
- 27. एक फ़ाइल को एक क्लोब में लोड करना
- 28. एक पॉइंटर को मुक्त करने के लिए एक फ़ंक्शन लिखना और इसे असाइन करना NULL
- 29. आरपीएम डेस्कटॉप
- 30. एक सेटर विधि को ओवरराइड करना, और
मुख्य समस्या मैं का सामना करना पड़ रहा है मैं एक स्रोत आरपीएम की जरूरत नहीं है है। मेरे पास आरपीएम बिल्ड है। – Monojeet
@Monojeet, फिर स्रोत आरपीएम पता लगाएं? यह केवल तर्कसंगत है कि क्यों srpm है क्योंकि पैचिंग करते समय, हमें * स्रोत * आरपीएम की आवश्यकता होगी, न कि निर्मित आरपीएम। – Jasonw
तो एसआरपीएम के बिना आरपीएम को सही तरीके से संपादित करने का कोई तरीका नहीं है? – Monojeet