Deb paketlerini işlemek için birincil komut şudur dpkg-deb.
Paketi açmak için boş bir dizin oluşturun ve ona geçin, ardından dpkg-debkontrol bilgilerini ve paket dosyalarını çıkartmak için çalıştırın . dpkg-deb -bPaketi yeniden kurmak için kullanın .
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
Komut dosyanız kök olarak çalışmadığı sürece, dosyaların izin ve sahip olma işlemlerinin ayıklama aşamasında bozulmayacağını unutmayın. Bundan kaçınmanın bir yolu, betiğinizi altında çalıştırmaktır fakeroot. Tüm diziyi tek tek fakerootdeğil, altında dpkg-debtek tek çalıştırmanız gerektiğine dikkat edin , çünkü bu fakeroot, onlar gibi oluşturulamayan dosyaların izinlerinin hafızasını tutan işlemdir.
fakeroot sh -c '
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
'
İzinlerle uğraşmak yerine, veri arşivini bozulmadan tutabilir ve yalnızca kontrol arşivini değiştirebilirsiniz. dpkg-debbunu yapmanın bir yolunu sağlamıyor. Neyse ki, deb paketleri standart bir formatta: ararşivler. Böylece arkontrol arşivini çıkartmak, dosyalarını ardeğiştirmek ve kontrol arşivini yeni bir sürümle değiştirmek için tekrar kullanabilirsiniz .
mkdir tmp
cd tmp
ar p ../original.deb control.tar.gz | tar -xz
# edit postinst
cp ../original.deb ../fixed.deb
tar czf control.tar.gz *[!z]
ar r ../fixed.deb control.tar.gz
Sen gerektiğini bir ekleme changelog girişi ve değişim sürüm numarasını paketin bir şey değiştirirseniz. Debian paketlerini manipüle etme altyapısı, iki paket aynı isim ve sürüme sahipse aynı paket olduklarını varsayar. Sürüm numarasının sonundaki debian_revision bölümüne bir sonek ekleyin ; Sebepleri ile başlamalıdır eki sıralamak için ~, örneğin 1.2.3-4.1olur 1.2.3-4.1~johnjumper1.
Shell araçlarını kullanmak yerine Emacs kullanabilirsiniz. dpkg-dev-elPaket (bu bir yerli Debian paketi gibi kendi memba olan) modları düzenlemek için içerdiği .debdosya ve Debian Değişiklikleri gösteren düzenleyin. Emacs etkileşimli olarak kullanılabilir veya kodlanabilir.
-eait anahtarı fpm kontrol dosyasını değiştirmek için:fpm -e -s deb -t deb ../old.deb. Bu, kontrol dosyasını editörünüzde açacaktır.