você está aqui: Home
→
Arquivo de Mensagens
Colaboração: Leandro Augusto Fogolin Pereira
Data de Publicação: 09 de Dezembro de 2005
Em um pacote Debian, as informações de dependência, descrições, versões, dentre outras coisas, ficam no arquivo "control", dentro do arquivo .deb -- que nada mais é do que um arquivo "ar" que contém dois arquivos, o "control.tar.gz" e o "data.tar.gz", que é o pacote em si.
Se precisar editar o control de um pacote Debian, pode usar o seguinte shell script. Testei em apenas um pacote (o amule, já que na época que o escrevi, estava com uns bugs de empacotamento no Ubuntu), para corrigir um problema de dependência.
Seu uso é apenas recomendado em casos de "emergência"; por exemplo, quando você possuir a certeza de que uma certa dependência está com o nome errado mas está instalada, e seu conteúdo for o correto. O uso indiscriminado de um pacote instalado com um script alterado pode causar problemas de consistência no sistema de gerenciamento de pacotes...
#!/bin/bash CURDIR=$( pwd ) TMPDIR=$( mktemp -d ) TMPLST=$( mktemp ) DEB="$CURDIR/$1" cd $TMPDIR ar -x "$DEB" control.tar.gz tar -zxvf control.tar.gz | grep -v "./$" > $TMPLST rm -f control.tar.gz cp control control.bak editor control ( diff control control.bak > /dev/null ) || ( echo "Found difference -- updating control.tar.gz in $DEB." tar czf control.tar.gz $( cat $TMPLST ) ar -r "$DEB" control.tar.gz echo "Done. =)" ) rm -rf $TMPDIR $TMPLIST cd $CURDIR
É só salvar por exemplo, em um arquivo chamado editcontrol.sh e chamá-lo com o nome do pacote como primeiro parâmetro.