पैकेज एक अलग विस्तार और एक निर्दिष्ट फ़ाइल पदानुक्रम के साथ सिर्फ .xar अभिलेखागार हैं। दुर्भाग्य से, उस फ़ाइल पदानुक्रम का एक हिस्सा वास्तविक किस्तों का एक cpio.gz संग्रह है, और आमतौर पर वह है जिसे आप संपादित करना चाहते हैं। और एक बॉम फाइल भी है जिसमें उस cpio आर्काइव के अंदर मौजूद फाइलों की जानकारी और एक पैकेजइन्फो फाइल जिसमें सारांश जानकारी शामिल है।
यदि आपको वास्तव में जानकारी फ़ाइलों में से एक को संपादित करने की आवश्यकता है, तो यह आसान है:
mkdir Foo
cd Foo
xar -xf ../Foo.pkg
# edit stuff
xar -cf ../Foo-new.pkg *
लेकिन अगर आपको इंस्टॉल करने योग्य फ़ाइलों को संपादित करने की आवश्यकता है:
mkdir Foo
cd Foo
xar -xf ../Foo.pkg
cd foo.pkg
cat Payload | gunzip -dc |cpio -i
# edit Foo.app/*
rm Payload
find ./Foo.app | cpio -o | gzip -c > Payload
mkbom Foo.app Bom # or edit Bom
# edit PackageInfo
rm -rf Foo.app
cd ..
xar -cf ../Foo-new.pkg
मेरा मानना है कि आप अधिकांश लिनक्स डिस्ट्रोस के लिए mkbom (और lsbom) प्राप्त कर सकते हैं। (यदि आप डिट्टो प्राप्त कर सकते हैं, तो इससे चीजें और भी आसान हो जाती हैं, लेकिन मुझे यकीन नहीं है कि यह सर्वव्यापी रूप से उपलब्ध है।)