Các gói chỉ là các kho lưu trữ .xar với một phần mở rộng khác và một hệ thống phân cấp tệp được chỉ định. Thật không may, một phần của hệ thống phân cấp tệp đó là kho lưu trữ cpio.gz của các tệp có thể cài đặt thực tế và thường đó là những gì bạn muốn chỉnh sửa. Và cũng có một tệp Bom bao gồm thông tin về các tệp bên trong kho lưu trữ cpio đó và tệp PackageInfo bao gồm thông tin tóm tắt.
Nếu bạn thực sự chỉ cần chỉnh sửa một trong các tệp thông tin, điều đó thật đơn giản:
mkdir Foo
cd Foo
xar -xf ../Foo.pkg
# edit stuff
xar -cf ../Foo-new.pkg *
Nhưng nếu bạn cần chỉnh sửa các tệp có thể cài đặt:
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
Tôi tin rằng bạn có thể tải mkbom (và lsbom) cho hầu hết các bản phân phối linux. (Nếu bạn có thể nhận được ditto, điều đó sẽ khiến mọi thứ trở nên dễ dàng hơn, nhưng tôi không chắc liệu nó có gần như phổ biến hay không.)