Yanıtlar:
Şuna bir göz atın: http://ubuntuforums.org/showthread.php?t=636724 Sadece iş parçacığının silinmesi durumunda, kodun bir kopyasını da burada gönderirim:
DEBFILE="$1"
TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1
OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb
if [[ -e "$OUTPUT" ]]; then
echo "$OUTPUT exists."
rm -r "$TMPDIR"
exit 1
fi
dpkg-deb -x "$DEBFILE" "$TMPDIR"
dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN
if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then
echo DEBIAN/control not found.
rm -r "$TMPDIR"
exit 1
fi
CONTROL="$TMPDIR"/DEBIAN/control
MOD=`stat -c "%y" "$CONTROL"`
vi "$CONTROL"
if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then
echo Not modfied.
else
echo Building new deb...
dpkg -b "$TMPDIR" "$OUTPUT"
fi
rm -r "$TMPDIR"
vi
İstediğiniz düzenleyicide değiştirin . Bir kabuk betiği (yani debcontrol.sh
) olarak kaydedin , çalıştırılabilir ( chmod +x
) yapın ve deb'i ilk parametre ( ./debcontrol.sh xxxxx.deb
) olarak kullanın
Ubuntu forumlarındaki betiğin çalışması için birkaç değişiklik yapılması gerekiyor. Diğer gönderiye yaptığım düzenleme onaylanmadığından, güncellenmiş sürümüm burada.
#!/bin/bash
DEBFILE="$1"
TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1
OUTPUT=`basename "$DEBFILE" .deb`.modified.deb
if [[ -e "$OUTPUT" ]]; then
echo "$OUTPUT exists."
rm -r "$TMPDIR"
exit 1
fi
dpkg-deb -x "$DEBFILE" "$TMPDIR"
dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN
if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then
echo DEBIAN/control not found.
rm -r "$TMPDIR"
exit 1
fi
CONTROL="$TMPDIR"/DEBIAN/control
MOD=`stat -c "%y" "$CONTROL"`
sensible-editor "$CONTROL"
if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then
echo Not modified.
else
echo Building new deb...
dpkg -b "$TMPDIR" "$OUTPUT"
fi
rm -r "$TMPDIR"
Bir kabuk betiği olarak kaydedin, çalıştırılabilir ( chmod +x videbcontrol
) yapın ve şöyle çalıştırın:
fakeroot videbcontrol package.deb
Kullanımı önemlidir fakeroot
, aksi takdirde dosya sahipliği geçerli kullanıcıya sıfırlanır.