Perintah utama untuk memanipulasi paket deb adalah dpkg-deb.
Untuk membongkar paket, buat direktori kosong dan pindah ke sana, kemudian jalankan dpkg-debuntuk mengekstrak informasi kontrol dan file paket. Gunakan dpkg-deb -buntuk membangun kembali paket.
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
Berhati-hatilah karena kecuali skrip Anda dijalankan sebagai root, izin dan kepemilikan file akan rusak pada tahap ekstraksi. Salah satu cara untuk menghindari ini adalah dengan menjalankan skrip Anda di bawah fakeroot. Perhatikan bahwa Anda perlu menjalankan seluruh urutan di bawah fakeroot, tidak masing dpkg-deb- masing secara individual, karena fakerootproses itulah yang membuat memori izin file yang tidak dapat dibuat seperti mereka.
fakeroot sh -c '
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
'
Daripada mengacaukan izin, Anda dapat menjaga arsip data tetap utuh dan hanya memodifikasi arsip kontrol. dpkg-debtidak menyediakan cara untuk melakukan itu. Untungnya, paket deb dalam format standar: mereka ararsip. Jadi, Anda dapat menggunakan aruntuk mengekstrak arsip kontrol, memodifikasi file-nya, dan menggunakan arlagi untuk mengganti arsip kontrol dengan versi baru.
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
Anda harus menambahkan entri changelog dan mengubah nomor versi jika Anda memodifikasi sesuatu di dalam paket. Infrastruktur untuk memanipulasi paket Debian mengasumsikan bahwa jika dua paket memiliki nama dan versi yang sama, mereka paket yang sama. Tambahkan akhiran ke bagian debian_revision di akhir nomor versi; untuk alasan penyortiran, akhiran harus dimulai dengan ~, misalnya 1.2.3-4.1menjadi 1.2.3-4.1~johnjumper1.
Alih-alih menggunakan alat shell, Anda dapat menggunakan Emacs. The dpkg-dev-elpaket (yang merupakan hulu sendiri karena ini adalah paket Debian asli) berisi mode untuk mengedit .debfile dan mengedit changelogs Debian. Emacs dapat digunakan secara interaktif atau ditulis.
-esaklar fpm untuk mengubah file control:fpm -e -s deb -t deb ../old.deb. Ini akan membuka file kontrol di editor Anda.