Come posso risolvere un cattivo pacchetto commerciale di Deb?


Risposte:


3

Sto rispondendo a questa domanda perché altri potrebbero trovare utile questa informazione. Questo Q & amp; A è stato ispirato a un altro: Come installare Citrix ICA Client (Receiver) 13 su Debian 64-bit Linux?

  1. Creare una directory temporanea e copiare il file .deb file ad esso.
  2. Estrarre il .deb file: ar vx archive.deb
  3. Appariranno tre file:
    • debian-binary: Non toccare
    • control.tar.gz: Config e script da installare e disinstallare
      • Questo file potrebbe avere un'estensione diversa, a seconda del formato di compressione utilizzato.
    • data.tar.gz: File da installare
      • Questo file potrebbe avere un'estensione diversa, a seconda del formato di compressione utilizzato.

Tutti e due *.tar.gz i file possono avere estensioni diverse, a seconda del formato di compressione utilizzato. Il .deb il formato supporta alcuni diversi. Anche entrambi *.tar.gz i file sono tarbombs , quindi tutti i file esploderanno sullo stesso percorso. Meglio creare una directory temporanea, copiare, quindi estrarre.

File control.tar.gz ha due file buoni per l'hacking:

  • control: Contiene l'elenco di dipendenze del pacchetto. È possibile aggiungere / rimuovere dipendenze.
  • postinst: Contiene lo script di post-installazione. È possibile aggiungere / rimuovere comandi.

Ricreare il *.tar.gz file come: tar -czvf control.tar.gz * o ( data.tar.gz )

Infine, crea un nuovo archivio. L'ordine è molto importante qui: ar rv my_new_package.deb debian-binary control.tar.gz data.tar.gz

Puoi provare il tuo nuovo pacchetto con questi comandi:

  • Disinstallare il pacchetto esistente: apt-get remove $package_name
    • ... dove $package_name è il nome del tuo pacchetto, ad es. icaclient
  • Installa il nuovo pacchetto: dpkg --install my_new_package.deb

Rif: http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/


1
Solo per aggiungere alcune informazioni extra, nota che il formato deb è non in realtà identico al ar formato. Se impacchettate manualmente i deb in quel modo, dpkg di solito andrà bene con esso, ma alcuni altri strumenti importanti come apt-ftparchive non lo farò. Dove disponibile, starai meglio con il disimballaggio dpkg-deb -R mypkg.deb tempdir e ri-imballare con dpkg-deb -b tempdir.
the paul
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.