linux - Files installed from debian package with dpkg do not belong to root -


मैंने इस आदेश के साथ एक बाइनरी पैकेज बनाया:

  dpkg-deb --build - Z9 -Zlzma $ (DEB_SRC_DIR) $ (DEB_DEST_DIR)  

और इस कमांड के साथ अपने उबुंटू 12.04 पर इसे स्थापित करें:

  sudo dpkg -i / path / संकुल की सामग्री मुझे लगता है कि अप्रासंगिक है।  

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

मैं इसे कैसे ठीक कर सकता हूं?

dpkg-deb कमांड के साथ fakeroot :

  `fakeroot dpkg-deb ...`  

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

मुझे यह कहते हैं, कि जो भी आप कर रहे हैं वह द्विआधारी पैकेज बनाने का सबसे अच्छा तरीका नहीं है (इसके बहुत दूर)।

इसके बजाय, एक dh_make के साथ डेबियन / निर्देशिका ( dh-make पैकेज से), और तदनुसार नियंत्रण फ़ाइल और चैंज को संपादित करें। आपको एक फ़ाइल debian / install की ज़रूरत होती है जो सूची करता है कि आप कौन सी फ़ाइलें स्थापित कर रहे हैं और उन्हें कहां जाना चाहिए। नेट पर विभिन्न मार्गदर्शिकाएं हैं (और स्टैक ओवरफ़्लो) जो इस प्रक्रिया को समझाती हैं। उदाहरण के लिए, Debian New Maintainers 'मार्गदर्शिका को देखें।

आप वास्तविक, मानक-अनुकूल डेबियन पैकेज बनाने के लिए तब dpkg-buildpackage का उपयोग कर सकते हैं आपकी फ़ाइलों को एक प्रतिलिपि प्रस्तुत करने योग्य तरीके से।

डीपीकेजी-डेब मौजूदा deb फाइलों में हेर-फेर करने के लिए एक निम्न-स्तरीय उपकरण है; इसका मतलब पैकेज निर्माण के लिए नहीं किया जाता है।


Comments

Popular posts from this blog

import - Python ImportError: No module named wmi -

Editing Python Class in Shell and SQLAlchemy -

c# - MySQL Parameterized Select Query joining tables issue -