Como corrijo um pacote comercial deb mal?

2

O pacote Citrix ICA Client (Receiver) 13 .deb tem alguns problemas conhecidos. Como faço alterações no pacote? Eu preciso remover algumas dependências e alterar o script de instalação.

Ref: Como instalo o Citrix ICA Client (Receiver) 13 no Linux de 64 bits do Debian?

    
por kevinarpe 09.02.2014 / 15:02

1 resposta

3

Estou respondendo a essa pergunta porque outros podem achar essa informação útil. Este Q & A foi inspirado em outro: Como eu instalo o Citrix ICA Client (Receiver) 13 no Linux de 64 bits do Debian?

  1. Crie um diretório temporário e copie o arquivo .deb para ele.
  2. Extraia o arquivo .deb : ar vx archive.deb
  3. Três arquivos aparecerão:
    • debian-binary : não toque em
    • control.tar.gz : configuração e scripts para instalar e desinstalar
      • Esse arquivo pode ter uma extensão diferente, dependendo do formato de compactação usado.
    • data.tar.gz : Arquivos a serem instalados
      • Esse arquivo pode ter uma extensão diferente, dependendo do formato de compactação usado.

Os dois arquivos *.tar.gz podem ter extensões diferentes, dependendo do formato de compactação usado. O formato .deb suporta alguns diferentes. Além disso, os dois arquivos *.tar.gz são tarbombs , portanto todos os arquivos explodirão no mesmo caminho. É melhor criar um diretório temporário, copiar e extrair.

O arquivo control.tar.gz tem dois arquivos bons para invasão:

  • control : contém a lista de dependências do pacote. Você pode adicionar / remover dependências.
  • postinst : contém o script de pós-instalação. Você pode adicionar / remover comandos.

Recrie os arquivos *.tar.gz como: tar -czvf control.tar.gz * ou ( data.tar.gz )

Por fim, crie um novo arquivo. O pedido é muito importante aqui: ar rv my_new_package.deb debian-binary control.tar.gz data.tar.gz

Você pode testar seu novo pacote com estes comandos:

  • Desinstalar o pacote existente: apt-get remove $package_name
    • ... onde $package_name é o nome do seu pacote, por exemplo, icaclient
  • Instale o novo pacote: dpkg --install my_new_package.deb

Ref: link

    
por 09.02.2014 / 15:17