2013-01-24 50 views
19

मैं आरपीएम-अपग्रेड कमांड के साथ खेल रहा हूं और देखा है कि आरपीएम में संशोधित कॉन्फ़िगरेशन फ़ाइलों को संभालने के विभिन्न तरीके हैं, इसलिए यह अपग्रेड के दौरान खो नहीं जाता है। जो मैं समझता हूं, अगर एक कॉन्फ़िगरेशन फ़ाइल संशोधित की गई थी और पैकेज को rpm -U के साथ अपग्रेड किया गया है, तो आरपीएम मूल गुण फ़ाइल को {file} .rpmsave के रूप में नामित करेगा और मूल फ़ाइल नाम {file} के साथ नई कॉन्फ़िगरेशन फ़ाइल स्थापित करेगा।कॉन्फ़िगरेशन फ़ाइलों के आरपीएम अपग्रेड हैंडलिंग

हालांकि, जब मैं अपने द्वारा बनाए गए पैकेज के साथ rpm -U चलाने का प्रयास करता हूं, तो मैं वास्तव में जो देखता हूं वह मूल कॉन्फ़िगरेशन फ़ाइल हटा दी जाती है और नई कॉन्फ़िगरेशन फ़ाइल का नाम बदलकर {file} .rpmsave कर दिया जाता है। क्या यह इरादा व्यवहार है? मेरी इंस्टॉल स्क्रिप्ट में मैं विन्यास फाइल में "sed" के साथ कुछ पाठ भी संशोधित करता हूं। क्या यह अपग्रेड के दौरान आरपीएम हैंडल कॉन्फ़िगरेशन फ़ाइल के तरीके से हस्तक्षेप कर सकता है?

+0

आपने sed आदेश के लिए क्या किया? Rpmnew फ़ाइल को संशोधित करें? – GrkEngineer

उत्तर

20

यह इच्छित व्यवहार है। अगर आप कॉन्फ़िगरेशन फ़ाइल को ओवरराइट नहीं करना चाहते हैं (और .rpmsave में ले जाया गया है), तो का उपयोग %config के बजाय आरपीएम। एसपीसी फ़ाइल में करें, और फ़ाइल को प्रतिस्थापित नहीं किया जाएगा। इसके बजाय, आरपीएम पैकेज से नई फाइल .rpmnew के रूप में बनाई जाएगी, और एक अकेला छोड़ दिया जाएगा।

+0

क्या मूल फ़ाइल को बनाए रखने का कोई तरीका है या क्या मुझे% फ़ाइल इंस्टॉल में मूल फ़ाइल नाम पर .rpmnew फ़ाइल का नाम बदलना होगा? – user459811

+0

क्षमा करें अगर मैं स्पष्ट नहीं था; मूल फ़ाइल रहता है (प्रतिस्थापित नहीं किया गया है), और आरपीएम से "नई" कॉन्फ़िगरेशन फ़ाइल .rpmnew के रूप में बन जाती है। –