Fakeroot
Fakeroot उपयोगिता, या नए उपयोगिता fakeroot-एनजी (एक ही उद्देश्य, विभिन्न कार्यान्वयन तकनीक) एक कार्यक्रम और कार्यक्रम का दिखावा है कि यह रूट के रूप में चल रहा है चलाता है और यह है कि प्रणाली इस तरह के कॉल के रूप में chown
सफल रहा। केवल कार्यक्रम का मानना है कि ये कॉल सफल रहे, कुछ भी वास्तव में फाइलसिस्टम में परिलक्षित नहीं होता (यह तब से नहीं हो सकता जब fakeroot
तक कोई अतिरिक्त विशेषाधिकार न हो )। हालाँकि, यदि प्रोग्राम किसी फ़ाइल का स्वामित्व बदलता है और फिर उस फ़ाइल के स्वामित्व के आधार पर कुछ कार्रवाई करता है, तो इससे प्रोग्राम का व्यवहार बदल सकता है।
फ़ेकरूट पर्यावरण से उपयोगी कार्य प्राप्त करने का एक विशिष्ट तरीका है, जहाँ निम्न प्रकार होता है:
- कुछ फाइलें बनाएँ, उन्हें इधर-उधर करें, उनका स्वामित्व और मोड बदलें, आदि।
- इन फ़ाइलों का एक संग्रह बनाएँ।
उदाहरण:
fakeroot sh -c '
chown root:root usr/bin/foo
tar cf foo.tar usr
'
आपको एकल आह्वान का उपयोग करने की आवश्यकता है fakeroot
, क्योंकि मंगलाचरण के बीच कोई स्मृति नहीं है।
लिनक्स नाम स्थान
पूर्णता के लिए, मैं बताता हूं कि यदि आपके पास लिनक्स कर्नेल ,3.8 है, तो नाम स्थान एक दिखावा-मूल वातावरण बनाने का एक और तरीका है। उपयोगकर्ताभूमि समर्थन अभी तक काफी नहीं है इसलिए मैं अधिक विस्तार में नहीं जाऊंगा।
संग्रह माउंट करें
आपकी समस्या को हल करने का एक अलग तरीका संग्रह को एक निर्देशिका के रूप में माउंट करना है। आप उपयोग कर सकते हैं archivemount है, जो के माध्यम से कई संग्रह स्वरूपों को संशोधित करने के लिए सक्षम है libarchive संकुचित tar भी शामिल है।
mkdir mnt
archivemount foo.tar.xz mnt
chown root:root mnt/usr/bin/foo
fusermount -u mnt
tar --owner=root --group=root cfpJ files.tar.xz files/
मुझे त्रुटि देता हैtar: You must specify one of the
-एडीकेट्रक्स 'या--test-label' options Try
टारtar --usage' for more information.